test_that("full_factorial works", { res <- full_factorial( factors = c("A", "B"), nlevels = c(2, 3), levels = c("a1", "a2", "b1", "b2", "b3"), reps = 2, design = "CRD" ) expect_type(res, "list") expect_named(res, c("fieldbook", "fieldmap")) expect_s3_class(res$fieldbook, "data.frame") expect_equal(nrow(res$fieldbook), 12) # 2 * 3 * 2 reps }) test_that("unifatorial works", { res <- unifatorial( trats = c("T1", "T2", "T3"), reps = 3, design = "RCBD" ) expect_type(res, "list") expect_s3_class(res$fieldbook, "data.frame") expect_equal(nrow(res$fieldbook), 9) # 3 * 3 }) test_that("augmented works", { res <- augmented( lines = c("L1", "L2", "L3", "L4"), checks = c("C1", "C2"), blocks = 2 ) expect_type(res, "list") expect_s3_class(res$fieldbook, "data.frame") # Augmented design usually has all checks in all blocks + lines distributed # b * c + l = 2 * 2 + 4 = 8 expect_equal(nrow(res$fieldbook), 8) }) test_that("latin_square works", { res <- latin_square( trats = c("A", "B", "C", "D"), reps = 1, verbose = FALSE ) expect_type(res, "list") expect_s3_class(res$fieldbook, "data.frame") expect_equal(nrow(res$fieldbook), 16) # 4 * 4 })