skip_if_not_installed("MASS") data(quine, package = "MASS") clotting <- data.frame( u = c(5, 10, 15, 20, 30, 40, 60, 80, 100), lot1 = c(118, 58, 42, 35, 27, 25, 21, 19, 18), lot2 = c(69, 35, 26, 21, 18, 16, 13, 12, 12) ) set.seed(123) m1 <- glm(lot1 ~ log(u), data = clotting, family = Gamma()) d <- data.frame( counts = c(18, 17, 15, 20, 10, 20, 25, 13, 12), outcome = gl(3, 1, 9), treatment = gl(3, 3) ) set.seed(123) m2 <- glm(counts ~ outcome + treatment, data = d, family = poisson()) m3 <- MASS::glm.nb(Days ~ Sex / (Age + Eth * Lrn), data = quine) test_that("get_dispersion", { expect_equal(get_auxiliary(m1, type = "dispersion"), summary(m1)$dispersion, tolerance = 1e-3, ignore_attr = TRUE) expect_equal(get_auxiliary(m2, type = "dispersion"), 1) expect_equal(get_auxiliary(m3, type = "dispersion"), 1) })