@@ -1071,7 +1071,7 @@ test_that("join() and merge() on a DataFrame", {
10711071 expect_equal(names(joined2 ), c(" age" , " name" , " name" , " test" ))
10721072 expect_equal(count(joined2 ), 3 )
10731073
1074- joined3 <- join(df , df2 , df $ name == df2 $ name , " right_outer " )
1074+ joined3 <- join(df , df2 , df $ name == df2 $ name , " rightouter " )
10751075 expect_equal(names(joined3 ), c(" age" , " name" , " name" , " test" ))
10761076 expect_equal(count(joined3 ), 4 )
10771077 expect_true(is.na(collect(orderBy(joined3 , joined3 $ age ))$ age [2 ]))
@@ -1082,11 +1082,34 @@ test_that("join() and merge() on a DataFrame", {
10821082 expect_equal(count(joined4 ), 4 )
10831083 expect_equal(collect(orderBy(joined4 , joined4 $ name ))$ newAge [3 ], 24 )
10841084
1085+ joined5 <- join(df , df2 , df $ name == df2 $ name , " leftouter" )
1086+ expect_equal(names(joined5 ), c(" age" , " name" , " name" , " test" ))
1087+ expect_equal(count(joined5 ), 3 )
1088+ expect_true(is.na(collect(orderBy(joined5 , joined5 $ age ))$ age [1 ]))
1089+
1090+ joined6 <- join(df , df2 , df $ name == df2 $ name , " inner" )
1091+ expect_equal(names(joined6 ), c(" age" , " name" , " name" , " test" ))
1092+ expect_equal(count(joined6 ), 3 )
1093+
1094+ joined7 <- join(df , df2 , df $ name == df2 $ name , " leftsemi" )
1095+ expect_equal(names(joined7 ), c(" age" , " name" ))
1096+ expect_equal(count(joined7 ), 3 )
1097+
1098+ joined8 <- join(df , df2 , df $ name == df2 $ name , " left_outer" )
1099+ expect_equal(names(joined8 ), c(" age" , " name" , " name" , " test" ))
1100+ expect_equal(count(joined8 ), 3 )
1101+ expect_true(is.na(collect(orderBy(joined8 , joined8 $ age ))$ age [1 ]))
1102+
1103+ joined9 <- join(df , df2 , df $ name == df2 $ name , " right_outer" )
1104+ expect_equal(names(joined9 ), c(" age" , " name" , " name" , " test" ))
1105+ expect_equal(count(joined9 ), 4 )
1106+ expect_true(is.na(collect(orderBy(joined9 , joined9 $ age ))$ age [2 ]))
1107+
10851108 merged <- select(merge(df , df2 , df $ name == df2 $ name , " outer" ),
10861109 alias(df $ age + 5 , " newAge" ), df $ name , df2 $ test )
10871110 expect_equal(names(merged ), c(" newAge" , " name" , " test" ))
10881111 expect_equal(count(merged ), 4 )
1089- expect_equal(collect(orderBy(merged , joined4 $ name ))$ newAge [3 ], 24 )
1112+ expect_equal(collect(orderBy(merged , merged $ name ))$ newAge [3 ], 24 )
10901113})
10911114
10921115test_that(" toJSON() returns an RDD of the correct values" , {
@@ -1393,6 +1416,16 @@ test_that("freqItems() on a DataFrame", {
13931416 expect_identical(result [[2 ]], list (list (- 1 , - 99 )))
13941417})
13951418
1419+ test_that(" sampleBy() on a DataFrame" , {
1420+ l <- lapply(c(0 : 99 ), function (i ) { as.character(i %% 3 ) })
1421+ df <- createDataFrame(sqlContext , l , " key" )
1422+ fractions <- list (" 0" = 0.1 , " 1" = 0.2 )
1423+ sample <- sampleBy(df , " key" , fractions , 0 )
1424+ result <- collect(orderBy(count(groupBy(sample , " key" )), " key" ))
1425+ expect_identical(as.list(result [1 , ]), list (key = " 0" , count = 2 ))
1426+ expect_identical(as.list(result [2 , ]), list (key = " 1" , count = 10 ))
1427+ })
1428+
13961429test_that(" SQL error message is returned from JVM" , {
13971430 retError <- tryCatch(sql(sqlContext , " select * from blah" ), error = function (e ) e )
13981431 expect_equal(grepl(" Table Not Found: blah" , retError ), TRUE )
0 commit comments