WiP_STASH/tests/test.data.treatment.R

test_that("test.data.treatments.1", {
    expect_error(createTreatments())
    expect_error(createTreatments(doses = c(0, 30), doseCol = "12invalid"))
    expect_error(createTreatments(doses = c(0, 30), trtCol = "+4353242invalid"))
    expect_error(createTreatments(doses = c(0, 30), timeCol = "~'lefw12invalid"))
    expect_error(createTreatments(doses = c(0, 30), times = c("a", 
        "b")))
    expect_error(createTreatments(doses = c("da", "fes")))
})

test_that("test.data.treatments.crossover", {
    seqMat <- rbind(c(0, 0, 0), c(0, 20, 10), c(10, 10, 0), c(20, 
        0, 20))
    expect_error(createTreatments(sequence = seqMat, times = c(1, 
        2)))
    expect_error(createTreatments(sequence = seqMat, times = c(-2, 
        -1, 1, 2)))
    tr <- createTreatments(sequence = seqMat, times = c(0, 1, 
        2, 3))
    expect_true(all(tr$DOSE[tr$TIME <= 0] == 0))
    for (i in 1:3) expect_true(all(tr$DOSE[tr$TRT == i] == seqMat[, 
        i]))
    seqMat <- rbind(c("a", "b", "s"), c("a", "a", "a"))
    expect_error(createTreatments(sequence = seqMat))
    x <- createTreatments(sequence = cbind(c(0, 15, 30), c(15, 
        30, 0), c(30, 15, 0)))
    expect_true(identical(x, data.frame(TRT = rep(1:3, each = 3), 
        TIME = rep(1:3, 3), DOSE = c(0, 15, 30, 15, 30, 0, 30, 
            15, 0))))
    x <- createTreatments(type = "c", times = 0:3, sequence = cbind(c(0, 
        15, 30), c(15, 30, 0), c(30, 15, 0)))
    expect_true(identical(x, data.frame(TRT = rep(1:3, each = 4), 
        TIME = rep(0:3, 3), DOSE = c(0, 0, 15, 30, 0, 15, 30, 
            0, 0, 30, 15, 0))))
    x <- createTreatments(doses = 1:2, times = 0:1, trtCol = "X", 
        timeCol = "Y", doseCol = "Z")
    expect_true(identical(x, data.frame(X = rep(1:2, each = 2), 
        Y = rep(0:1, 2), Z = c(1, 1, 2, 2))))
})

test_that("test.data.treatments.parallel", {
    tr <- createTreatments(doses = c(0, 15, 30), times = c(1, 
        2, 3))
    expect_true(is.data.frame(tr))
    expect_true(all(dim(tr) == c(9, 3)))
    expect_true(all(names(tr) == c("TRT", "TIME", "DOSE")))
    expect_true(all(sort(unique(tr$DOSE)) == c(0, 15, 30)))
    expect_true(all(tr$DOSE[tr$TRT == 1] == 0))
    expect_true(all(tr$DOSE[tr$TRT == 2] == 15))
    expect_true(all(tr$DOSE[tr$TRT == 3] == 30))
    tr <- createTreatments(doses = c(0, 15, 30), times = c(-1, 
        0, 1, 2, 3))
    expect_true(all(tr$DOSE[tr$TIME < 0] == 0))
})
MikeKSmith/MSToolkit documentation built on Feb. 15, 2024, 5:32 p.m.