@@ -18,7 +18,7 @@ test_that("generate_case_when_trees() works", {
1818 )
1919
2020 expect_identical(
21- generate_case_when_trees(parsedmodel ),
21+ generate_case_when_trees(parsedmodel , default = FALSE ),
2222 list (
2323 quote(case_when(disp > 100 ~ 14 + hp * 4 + drat * 2 ))
2424 )
@@ -30,7 +30,7 @@ test_that("generate_case_when_trees() works", {
3030 )
3131
3232 expect_identical(
33- generate_case_when_trees(parsedmodel ),
33+ generate_case_when_trees(parsedmodel , default = FALSE ),
3434 list (
3535 quote(case_when(ifelse(disp > 100 , 14 + hp * 4 + drat * 2 , 0 )))
3636 )
@@ -42,7 +42,7 @@ test_that("generate_case_when_trees() works", {
4242 )
4343
4444 expect_identical(
45- generate_case_when_trees(parsedmodel ),
45+ generate_case_when_trees(parsedmodel , default = FALSE ),
4646 list (
4747 quote(
4848 case_when(
@@ -63,7 +63,7 @@ test_that("generate_case_when_trees() works", {
6363 )
6464
6565 expect_identical(
66- generate_case_when_trees(parsedmodel ),
66+ generate_case_when_trees(parsedmodel , default = FALSE ),
6767 list (
6868 quote(
6969 case_when(
@@ -94,18 +94,18 @@ test_that("generate_case_when_tree() works", {
9494 nodes <- list (node )
9595
9696 expect_identical(
97- generate_case_when_tree(nodes , mode = " " ),
97+ generate_case_when_tree(nodes , mode = " " , default = FALSE ),
9898 quote(case_when(disp > 100 ~ 14 + hp * 4 + drat * 2 ))
9999 )
100100 expect_identical(
101- generate_case_when_tree(nodes , mode = " ifelse" ),
101+ generate_case_when_tree(nodes , mode = " ifelse" , default = FALSE ),
102102 quote(case_when(ifelse(disp > 100 , 14 + hp * 4 + drat * 2 , 0 )))
103103 )
104104
105105 nodes <- list (node , node )
106106
107107 expect_identical(
108- generate_case_when_tree(nodes , mode = " " ),
108+ generate_case_when_tree(nodes , mode = " " , default = FALSE ),
109109 quote(
110110 case_when(
111111 disp > 100 ~ 14 + hp * 4 + drat * 2 ,
@@ -114,14 +114,45 @@ test_that("generate_case_when_tree() works", {
114114 )
115115 )
116116 expect_identical(
117- generate_case_when_tree(nodes , mode = " ifelse" ),
117+ generate_case_when_tree(nodes , mode = " ifelse" , default = FALSE ),
118118 quote(
119119 case_when(
120120 ifelse(disp > 100 , 14 + hp * 4 + drat * 2 , 0 ),
121121 ifelse(disp > 100 , 14 + hp * 4 + drat * 2 , 0 )
122122 )
123123 )
124124 )
125+
126+ nodes <- list (
127+ list (
128+ prediction = 25 ,
129+ path = list (list (
130+ type = " conditional" ,
131+ col = " cyl" ,
132+ val = 4 ,
133+ op = " less-equal"
134+ ))
135+ ),
136+ list (
137+ prediction = 20 ,
138+ path = list (
139+ list (type = " conditional" , col = " cyl" , val = 6 , op = " less-equal" ),
140+ list (type = " conditional" , col = " cyl" , val = 4 , op = " more" )
141+ )
142+ ),
143+ list (
144+ prediction = 15 ,
145+ path = list (
146+ list (type = " conditional" , col = " cyl" , val = 6 , op = " more" ),
147+ list (type = " conditional" , col = " cyl" , val = 4 , op = " more" )
148+ )
149+ )
150+ )
151+
152+ expect_identical(
153+ generate_case_when_tree(nodes , mode = " " , default = TRUE ),
154+ quote(case_when(cyl < = 4 ~ 25 , cyl < = 6 & cyl > 4 ~ 20 , .default = 15 ))
155+ )
125156})
126157
127158test_that(" generate_tree_nodes() works" , {
0 commit comments