@@ -60,6 +60,7 @@ test_that("loo_compare throws appropriate warnings", {
6060
6161
6262comp_colnames <- c(
63+ " model" ,
6364 " elpd_diff" ,
6465 " se_diff" ,
6566 " p_worse" ,
@@ -77,19 +78,25 @@ test_that("loo_compare returns expected results (2 models)", {
7778 expect_s3_class(comp1 , " compare.loo" )
7879 expect_s3_class(comp1 , " data.frame" )
7980 expect_equal(colnames(comp1 ), comp_colnames )
80- expect_equal(rownames(comp1 ), c(" model1" , " model2" ))
81- expect_output(print(comp1 ), " elpd_diff" )
82- expect_equal(comp1 [1 : 2 , 1 ], c(0 , 0 ), ignore_attr = TRUE )
83- expect_equal(comp1 [1 : 2 , 2 ], c(0 , 0 ), ignore_attr = TRUE )
81+ expect_equal(comp1 $ model , c(" model1" , " model2" ))
82+ expect_equal(comp1 $ elpd_diff , c(0 , 0 ), ignore_attr = TRUE )
83+ expect_equal(comp1 $ se_diff , c(0 , 0 ), ignore_attr = TRUE )
84+ expect_equal(comp1 $ p_worse , c(NA_real_ , NA_real_ ), ignore_attr = TRUE )
85+ expect_snapshot_value(comp1 , style = " serialize" )
86+ expect_snapshot(print(comp1 ))
8487
8588 comp2 <- loo_compare(w1 , w2 )
8689 expect_s3_class(comp2 , " compare.loo" )
8790 expect_equal(colnames(comp2 ), comp_colnames )
88-
8991 expect_snapshot_value(comp2 , style = " serialize" )
92+ expect_snapshot(print(comp2 ))
9093
9194 # specifying objects via ... and via arg x gives equal results
9295 expect_equal(comp2 , loo_compare(x = list (w1 , w2 )))
96+
97+ # custom naming works
98+ comp3 <- loo_compare(x = list (" A" = w2 , " B" = w1 ))
99+ expect_equal(comp3 $ model , c(" B" , " A" ))
93100})
94101
95102
@@ -98,12 +105,12 @@ test_that("loo_compare returns expected result (3 models)", {
98105 comp1 <- loo_compare(w1 , w2 , w3 )
99106
100107 expect_equal(colnames(comp1 ), comp_colnames )
101- expect_equal(rownames( comp1 ) , c(" model1" , " model2" , " model3" ))
102- expect_equal(comp1 [ 1 , 1 ], 0 )
108+ expect_equal(comp1 $ model , c(" model1" , " model2" , " model3" ))
109+ expect_equal(comp1 $ p_worse , c( NA , 1 , 1 ) )
103110 expect_s3_class(comp1 , " compare.loo" )
104111 expect_s3_class(comp1 , " data.frame" )
105-
106112 expect_snapshot_value(comp1 , style = " serialize" )
113+ expect_snapshot(print(comp1 ))
107114
108115 # specifying objects via '...' gives equivalent results (equal
109116 # except rownames) to using 'x' argument
@@ -119,13 +126,11 @@ test_that("compare throws deprecation warnings", {
119126
120127test_that(" compare returns expected result (2 models)" , {
121128 expect_warning(comp1 <- loo :: compare(w1 , w1 ), " Deprecated" )
122- expect_snapshot(comp1 )
123129 expect_equal(comp1 [1 : 2 ], c(elpd_diff = 0 , se = 0 ))
124130
125131 expect_warning(comp2 <- loo :: compare(w1 , w2 ), " Deprecated" )
126- expect_snapshot(comp2 )
127- expect_named(comp2 , c(" elpd_diff" , " se" ))
128- expect_s3_class(comp2 , " compare.loo" )
132+ expect_equal(round(comp2 [1 : 2 ], 3 ), c(elpd_diff = - 4.057 , se = 0.088 ))
133+ expect_s3_class(comp2 , " old_compare.loo" )
129134
130135 # specifying objects via ... and via arg x gives equal results
131136 expect_warning(comp_via_list <- loo :: compare(x = list (w1 , w2 )), " Deprecated" )
0 commit comments