library(pfm)
context("Geometric mean calculation")
test_that("The geometric mean is correctly calculated", {
expect_equal(geomean(c(1, 3, 9)), 3)
expect_equal(geomean(c(0, 3, 9)), 0)
expect_equal(geomean(c(1, 3, NA, 9), na.rm = FALSE), NA)
expect_equal(geomean(c(1, 3, NA, 9), na.rm = TRUE), 3)
expect_error(geomean(c(1, -3, 9)), "positive")
expect_equal(geomean(c(1, -3, NA, 9)), NA)
})