11library(testthat )
22library(parsnip )
3-
3+ library( recipes )
44
55test_that(' primary arguments' , {
66 basic <- logistic_reg()
@@ -23,7 +23,7 @@ test_that('primary arguments', {
2323 x = as.matrix(x ),
2424 y = y ,
2525 family = " binomial"
26- )
26+ )
2727 )
2828 )
2929 expect_equal(basic_stan $ method $ fit ,
@@ -62,7 +62,7 @@ test_that('primary arguments', {
6262 )
6363 )
6464 )
65-
65+
6666 mixture_v <- logistic_reg(mixture = varying())
6767 mixture_v_glmnet <- finalize(mixture_v , engine = " glmnet" )
6868 expect_equal(mixture_v_glmnet $ method $ fit ,
@@ -116,7 +116,7 @@ test_that('engine arguments', {
116116 )
117117 )
118118 )
119-
119+
120120})
121121
122122
@@ -155,4 +155,254 @@ test_that('bad input', {
155155 expect_warning(finalize(logistic_reg(engine_args = list (formula = y ~ x )), engine = " glm" ))
156156})
157157
158+ # ##################################################################
159+
160+ data(" lending_club" )
161+ lending_club <- head(lending_club , 200 )
162+ lc_form <- as.formula(Class ~ log(funded_amnt ) + int_rate )
163+ num_pred <- c(" funded_amnt" , " annual_inc" , " num_il_tl" )
164+ lc_bad_form <- as.formula(funded_amnt ~ term )
165+ lc_basic <- logistic_reg()
166+ ctrl <- list (verbosity = 1 , catch = FALSE )
167+ caught_ctrl <- list (verbosity = 1 , catch = TRUE )
168+ quiet_ctrl <- list (verbosity = 0 , catch = TRUE )
169+ lc_rec <- recipe(Class ~ funded_amnt + annual_inc + num_il_tl ,
170+ data = lending_club )
171+ bad_rec <-
172+ recipe(total_bal_il ~ funded_amnt + annual_inc + num_il_tl ,
173+ data = lending_club )
174+
175+
176+ test_that(' glm execution' , {
177+ skip_on_cran()
178+
179+ expect_error(
180+ res <- fit(
181+ lc_basic ,
182+ engine = " glm" ,
183+ .control = ctrl ,
184+ lc_form ,
185+ data = lending_club
186+ ),
187+ regexp = NA
188+ )
189+ expect_error(
190+ res <- fit(
191+ lc_basic ,
192+ engine = " glm" ,
193+ .control = ctrl ,
194+ x = lending_club [, num_pred ],
195+ y = lending_club $ Class
196+ ),
197+ regexp = NA
198+ )
199+ expect_error(
200+ res <- fit(
201+ lc_basic ,
202+ engine = " glm" ,
203+ .control = ctrl ,
204+ lc_rec ,
205+ data = lending_club
206+ ),
207+ regexp = NA
208+ )
209+ expect_error(
210+ res <- fit(
211+ lc_basic ,
212+ engine = " glm" ,
213+ .control = ctrl ,
214+ lc_bad_form ,
215+ data = lending_club
216+ )
217+ )
218+
219+ glm_form_catch <- fit(
220+ lc_basic ,
221+ engine = " glm" ,
222+ .control = caught_ctrl ,
223+ lc_bad_form ,
224+ data = lending_club
225+ )
226+ expect_true(inherits(glm_form_catch , " try-error" ))
227+
228+ # fails
229+ # glm_xy_catch <- fit(
230+ # lc_basic,
231+ # engine = "glm",
232+ # .control = caught_ctrl,
233+ # x = lending_club[, num_pred],
234+ # y = lending_club$total_bal_il
235+ # )
236+ # expect_true(inherits(glm_xy_catch, "try-error"))
237+
238+ glm_rec_catch <- fit(
239+ lc_basic ,
240+ engine = " glm" ,
241+ .control = caught_ctrl ,
242+ bad_rec ,
243+ data = lending_club
244+ )
245+ expect_true(inherits(glm_rec_catch , " try-error" ))
246+ })
247+
248+ test_that(' glmnet execution' , {
249+ skip_on_cran()
250+
251+ expect_error(
252+ fit(
253+ lc_basic ,
254+ engine = " glmnet" ,
255+ .control = ctrl ,
256+ lc_form ,
257+ data = lending_club
258+ ),
259+ regexp = NA
260+ )
261+
262+ # expect_error(
263+ # fit(
264+ # lc_basic,
265+ # engine = "glmnet",
266+ # .control = ctrl,
267+ # x = lending_club[, num_pred],
268+ # y = lending_club$Class
269+ # ),
270+ # regexp = NA
271+ # )
272+
273+ # expect_error(
274+ # fit(
275+ # lc_basic,
276+ # engine = "glmnet",
277+ # .control = ctrl,
278+ # lc_rec,
279+ # data = lending_club
280+ # ),
281+ # regexp = NA
282+ # )
283+
284+ expect_error(
285+ fit(
286+ lc_basic ,
287+ engine = " glm" ,
288+ .control = ctrl ,
289+ lc_bad_form ,
290+ data = lending_club
291+ )
292+ )
293+
294+ glmnet_form_catch <- fit(
295+ lc_basic ,
296+ engine = " glmnet" ,
297+ .control = caught_ctrl ,
298+ lc_bad_form ,
299+ data = lending_club
300+ )
301+ expect_true(inherits(glmnet_form_catch , " try-error" ))
302+
303+ glmnet_xy_catch <- fit(
304+ lc_basic ,
305+ engine = " glmnet" ,
306+ .control = caught_ctrl ,
307+ x = lending_club [, num_pred ],
308+ y = lending_club $ total_bal_il
309+ )
310+ expect_true(inherits(glmnet_xy_catch , " try-error" ))
311+
312+ glmnet_rec_catch <- fit(
313+ lc_basic ,
314+ engine = " glmnet" ,
315+ .control = caught_ctrl ,
316+ bad_rec ,
317+ data = lending_club
318+ )
319+ expect_true(inherits(glmnet_rec_catch , " try-error" ))
320+ })
321+
322+
323+ test_that(' stan_glm execution' , {
324+ skip_on_cran()
325+ lc_basic_stan <- logistic_reg(engine_args = list (seed = 1333 ))
326+
327+ expect_error(
328+ res <- fit(
329+ lc_basic_stan ,
330+ engine = " stan_glm" ,
331+ .control = ctrl ,
332+ lc_form ,
333+ data = lending_club
334+ ),
335+ regexp = NA
336+ )
337+
338+ expect_error(
339+ res <- fit(
340+ lc_basic ,
341+ engine = " stan_glm" ,
342+ .control = ctrl ,
343+ x = lending_club [, num_pred ],
344+ y = lending_club $ Class
345+ ),
346+ regexp = NA
347+ )
348+
349+ expect_error(
350+ res <- fit(
351+ lc_basic ,
352+ engine = " stan_glm" ,
353+ .control = ctrl ,
354+ lc_rec ,
355+ data = lending_club
356+ ),
357+ regexp = NA
358+ )
359+
360+ expect_silent(
361+ res <- fit(
362+ lc_basic ,
363+ engine = " stan_glm" ,
364+ .control = quiet_ctrl ,
365+ lc_rec ,
366+ data = lending_club
367+ )
368+ )
369+
370+ expect_error(
371+ res <- fit(
372+ lc_basic ,
373+ engine = " stan_glm" ,
374+ .control = ctrl ,
375+ lc_bad_form ,
376+ data = lending_club
377+ )
378+ )
379+
380+ stan_form_catch <- fit(
381+ lc_basic ,
382+ engine = " stan_glm" ,
383+ .control = caught_ctrl ,
384+ lc_bad_form ,
385+ data = lending_club
386+ )
387+ expect_true(inherits(stan_form_catch , " try-error" ))
388+
389+ # fails
390+ # stan_xy_catch <- fit(
391+ # lc_basic,
392+ # engine = "stan_glm",
393+ # .control = caught_ctrl,
394+ # x = lending_club[, num_pred],
395+ # y = lending_club$total_bal_il
396+ # )
397+ # expect_true(inherits(stan_xy_catch, "try-error"))
398+
399+ stan_rec_catch <- fit(
400+ lc_basic ,
401+ engine = " stan_glm" ,
402+ .control = caught_ctrl ,
403+ bad_rec ,
404+ data = lending_club
405+ )
406+ expect_true(inherits(stan_rec_catch , " try-error" ))
407+ })
158408
0 commit comments