sfm <- stockflow("SIR") |>
unit_test(expr = all(susceptible >= 0))
# Run unit tests
verify(sfm)
# Add test with label
sfm <- unit_test(sfm,
label = "recovered increases",
expr = all(diff(recovered) >= 0)
)
verify(sfm)
# Add test with conditions
sfm <- unit_test(sfm,
expr = all(infected == infected[1]),
label = "When infection_rate is zero, no one gets infected",
conditions = list(infection_rate = 0)
)
verify(sfm)
# View all tests
unit_tests(sfm)
# Deactivate test test 1
sfm <- unit_test(sfm, test = 1, active = FALSE)
verify(sfm)
# Modify test by label, e.g., to change the expression
sfm <- unit_test(sfm,
label = "recovered increases over time",
expr = all(diff(recovered) > -1)
)
verify(sfm)
Run the code above in your browser using DataLab