@@ -23,9 +23,43 @@ test_that("AWOTE fy", {
2323})
2424
2525test_that(" AWOTE unsorted, issue #204" , {
26- ufys <- yr2fy(2014 : 2015 )
26+ ufys <- yr2fy(2015 : 2014 )
2727 # Reversing inputs same as referring outputs
2828 expect_equal(awote(fy.year = rev(ufys )),
2929 rev(awote(fy.year = ufys )))
30+
31+ udates <- paste0(2015 : 2014 , " -01-01" )
32+ expect_equal(awote(Date = rev(udates )),
33+ rev(awote(Date = udates )))
34+
35+ withr :: with_seed(602 , {
36+ library(data.table )
37+ # Create a combination of inputs, randomly order them
38+ # and ensure the collected inputs match the inputs alone
39+
40+ DT <- CJ(fy.year = yr2fy(2013 : 2015 ),
41+ isMale = c(NA , TRUE , FALSE ),
42+ isAdult = c(TRUE , FALSE ),
43+ isOrdinary = c(TRUE , FALSE ))
44+ DT [, awote_ordered : = awote(fy.year = fy.year ,
45+ isMale = isMale ,
46+ isAdult = isAdult ,
47+ isOrdinary = isOrdinary )]
48+ myorder <- sample(1 : nrow(DT ))
49+ DT2 <- DT [myorder ]
50+ DT2 [, this_awote : = awote(fy.year = fy.year ,
51+ isMale = isMale ,
52+ isAdult = isAdult ,
53+ isOrdinary = isOrdinary )]
54+ first_awote <- awote(fy.year = .subset2(DT2 , " fy.year" )[1 ],
55+ isMale = .subset2(DT2 , " isMale" )[1 ],
56+ isAdult = .subset2(DT2 , " isAdult" )[1 ],
57+ isOrdinary = .subset2(DT2 , " isOrdinary" )[1 ])
58+ expect_equal(first_awote , DT2 [[" this_awote" ]][1 ])
59+ expect_equal(.subset2(DT2 , " this_awote" ),
60+ .subset2(DT2 , " awote_ordered" ))
61+ })
62+
63+
3064})
3165
0 commit comments