From 8bb23b6eae5e721b1ec45a40c71b06ec435576e9 Mon Sep 17 00:00:00 2001 From: Thibaut Jombart Date: Tue, 30 Jun 2020 10:42:52 +0200 Subject: [PATCH] now using default RNG; changes in objects inspected manually and seem okay --- .../basic-example-plot.svg | 32 +- tests/testthat/#test-project.R# | 300 ------------------ tests/testthat/rds/pred_1.rds | Bin 3725 -> 3700 bytes tests/testthat/rds/pred_4.rds | Bin 11563 -> 11422 bytes tests/testthat/rds/pred_5.rds | Bin 2218 -> 2254 bytes tests/testthat/rds/pred_8.rds | Bin 6409 -> 6852 bytes tests/testthat/test-accessors.R | 6 - tests/testthat/test-build_projections.R | 6 - tests/testthat/test-conversion.R | 6 - tests/testthat/test-cumulate.R | 6 - tests/testthat/test-merge_add_projections.R | 7 - tests/testthat/test-merge_projections.R | 7 - tests/testthat/test-plots.R | 10 - tests/testthat/test-print.R | 6 - tests/testthat/test-project.R | 10 - tests/testthat/test-subset.R | 6 - tests/testthat/test-summary.R | 10 - 17 files changed, 16 insertions(+), 396 deletions(-) delete mode 100644 tests/testthat/#test-project.R# diff --git a/tests/figs/test-project-function/basic-example-plot.svg b/tests/figs/test-project-function/basic-example-plot.svg index aa90f2d..bee5658 100644 --- a/tests/figs/test-project-function/basic-example-plot.svg +++ b/tests/figs/test-project-function/basic-example-plot.svg @@ -19,16 +19,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -36,13 +36,13 @@ 0 -100 -200 -300 +100 +200 +300 - - - + + + diff --git a/tests/testthat/#test-project.R# b/tests/testthat/#test-project.R# deleted file mode 100644 index 3b9d26c..0000000 --- a/tests/testthat/#test-project.R# +++ /dev/null @@ -1,300 +0,0 @@ -context("Test project function") - -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - - - - - -test_that("Projections can be performed for a single day", { - i <- incidence::incidence(as.Date('2020-01-23')) - si <- c(0.2, 0.5, 0.2, 0.1) - R0 <- 2 - - p <- project(x = i, - si = si, - R = R0, - n_sim = 2, # doesn't work with 1 in project function - R_fix_within = TRUE, - n_days = 1, # doing 2 days as project function currently not working with one day - will only use first day though - model = "poisson" - ) - - expect_identical(get_dates(p), as.Date("2020-01-24")) -}) - - - - - -test_that("Projections can be performed for a single day", { - i <- incidence::incidence(as.Date('2020-01-23')) - si <- c(0.2, 0.5, 0.2, 0.1) - R0 <- 2 - - p <- project(x = i, - si = si, - R = R0, - n_sim = 1, # doesn't work with 1 in project function - R_fix_within = TRUE, - n_days = 2, # doing 2 days as project function currently not working with one day - will only use first day though - model = "poisson" - ) - - expect_identical(get_dates(p), as.Date("2020-01-24") + 0:1) - expect_identical(ncol(p), 1L) -}) - - - - - -test_that("Projections can be performed for a single day and single simulation", { - i <- incidence::incidence(as.Date('2020-01-23')) - si <- c(0.2, 0.5, 0.2, 0.1) - R0 <- 2 - - p <- project(x = i, - si = si, - R = R0, - n_sim = 1, # doesn't work with 1 in project function - R_fix_within = TRUE, - n_days = 1, # doing 2 days as project function currently not working with one day - will only use first day though - model = "poisson" - ) - - expect_identical(get_dates(p), as.Date("2020-01-24")) - expect_identical(ncol(p), 1L) -}) - - - - - -test_that("Test that dates start when needed", { - skip_on_cran() - - ## simulate basic epicurve - dat <- c(0, 2, 2, 3, 3, 5, 5, 5, 6, 6, 6, 6) - i <- incidence::incidence(dat) - - - ## example with a function for SI - si <- distcrete::distcrete("gamma", interval = 1L, - shape = 1.5, - scale = 2, w = 0) - - set.seed(1) - pred_1 <- project(i, runif(100, 0.8, 1.9), si, n_days = 30) - expect_equal(max(i$dates) + 1, min(get_dates(pred_1))) - -}) - - - - - -test_that("Errors are thrown when they should", { - expect_error(project(NULL), - "x is not an incidence object") - - i <- incidence::incidence(1:10, 3) - expect_error(project(i), - "daily incidence needed, but interval is 3 days") - - i <- incidence::incidence(1:10, 1, group = letters[1:10]) - expect_error(project(i), - "cannot use multiple groups in incidence object") - i <- incidence::incidence(seq(Sys.Date(), by = "month", length.out = 12), "month") - expect_error(project(i), - "daily incidence needed, but interval is 30 days") - - i <- incidence::incidence(1) - si <- distcrete::distcrete("gamma", interval = 5L, - shape = 1.5, - scale = 2, w = 0) - - expect_error(project(i, 1, si = si), - "interval used in si is not 1 day, but 5") - expect_error(project(i, -1, si = si), - "R < 0 (value: -1.00)", fixed = TRUE) - expect_error(project(i, Inf, si = si), - "R is not a finite value", fixed = TRUE) - expect_error(project(i, "tamere", si = si), - "R is not numeric", fixed = TRUE) - expect_error(project(i, R = list(1), si = si, time_change = 2), - "`R` must be a `list` of size 2 to match 1 time changes; found 1", - fixed = TRUE) - expect_error(project(i, si = si, time_change = "pophip"), - "`time_change` must be `numeric`, but is a `character`", - fixed = TRUE) - expect_error(project(i, si = si, time_change = 2, R = matrix(1.2)), - "`R` must be a `vector` or a `list` if `time_change` provided; it is a `matrix, array`", - fixed = TRUE) - -}) - - - - - -test_that("Test against reference results - Poisson model", { - skip_on_cran() - - ## simulate basic epicurve - dat <- c(0, 2, 2, 3, 3, 5, 5, 5, 6, 6, 6, 6) - i <- incidence::incidence(dat) - - - ## example with a function for SI - si <- distcrete::distcrete("gamma", interval = 1L, - shape = 1.5, - scale = 2, w = 0) - - set.seed(1) - pred_1 <- project(i, runif(100, 0.8, 1.9), si, n_days = 30) - expect_equal_to_reference(pred_1, file = "rds/pred_1.rds", update = FALSE) - - - ## time-varying R (fixed within time windows) - set.seed(1) - pred_2 <- project(i, - R = c(1.5, 0.5, 2.1, .4, 1.4), - si = si, - n_days = 60, - time_change = c(10, 15, 20, 30), - n_sim = 100) - expect_equal_to_reference(pred_2, file = "rds/pred_2.rds", update = FALSE) - - - ## time-varying R, 2 periods, R is 2.1 then 0.5 - set.seed(1) - - pred_3 <- project(i, - R = c(2.1, 0.5), - si = si, - n_days = 60, - time_change = 40, - n_sim = 100) - expect_equal_to_reference(pred_3, file = "rds/pred_3.rds", update = FALSE) - - ## time-varying R, 2 periods, separate distributions of R for each period - set.seed(1) - R_period_1 <- runif(100, min = 1.1, max = 3) - R_period_2 <- runif(100, min = 0.6, max = .9) - - pred_4 <- project(i, - R = list(R_period_1, R_period_2), - si = si, - n_days = 60, - time_change = 20, - n_sim = 100) - expect_equal_to_reference(pred_4, file = "rds/pred_4.rds", update = FALSE) - -}) - - - - - -test_that("Test against reference results - NegBin model", { - skip_on_cran() - - ## simulate basic epicurve - dat <- c(0, 2, 2, 3, 3, 5, 5, 5, 6, 6, 6, 6) - i <- incidence::incidence(dat) - - - ## example with a function for SI - si <- distcrete::distcrete("gamma", interval = 1L, - shape = 1.5, - scale = 2, w = 0) - - set.seed(1) - pred_5 <- project(i, runif(100, 0.8, 1.9), si, n_days = 30, model = "negbin") - expect_equal_to_reference(pred_5, file = "rds/pred_5.rds", update = FALSE) - - - ## time-varying R (fixed within time windows) - set.seed(1) - pred_6 <- project(i, - R = c(1.5, 0.5, 2.1, .4, 1.4), - si = si, - n_days = 60, - time_change = c(10, 15, 20, 30), - n_sim = 100, - model = "negbin") - expect_equal_to_reference(pred_6, file = "rds/pred_6.rds", update = FALSE) - - - ## time-varying R, 2 periods, R is 2.1 then 0.5 - set.seed(1) - - pred_7 <- project(i, - R = c(2.1, 0.5), - si = si, - n_days = 60, - time_change = 40, - n_sim = 100, - model = "negbin") - expect_equal_to_reference(pred_7, file = "rds/pred_7.rds", update = FALSE) - - ## time-varying R, 2 periods, separate distributions of R for each period - set.seed(1) - R_period_1 <- runif(100, min = 1.1, max = 3) - R_period_2 <- runif(100, min = 0.6, max = .9) - - par(ask = TRUE) - for (i in 1:30) - - pred_8 <- project(i, - R = list(R_period_1, R_period_2), - si = si, - n_days = 60, - time_change = 20, - n_sim = 100, - model = "negbin") - plot(pred_8) - } - expect_equal_to_reference(pred_8, file = "rds/pred_8.rds", update = FALSE) - -}) - - - - - -test_that("Test R_fix_within", { - - ## The rationale of this test is to check that the variance of trajectories - ## when fixing R within a given simulation is larger than when drawing - ## systematically from the distribution. On the provided example, fixing R - ## will lead to many more trajectories growing fast, and greater average - ## incidence (> x10 for the last time steps). - - skip_on_cran() - - ## simulate basic epicurve - dat <- c(0, 2, 2, 3, 3, 5, 5, 5, 6, 6, 6, 6) - i <- incidence::incidence(dat) - - set.seed(1) - x_base <- project(i, - si = c(1, 1 , 1, 1), - R = c(0.8, 1.2), - n_days = 50, - n_sim = 1000, - R_fix_within = FALSE) - x_fixed <- project(i, - si = c(1, 1 , 1, 1), - R = c(0.8, 1.2), - n_days = 50, - n_sim = 1000, - R_fix_within = TRUE) - expect_true(all(tail(rowSums(x_fixed) / rowSums(x_base), 5) > 10)) - -}) diff --git a/tests/testthat/rds/pred_1.rds b/tests/testthat/rds/pred_1.rds index f43bb3815afc68728ec6b03d6fd42f8c53cdfc83..6344b279baef1226f9cd6deb4215e98f06c869f5 100644 GIT binary patch literal 3700 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 E2T=v_mH+?% literal 3725 zcmV;84s!7yiwFP!000001ASUcZ(UavUVhy8ZQtt~zY-^L;=B{b_I2KA8YiVmQ)rVw zp)H~i6GxDeM@iDENIWV56(d9?21rOSU;^SXfC(TW1~37}NC*ZDnDGM;5>mzfa=!2E z?;IPhw6ym*zCLTO_qW!$uM9>+cl0Le?n&F8k%*yRKDk#=SE2^@{iK0JW2APX=|mHW zW)saNI+*BiqLYcvCOVhsqls=Ox=Z?EqVFd9Nuqxw`g>vp9=(aSkcP=`h&)@y7x%U% z+D4k;x|6(dhUG+Oc)gJ5LZYVl{O*5mKAqYf@h=JL4qR z{d`WB@sRHQEaKNNn`l44|HV2;eSoIOM?9x_Zì_d6{AOBan9pib&xz19jd!z8H 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 literal 11563 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 literal 2218 zcmV;b2vzqViwFP!000001MOT}ZxcrpUJ|G%sK`=zh){)ARaHf(LWvCo=!GHWR&LD& zk`yS|aqh$tG9XH)_*+%_YOD$_QB0AU(Pr6w%eBG zhuge3xey^jEFOoRmbwQaN`Z2_@8xzrAyx)g>JF?DXitTBIm*pGq+RTGuTpz8U|gqg zz6`MzaBqV@0Pg}H2JZ!9oV)kH7^ki^5Z-6XYr!=pO+D0m68tgRISW1vj-tFCd`jNM*b6UQx@{*&rwsq+oAtRpMYEf+>G+`JTEU_{s{G$d4f13;6+Gco6ad(zj-XZ%2f` z`%`#)TKIdk_h3@^k({V|EEn4SBsauOZ4>?t=_h@{e>4gIbxip09m4-S^C}VH`=Bzg zTzk@v4?C~1T<1SC-@Ph?<2J<0;1(*k?`7jhxVM(6_ak9_E@2_44IAoG|TUj#CGYftyi& z8caKq^0YtMF70K?#ZeBsuu@^4W4+GwTeyzqFVGHo^ZabF)c2%&*Q9slx1;mgelYzr z_($wti1LQB=~|OE<4E&4ufb2(@pL2*F7n>haZW#%{=W~782J`3{b`QV)A{|=d5rI6 z_{R%@{Vz8#o}p>n54}%|Y^T_~v)qI&BKhTZo`h=&gnda{f3-l~+V6~87HgmL z678$=BI!D(gg?(BjdG3epsF8uorFGS_Q+7tSGT6@(p{USWq8XtFoFzpD&@#$~11o`=l z*R$Rs(=O);u18S+^=aV?NDm|3IV;?ad_FHW4#9Tmk1?O~4*NsDkLw>czJYbc0z2O7 zi+J;b{z=jIdTjoDEnjEv{k4L|g&IuS##i}%;du1H5isxn`$mrAyBWOOlvAGi`97k* zPk%lY7v^}Uea-hB-z!`%>dEHoFXE>b#Fyz;GJav?^t?IFIsRLbzKk@lS0DN}IE#LP zhrlUm&}AaRUknQe(ouIC?M!rlkw1=hA2tb3KJ?~;vuVx`DA4sbKHt24_P%lbllDVn zke9FRe+X_0^7V0F0k13X2geQCEw~?_dinCa@5jBDV!83t5FtXW9m>`3TPkSZ5G%bd zZe`V19keS7^7;PZd!UG&M|(iu!<4snChZCn-zyc0eP>eYeuXFv)~g>D>~`z(tz@;R@!B0uhgx!%kDdGz<%P>=pbVpf=O z%zm^p4Ed26;S9JBSMJ_!f+za`!I^pY(b7+t8OY>b7 zs(u)|zs=zS@j_GcL;ga#zq_+HY5o&;5H>!3mrP*MqyKgi}aohJ{Bbkw&|> zP@msd-0}1J86reEL7zvy@9DpAe=Fx7J8yBmY6SCprGutCJ|&#U3b!Di>nP`(@CnrG zfjqyj;`5s{X@0N8{SiZPFzRz%>ZU#8%79(()O@=xP3As9+J%uK^4w2bWS?HaI=FA@ zb3N3oyDtPQSLyR{rJetJjW31>5h6sTLG4QVhY|2DBS*iG{w)1h`hDEDM7x9b3GGGh zqpCIX{H~sMM$!p$pAWyUYR?LDA0fa0Y6SE9`)1VV_gA!od0t)-rvB}Q8CT=^aQ`IN zA-L|qealIt>A!RRfcqVR&fMqNoE7GC-wAzOALI9m z1L!~f!B#N+PR4iWe_lkIej?*Q?aoV@i@5{Jf_OchE0^v;B#vzuA zO7pY-FL0&qK#Ac>-GLA#0oU<09VtmSUKw0lAZ*wBXiw75qa98Afa?jAr#ICO%z*ukI#jbbj6 z(b(mWmC*R6lf^;k$bm3_tbv0PMzXmWTau%x(ZNKf|HjHaa+N~F_?IbZ7ee@rizOweEe0OgRC=l}o! diff --git a/tests/testthat/rds/pred_8.rds b/tests/testthat/rds/pred_8.rds index e99eae294975684b77f31156f4b061e618a282ae..3e1f46c293d63eb6f56135b29437531c1286a3c4 100644 GIT binary patch literal 6852 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 MRh{~pv0}yl0~qVfivR!s literal 6409 zcmZ9PYdjMS{Pq))!$_1Qg@hRbdw3? zyv3YpD=CJ|7<1m7Haq|C=l^-0H_!F?z52fTz4%@)E?~;;9se8Im3+nUoRO#=d}`Li ziEgyzno-!&=ZifncW*+Eg|w$-*}$LXR;7J0L!!<-xQ)K=vv)Imj= zy>kieIPC{-y1G4Y4}8q;jMAv|u*k3fG4$rr_#<~^JCgJ=eIK<$2l13Wcwb`2YY_^G zEqRfvO+2{zv-9SuH>2m+L+XJN{f7ZY>+g|9rT&-OQ>SJRGT?RqECd@2H^i?N}kkZsfWC3W(g0Vj@Zw|I+wuMsCOxsCf&A7jp^mH}Ut0nCJo zCX)vQC9jb`D(J0_0qp|d3H6+; zEI@i_kwJPw$ni-=x*qoKW5(6f2j!9tG)UZ zXVaHujl1=boPUKJ>Q25~C41U0pz+YjiMZaH6%;NNa=J<(s}itbh=V0G98m$zTOaVi z{6k{T@gH>ra`j%Rle+f@w<|3+yrYD#(62)E3X@h^g6LoC3BBRGqhz%79SMkmr4Hn_=8D!c~4`KHlNye zDt;7+HTW)?M}9@ocMxO|vLraLjzy0{);HH$4^X;d9{D4 zn!a_<5%0dee0Y6@`T}+?7JrRD9HKNUv1L3d{3RbuZJ7FG@J+zbnF2~6Q}X{`v&__+y&^NLxAxEtk6 z6a1u`+$)*7kxl|@D0D$c51ixDO+`eUiF`-pq@&-qJ$$rOTr=~jT3g<62W9?D-amI5 zRfwm98WY7rUFQ0UBS@8BA3@MVBlD(~6S7jKRNKHeU;B$zb1L>wfav{JH~w|7Xe|q8 zQql8~t>^fa$bbJG=c<9DJDEplOZEuqvb~DjEXmZxZ9j5-Xkp^-ascW+G$zxZg(OFh zKee^J@LbezP-}F31ovUzro!y!T7;hoUvB*$quJq}vjv2H>q|xeSScX)huY6y?BXKg zc!v2UrHEu?wK!h2LY%nye9T1CSj9B~F4L39`+JNqSg(@wZ?-=`WWj_DnVr_usrJzQ zrA`RiNmWFALs7PC64zfH2L3Cfg+E{2l#giPZN}+p)g#<6$-_0_wqd-L-C> zo+q=33F2k4+d4ssFi2XF!BC_dB|>Yhgd=hEWSrxk2qP`5v~v~>% zBp`P$0k_p_@uZG&Jr9?z+fTeLGdn1w<%JJkyjpO_v}qeWcGbnczc)~qQPQqcnsuQ1 zbvTU-zSPJJd5NmTZlRD%M&-bBlPBHq8G3z#u(*UPg%|?reb3#+qe4AenNbBhLQuC0 zow{ilCBmeZBDxLU?ZX(xy;Yr#Dx%tQ6v>+r91~pn1wf2=xJJQ&srswvmdM~1$?8E5 zv0MW^q`K)j{%s@_HC&U*tuH17J5!H{y)@#Qw?=tY61B0MkVYk9P}DuqjSps?KOmzf z*Y@j}FQ2(o8tX}N0|kyhv1DI+5x!`~$dN9WMj7!5*%^IVbvK+ntj$ zT?4-?5#pN%UPMg`10=TDA^~qQbSU=1Z80sG-752@)e7 zFOLyu^t~xzQRpKjjhlit>ohmGm2rSi&YgDz7BQz&(pQJpniQiqDXK_%4fe64ICP?T)!*;m=OB@2gBSM%;zv?wM ze)(7_doO{vIKaf(w{kzkWIFC03V&A>XFvnGSk459&8b&`2Zj`!S(R$>J$%Q}5L48) z?{4X_*16EHA$79kzQ?dGz(9%$ixYnX0%rUJ^oVc+CYccDV5#`@FIpNKrPrt6_*cGhayMmL;oz)K&g!pK#v+woX zumH%GX>@AnsNv_e_!HdZuT?2}KJZ_iijcE5YfEoNmaemcA$3MUKI2gP-2`J`zF9@- ztrQJhz~+zTilVuZ+g@xuvthC4{o|0ypOQyA8Dp*?@JgN&_XN*Zlwq#=65QXwi;Or% zvs@7Vv`un7{%+g^#?|rO$R9q;8*xOE&yhcLF1byd>C&cxqVcb&^0KdbFYGyysk#yoI>NiyKOXi!HiR;ym2A9i>NNH>^rm6;>%2E`lh zYc_82AL!J`TbljlpiApmdJ%Ud0Y6z+ZcpcZNtM0Me0S)H<`DlX$Cz`(OQ`*!r{3>} z00C}gCd{59BOzcLP(b5iy}v#q=g?mv!za6%9dbNkU#8S~hRuL4DsQ>%CA?v!)j> zxCGB{7?&fxi3=;%|4;?@Eyi80y5qaO`t~}IP>R{g{;`AJ8|TA)VmAVJmEH%o<%zd; zc4(;+665!0BCNNv{A>%3=u=tmRE*&j3zjzzPzQmwPkZ|us?#1@shGY6U)QV-Nmj6J za;Y%U_O=?fS%v`XfxnutedSS;u#JYzR=Z@g*rrw-n9G&bl=Hls zl9XbOq$xB%GQ-be(IFSB*5`4z{MrHS;MSM=L1o4&{Z6#LUW^yFyu;NEVyfRunk;5ljD{dS2#N*AN}|s@)?fhFDidZ0tNhOwEaxykvw8dW^yXk76%D# z;J~0d(tmZDcM(L-%Gjuo!o+r7jRFz_e2NzK;cql&MSIyGx$NVj&QIOISun>ke^?JK zzB<|lbSa4KJ+e7p`gYrbq6EyBx5V?z4j{ZzR z^rwM59qmB>Zd_bX0SoJkMBA6j4a%5i4iiRREY|>p)f>*K&RpPuzAJarZIt|YyWEH+ zkvr_PN;irxWDdr=Tuq~dxcixki<#Chg{DA0D-&zc7x^b4d_sBQfM#_I=#rA-ywYRM zKit@_OJVAOp%TU9QCC}Z+VbB_=|w>}|I~3$oqp1D(be8+_oah;^?!6MtK9S!iSoZU z$~GEmlU`!5afBkut--%zcxHd!z~4tR>Gs9ZL1I(;r}vq8ntAryXcPMCS}Q~T5^*@HeQEjT;Vt-?S*z)8(f6uEftlI#0d3%!WV3yY=H;sX`{)v6_gcbca9(L zTJP$)nbhumPX^K!y$OEb-Q36-iE7O|54Dvum;LI~!ZChvfY}(Qb$veXSaJ-ecL-Nm z14496##?fC`_@=~6MsP2vYXOHX;W$pTaj16vD3>!+Sv<T{;zCYZ*IK)9lk-(WOJ1rB^&lG_Q zi#(7n?D)@|mW#j&q_O}oYvRWn4MtapKT${n(8^z#waRH%KrDi`pP*5p-D2pnOg_n{ z|LFR3y22-Dj{awE!x+N#tf;-2?i?WxW%I)5Ef}I^{K+odf7Tqj#bGXw8_|0sCc767 zML5kVN=4-<($zmfrT^zsqx4<*S%b9_?#g{}WD^TTw8(zjb|(8P5uK6WyxAUMRTBPt zqzL_%i>FXKkqj#41}o(c0u2Q-r798)2+!<%kTGK(Wb-@9Dlm)bDgdh?d6HH(Rg3 z=XfVx;BrY<7n+zoeq4DawZm^_`>S1ehqu|EmiLsxM$qyXSp>rX`U!Ds4DmNFG9y*A zP3yLd0a8Z&ocT_it-p!C6P8o&k_x%o;=}fGv!r3k{xazJ|l5yUdH{2HyIYg z4lOTH!QgM=JG$(<*b=@I<6=46C)!dM`&c*G+HtYXTWmzgMo*behqS&FJ+xY2nmEm* z5`j4&aSP@QP5$C!rCKqabb`?*t$V`5CcJo# zALh?ovIsk^frun9JiC{|x>;eXq_NnsaL|meTD%tT*Zd@1zbe;`GeSxgyt8tI?l_8d zSh%61FtVj{+6(VJ_M-#YTJXqy@k)vq{gQtVFe3=&v!QzC<-p+i^2Kb%?e*M(y2OZp zks~cr7Gw4~-1+#j<;Q_0fPk2)HD96Wg3~8Y)1vs_>F+n*{#>@qWe%AONKc|aon)8Z zk0}?t74G3aBz(t+G|+(wjA!&S%XLrAaRd-m%>$dRDs+LeGWO2wS=mG&=u~{Z5CONo zfZ#0lsKEJV%2?U~xIE}%7y|0j;#h z4s6x#Ed3WTLdVcXpm0vygi~0PMrWYH>k*4ClbPLqu^?gP?-wO4D}SZ71hy%omOPop z`ppPcTlaoBRy+3|`Rjy7Q>Gxy#k`o`oXNL)Ht~)ow__EvWwZt>W6)q9ZX5Vsl+G8} z_Cbxc@?C}2QuAlJ<~u6g&ft-!zl!HDP;Q;$6K*XzYbTy3hM)u`-w5ON5;dc6~nxgWRCqQ9tE{rxCEv~Fd;xV`!9ha<3>5w7Mlhm-6ZHQ1M3#Y ziw)QdR60T_-cO?Z2ylIU|JNO*d+WMYtbT{wEV4Ywq4Lh|!-^P(Jh zBd5Jc`?~_+6Z15gs$S~{hi@6K!G=phw^|_(B2j6P*Nc zV|}h?XE;1wJ}45pfrTcSbuFANhuVQFm?5bLp=9j@#FGAC>4THx+TqEKQ%u4dH3UBp z^XK%$!cT~MH5&1h)DG80J!7W=PG+WcBw(1~8i})^F;>{y$95$z=EU z#sn~1EY@%7@T*_M!(51FhX0FA!vi!MEtGER$XCDE33Ev>EBTUhWvc)G;#)dTs$ZOg zxfGd|e9O5q-*5UTK(pCG>3?x%^^5=i0t3t7DA1Ja5lxs%D>@K%7ap#0Q?=rmmu%B6 z-L46M{M_Gwdbo$Tdmz^l*or2yrgaCdYu#T z)LO|;Pww*li1Y8{+ce$(I1uE&vR{+)kIkp4b%6LTr&loV+RAlb#YJ2{bOp*Eh zm+eI=8UZ%NfIrn+RWHu${w`c2n7+@uV%yeO{D?wJnuV!=bq*{U8vjTcpb`&%x5OIm x7Ud&pRqr)Cj$I7=dfa5b#PYdW|3%iZYY(qqUu(6LiUiUfCq+b$sxLcs{128Sc{Kn4 diff --git a/tests/testthat/test-accessors.R b/tests/testthat/test-accessors.R index f78036a..9f385f8 100644 --- a/tests/testthat/test-accessors.R +++ b/tests/testthat/test-accessors.R @@ -1,11 +1,5 @@ context("Test accessors") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - test_that("Accessors return the right thing", { skip_on_cran() diff --git a/tests/testthat/test-build_projections.R b/tests/testthat/test-build_projections.R index a69d818..4f1b4d6 100644 --- a/tests/testthat/test-build_projections.R +++ b/tests/testthat/test-build_projections.R @@ -1,11 +1,5 @@ context("Test build_projections") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - test_that("Test round trip", { skip_on_cran() diff --git a/tests/testthat/test-conversion.R b/tests/testthat/test-conversion.R index 01f594e..ceb2aef 100644 --- a/tests/testthat/test-conversion.R +++ b/tests/testthat/test-conversion.R @@ -1,11 +1,5 @@ context("Test conversion") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - test_that("Test against reference results", { skip_on_cran() diff --git a/tests/testthat/test-cumulate.R b/tests/testthat/test-cumulate.R index 538fcae..a968ce9 100644 --- a/tests/testthat/test-cumulate.R +++ b/tests/testthat/test-cumulate.R @@ -1,11 +1,5 @@ context("Test cumulative incidence") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - test_that("Test cumulate()", { skip_on_cran() diff --git a/tests/testthat/test-merge_add_projections.R b/tests/testthat/test-merge_add_projections.R index ef35ad8..19855ac 100644 --- a/tests/testthat/test-merge_add_projections.R +++ b/tests/testthat/test-merge_add_projections.R @@ -1,12 +1,5 @@ context("Test merge_add_projections") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - - test_that("Merging works", { set.seed(1) diff --git a/tests/testthat/test-merge_projections.R b/tests/testthat/test-merge_projections.R index 90bf19c..1938116 100644 --- a/tests/testthat/test-merge_projections.R +++ b/tests/testthat/test-merge_projections.R @@ -1,12 +1,5 @@ context("Test merge_projections") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - - test_that("Merging works", { i <- incidence::incidence(as.Date('2020-01-23')) si <- c(0.2, 0.5, 0.2, 0.1) diff --git a/tests/testthat/test-plots.R b/tests/testthat/test-plots.R index a58aaf0..3234c6a 100644 --- a/tests/testthat/test-plots.R +++ b/tests/testthat/test-plots.R @@ -1,15 +1,5 @@ context("Test project function") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - - - - - test_that("Test against reference results", { skip_on_cran() diff --git a/tests/testthat/test-print.R b/tests/testthat/test-print.R index aa1f5ab..6d96a8d 100644 --- a/tests/testthat/test-print.R +++ b/tests/testthat/test-print.R @@ -1,11 +1,5 @@ context("Test printing") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - test_that("Printing as planned", { skip_on_cran() diff --git a/tests/testthat/test-project.R b/tests/testthat/test-project.R index 78e13e1..a23ffea 100644 --- a/tests/testthat/test-project.R +++ b/tests/testthat/test-project.R @@ -1,15 +1,5 @@ context("Test project function") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - - - - - test_that("Projections can be performed for a single day", { i <- incidence::incidence(as.Date('2020-01-23')) si <- c(0.2, 0.5, 0.2, 0.1) diff --git a/tests/testthat/test-subset.R b/tests/testthat/test-subset.R index 2f717e2..3a788dd 100644 --- a/tests/testthat/test-subset.R +++ b/tests/testthat/test-subset.R @@ -1,11 +1,5 @@ context("Test subset") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - test_that("Test subsetting with numeric dates inputs", { skip_on_cran() diff --git a/tests/testthat/test-summary.R b/tests/testthat/test-summary.R index 0cc5e8f..34ce483 100644 --- a/tests/testthat/test-summary.R +++ b/tests/testthat/test-summary.R @@ -1,15 +1,5 @@ context("Test summary of projections objects") -setup(RNGversion("3.5.3")) -teardown({ - cur_R_version <- trimws(substr(R.version.string, 10, 16)) - RNGversion(cur_R_version) -}) - - - - - test_that("Testing default summary", { i <- incidence::incidence(as.Date('2020-01-23')) si <- c(0.2, 0.5, 0.2, 0.1)