@@ -3,11 +3,21 @@ context("descriptor variables")
33library(parsnip )
44
55template <- function (col , pred , ob , lev , fact , dat , x , y ) {
6- list (.n_cols = col , .n_preds = pred , .n_obs = ob ,
7- .n_levs = lev , .n_facts = fact , .dat = dat , .x = x , .y = y )
6+ lst <- list (.n_cols = col , .n_preds = pred , .n_obs = ob ,
7+ .n_levs = lev , .n_facts = fact , .dat = dat ,
8+ .x = x , .y = y )
9+
10+ Filter(Negate(is.null ), lst )
811}
912
10- eval_descrs <- function (descrs ) {
13+ eval_descrs <- function (descrs , not = NULL ) {
14+
15+ if (! is.null(not )) {
16+ for (descr in not ) {
17+ descrs [[descr ]] <- NULL
18+ }
19+ }
20+
1121 lapply(descrs , do.call , list ())
1222}
1323
@@ -184,29 +194,33 @@ test_that("spark descriptor", {
184194 npk_descr <- copy_to(sc , npk [, 1 : 4 ], " npk_descr" , overwrite = TRUE )
185195 iris_descr <- copy_to(sc , iris , " iris_descr" , overwrite = TRUE )
186196
197+ # spark does not allow .x, .y, .dat
198+ template2 <- purrr :: partial(template , x = NULL , y = NULL , dat = NULL )
199+ eval_descrs2 <- purrr :: partial(eval_descrs , not = c(" .x" , " .y" , " .dat" ))
200+
187201 expect_equal(
188- template (4 , 5 , 150 , NA , 1 ),
189- get_descr_form(Sepal_Width ~ . , data = iris_descr )
202+ template2 (4 , 5 , 150 , NA , 1 ),
203+ eval_descrs2( get_descr_form(Sepal_Width ~ . , data = iris_descr ) )
190204 )
191205 expect_equal(
192- template (1 , 2 , 150 , NA , 1 ),
193- get_descr_form(Sepal_Width ~ Species , data = iris_descr )
206+ template2 (1 , 2 , 150 , NA , 1 ),
207+ eval_descrs2( get_descr_form(Sepal_Width ~ Species , data = iris_descr ) )
194208 )
195209 expect_equal(
196- template (1 , 1 , 150 , NA , 0 ),
197- get_descr_form(Sepal_Width ~ Sepal_Length , data = iris_descr )
210+ template2 (1 , 1 , 150 , NA , 0 ),
211+ eval_descrs2( get_descr_form(Sepal_Width ~ Sepal_Length , data = iris_descr ) )
198212 )
199213 expect_equivalent(
200- template (4 , 4 , 150 , species_tab , 0 ),
201- get_descr_form(Species ~ . , data = iris_descr )
214+ template2 (4 , 4 , 150 , species_tab , 0 ),
215+ eval_descrs2( get_descr_form(Species ~ . , data = iris_descr ) )
202216 )
203217 expect_equal(
204- template (1 , 1 , 150 , species_tab , 0 ),
205- get_descr_form(Species ~ Sepal_Length , data = iris_descr )
218+ template2 (1 , 1 , 150 , species_tab , 0 ),
219+ eval_descrs2( get_descr_form(Species ~ Sepal_Length , data = iris_descr ) )
206220 )
207221 expect_equivalent(
208- template (3 , 7 , 24 , rev(table(npk $ K , dnn = NULL )), 3 ),
209- get_descr_form(K ~ . , data = npk_descr )
222+ template2 (3 , 7 , 24 , rev(table(npk $ K , dnn = NULL )), 3 ),
223+ eval_descrs2( get_descr_form(K ~ . , data = npk_descr ) )
210224 )
211225
212226})
0 commit comments