Skip to content
Snippets Groups Projects
test-seiqhrf.R 1.00 KiB
test_that("Identical output as Churches' original function: seiqhrf", {
    
    full_params <- set_param(s.num = 1000, nsteps = 10, arec.rate = 0)
    param <- full_params$param
    init <- full_params$init
    
    #### default functions: initialize.FUN, infection.FUN, recovery.FUN, departures.FUN, arrivals.FUN
    control1 <- full_params$control
    ### Churches' original function:
    control2 <- control1
    control2$initialize.FUN <- "initialize.icm"
    control2$infection.FUN <- "infection.seiqhrf.icm"
    control2$recovery.FUN <- "progress.seiqhrf.icm"
    control2$departures.FUN <- "departures.seiqhrf.icm"
    control2$arrivals.FUN <- "arrivals.seiqhrf.icm"
    
    No_seeds <- 10
    seed_list <- sample(1:1000, No_seeds)
    comp <- rep(NA, No_seeds)
    i <- 1
    for(seed in seed_list){
        sim1 <- seiqhrf(param, init, control1, seed)
        sim2 <- seiqhrf(param, init, control2, seed)
        comp[i] <- identical(sim1, sim2)
        i <- i + 1
    }
    
    expect_equal(sum(comp), No_seeds)
})