tests/testthat/test.data.parameter.R

# test_that("test.data.param.ext", {
#     testParamFile <- "testParam.csv"
#     otherFiles <- paste("testParam", c("nonmem", "spaceDelim",
#         "tabDelim"), sep = ".")
#     wrongTestParamFile <- "wrongTestParam.csv"
#     expect_error(createExternalParameters(-20), info = "`subjects` must be positive")
#     expect_error(createExternalParameters(20, names = ".54325,5432"),
#         info = "invalid `names`")
#     expect_error(createExternalParameters(20, names = "X,X"),
#         info = "duplicated `names`")
#     expect_error(createExternalParameters(20, names = "X,Y",
#         idCol = "X"), info = "duplicated names between `SUBJ` and `names`")
#     expect_error(createExternalParameters(20, names = "X", dataId = ".54325"),
#         info = "invalid `dataId`")
#     expect_error(createExternalParameters(20, names = "X", dataId = "ID,SUB"),
#         info = "`dataId` should be of length one")
#     expect_error(createExternalParameters(20, names = "X", idCol = ".54325"),
#         info = "invalid `idCol`")
#     expect_error(createExternalParameters(20, names = "X", idCol = "ID,SUB"),
#         info = "`idCol` should be of length one")
#     expect_error(createExternalParameters(20, names = "E0,ED50",
#         file = testParamFile, workingPath = parameters.datapath,
#         betNames = "B1,B1"), info = "Duplicated values in betNames")
#     expect_error(createExternalParameters(20, names = "E0,ED50,EMAX",
#         file = "doesNotExists.csv", workingPath = parameters.datapath),
#         info = "File does not exist")
#     expect_error(createExternalParameters(20, names = "E0,ED50,EMAX",
#         file = wrongTestParamFile, workingPath = parameters.datapath),
#         info = "wrong formatted file")
#     expect_error(createExternalParameters(20, names = "X,Y,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath),
#         info = "missing variables in file")
#     expect_error(createExternalParameters(20, names = "E0,ED50",
#         file = testParamFile, workingPath = parameters.datapath,
#         idCol = "SUB"), info = "missing ID variables in file")
#     expect_error(createExternalParameters(20, names = "E0,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "w"), info = "wrong errStruc")
#     dataNone <- createExternalParameters(20, names = "E0,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "None", betNames = "B1,B2", seed = 2)
#     for (i in otherFiles) {
#         newData <- createExternalParameters(20, names = "E0,ED50",
#             dataId = "ID", file = i, workingPath = parameters.datapath,
#             errStruc = "None", betNames = "B1,B2", seed = 2)
#         expect_true(all(dim(dataNone) == dim(newData)), info = paste("Check correct dimensions when importing",
#             i))
#         expect_true(all(names(dataNone) == names(newData)), info = paste("Check correct column names when importing",
#             i))
#         expect_true(all(round(dataNone$ED50, 3) == newData$ED50),
#             info = paste("Check correct ED50 column when importing",
#                 i))
#         expect_true(all(round(dataNone$B1, 3) == newData$B1),
#             info = paste("Check correct B1 column when importing",
#                 i))
#     }
#     dataAdd <- createExternalParameters(20, names = "E0,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "Add", betNames = "B1,B2", seed = 2)
#     dataLogNorm <- createExternalParameters(20, names = "E0,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "Log", betNames = "B1,B2", seed = 2)
#     dataProp <- createExternalParameters(20, names = "E0,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "Pro", betNames = "B1,B2", seed = 2)
#     expect_true(identical(dataNone$E0 + dataNone$B1, dataAdd$E0),
#         info = "Testing the Additive errStruc")
#     expect_true(identical(dataNone$ED50 + dataNone$B2, dataAdd$ED50),
#         info = "Testing the Additive errStruc")
#     expect_true(identical(dataNone$E0 * exp(dataNone$B1), dataLogNorm$E0),
#         info = "Testing the Log-Normal errStruc")
#     expect_true(identical(dataNone$ED50 * exp(dataNone$B2), dataLogNorm$ED50),
#         info = "Testing the Log-Normal errStruc")
#     expect_true(identical(dataNone$E0 * (1 + dataNone$B1), dataProp$E0),
#         info = "Testing the Proportional errStruc")
#     expect_true(identical(dataNone$ED50 * (1 + dataNone$B2),
#         dataProp$ED50), info = "Testing the Proportional errStruc")
#     dataNone <- createExternalParameters(20, names = "E0,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "N", betNames = "B1,B2", seed = 2)
#     dataAdd <- createExternalParameters(20, names = "E0,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "A", betNames = "B1,B2", betNums = "2,1",
#         seed = 2)
#     expect_true(identical(dataNone$E0 + dataNone$B2, dataAdd$E0),
#         info = "Testing the Additive errStruc and betNums")
#     expect_true(identical(dataNone$ED50 + dataNone$B1, dataAdd$ED50),
#         info = "Testing the Additive errStruc and betNums")
#     dataNone <- createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "N", betNames = "B1,B2", betNums = "1,3",
#         seed = 2)
#     dataAdd <- createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "A", betNames = "B1,B2", betNums = "1,3",
#         seed = 2)
#     dataLogNorm <- createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "L", betNames = "B1,B2", betNums = "1,3",
#         seed = 2)
#     dataProp <- createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "P", betNames = "B1,B2", betNums = "1,3",
#         seed = 2)
#     expect_true(identical(dataNone$E0 + dataNone$B1, dataAdd$E0),
#         info = "Testing the Additive errStruc and betNums")
#     expect_true(identical(dataNone$ED50, dataAdd$ED50), info = "Testing the Additive errStruc and betNums")
#     expect_true(identical(dataNone$EMAX + dataNone$B2, dataAdd$EMAX),
#         info = "Testing the Additive errStruc and betNums")
#     expect_true(identical(dataNone$E0 * exp(dataNone$B1), dataLogNorm$E0),
#         info = "Testing the Log-Normal errStruc and betNums")
#     expect_true(identical(dataNone$ED50, dataLogNorm$ED50), info = "Testing the Log-Normal errStruc and betNums, variable without between should not be exponentiated when errStruc is prop")
#     expect_true(identical(dataNone$EMAX * exp(dataNone$B2), dataLogNorm$EMAX),
#         info = "Testing the Log-Normal errStruc and betNums")
#     expect_true(identical(dataNone$E0 * (1 + dataNone$B1), dataProp$E0),
#         info = "Testing the Proportional errStruc and betNums")
#     expect_true(identical(dataNone$ED50, dataProp$ED50), info = "Testing the Proportional errStruc and betNums, variable without between should not be exponentiated when errStruc is prop")
#     expect_true(identical(dataNone$EMAX * (1 + dataNone$B2),
#         dataProp$EMAX), info = "Testing the Proportional errStruc and betNums")
#     expect_error(createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         refColName = "f09-124"), info = "wrong refColName")
#     expect_error(createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         refColName = "REF"), info = "refColName not in the data")
#     expect_error(createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         refColName = "ID", refCol = "1,2,3"), info = "refColName not in the data")
#     testCovFile <- "testCovariates.csv"
#     importCov <- createExternalCovariates(20, names = "X1", dataId = "ID",
#         file = testCovFile, workingPath = covariates.datapath,
#         refCol = "ID")
#     refcolvalues <- importCov$ID.refCol
#     importPar <- createExternalParameters(20, names = "B1,B2",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         refColName = "ID", refCol = refcolvalues)
#     iData <- read.csv(file.path(parameters.datapath, testParamFile))[,
#         c("ID", "B1", "B2")]
#     for (ref in refcolvalues) {
#         expect_true(all(iData[iData$ID == ref, "B1"][1] == importPar[refcolvalues ==
#             ref, "B1"]), info = "Testing the refCol system")
#     }
#     expect_error(createExternalParameters(20, names = "E0,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         betNames = "B1,B2", betNums = "1"), info = "#betNames != #betNums")
#     expect_error(createExternalParameters(20, names = "E0,ED50",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         betNames = "B1,B2", betNums = "a,b"), info = "wrong betNums format")
#     expect_error(createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         betNames = "B1,B2"), info = "Need betNums if index mismatch")
#     expect_error(createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         subset = "@fewf-+fw"), info = "Non sense code")
#     expect_error(createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         subset = "E0 < 0 < EMAX < 1 "), info = "Too many comparators")
#     expect_error(createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         subset = "E0"), info = "Too few comparators")
#     expect_true(all(createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         subset = "E0 < 0")$E0 < 0), info = "test that the subset is applied correctly")
#     subData <- createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         subset = c("E0 < 0", "1 <= B1 <= 2"))
#     expect_true(all(subData$E0 < 0), info = "test that the subset is applied correctly with multiple subsets")
#     expect_true(all(subData$B1 >= 1 & subData$B1 <= 2), info = "test that the subset is applied correctly with two comparators")
#     data1 <- createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "A", betNames = "B1,B2", betNums = "1,3",
#         seed = 81)
#     rnorm(2100) + runif(2)
#     data2 <- createExternalParameters(20, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "A", betNames = "B1,B2", betNums = "1,3",
#         seed = 81)
#     expect_equal(data2, data1)
# })

test_that("test.data.param.norm", {
    expect_error(createNormalParameters(-50),
                 info = "subjects must be positive")
    expect_error(createNormalParameters(50,
                                        names = "X, Y",
                                        mean = "0,a"),
                 regexp = "Impossible to convert to numbers")
    expect_error(createNormalParameters(50,
                                        names = "X,X",
                                        mean = "0,1"),
        info = "Duplicated values in names")
    expect_error(createNormalParameters(50,
                                        names = "X,Y",
                                        mean = "0,0,0"),
        regexp = "wrong length")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1,1,1,1"),
                 regexp = "Dimension Problem")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1,-2,1,0,-2,1"),
                 info = "matrix not positive definite")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        maxDraws = -1),
                regexp = "maximum number of draws should be a positive integer")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        maxDraws = 5:6),
                 regexp = "wrong length")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        digits = -1),
                 regexp = "`digits` argument must be positive")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        digits = 1:2),
                 regexp = "`digits should be of length one or 3, not 2`")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        betMean = "0",
                                        betNames = ".45",
                                        betCov = "1"),
                 regexp = "invalid R name")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        betMean = "0",
                                        betNames = "R",
                                        betCov = "1"),
  regexp = "between subject effects don't have a corresponding fixed parameter")

    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        betMean = "0",
                                        betNames = "X",
                                        betCov = "-1"),
                 regexp = "matrix not positive definite")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        betMean = "0",
                                        betNames = "X",
                                        betCov = "1,2,3"),
                 regexp = "Dimension problem")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        betMean = "0",
                                        betNames = "X",
                                        betCov = "1",
                                        range = "]t43t534w-02354"),
                 regexp = "No comparator in the code")
    expect_error(createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,0,0",
                                        covariance = "1",
                                        betMean = "0",
                                        betNames = "X",
                                        betCov = "1",
                                        range = "X"),
                 regexp = "No comparator in the code")

    dataNone <- createNormalParameters(50,
                                       names = "X,Y,Z",
                                       mean = "0,0,0",
                                       covariance = "1",
                                       betNames = "X,Y,Z",
                                       betCov = "1",
                                       betMean = "0,0,0",
                                       errStruc = "N",
                                       seed = 99)
    dataAdd <- createNormalParameters(50,
                                      names = "X,Y,Z",
                                      mean = "0,0,0",
                                      covariance = "1",
                                      betNames = "X,Y,Z",
                                      betCov = "1",
                                      betMean = "0,0,0",
                                      errStruc = "A",
                                      seed = 99)
    dataLogNorm <- createNormalParameters(50,
                                          names = "X,Y,Z",
                                          mean = "0,0,0",
                                          covariance = "1",
                                          betNames = "X,Y,Z",
                                          betCov = "1",
                                          betMean = "0,0,0",
                                          errStruc = "L",
                                          seed = 99)

    errStrucDiff <- round(dataAdd[, c("X", "Y", "Z")] -
                         (dataNone[, c("X", "Y", "Z")] +
                         dataNone[, paste(c("X", "Y", "Z"),
                                          ".Between",
                                          sep = "")]),
                         2)

    expect_true(all(unlist(errStrucDiff == 0)))

    logNorm  <- dataLogNorm[1, c("X", "Y", "Z")]
    logNorm2 <- dataNone[1, c("X", "Y", "Z")] *
        exp(dataNone[1, paste(c("X", "Y", "Z"), ".Between", sep = "")])
    logNorm3 <- round(logNorm2,3)

    expect_true(all(logNorm - logNorm3 == 0))

    dataNone <- createNormalParameters(50,
                                       names = "X,Y,Z",
                                       mean = "0,50,100",
                                       covariance = "1",
                                       betNames = "X,Y",
                                       betCov = "1",
                                       betMean = "0,0",
                                       errStruc = "None",
                                       seed = 99,
                                       digits = 10)

    dataNone$Z.Between <- rep(0, nrow(dataNone))

    dataAdd <- createNormalParameters(50,
                                      names = "X,Y,Z",
                                      mean = "0,50,100",
                                      covariance = "1",
                                      betNames = "X,Y",
                                      betCov = "1",
                                      betMean = "0,0",
                                      errStruc = "Add",
                                      seed = 99,
                                      digits = 10)

    dataLogNorm <- createNormalParameters(50,
                                          names = "X,Y,Z",
                                          mean = "0,50,100",
                                          covariance = "1",
                                          betNames = "X,Y",
                                          betCov = "1",
                                          betMean = "0,0",
                                          errStruc = "Log",
                                          seed = 99,
                                          digits = 10)
    .roundIt <- MSToolkit:::.roundIt

    expect_true(identical(.roundIt(dataAdd[, c("X", "Y")], 5),
                          .roundIt(dataNone[, c("X", "Y")] +
                                  dataNone[, paste(c("X", "Y"),
                                                   ".Between",
                                                   sep = "")],
                                  5)))

    v1 <- dataLogNorm[, c("Z", "Y")]
    v2 <- dataNone[, c("Z", "Y")] * exp(dataNone[, paste(c("Z","Y"),
                                                         ".Between",
                                                         sep = "")])

    expect_equal(v2, v1)
    expect_equal(dataAdd$Z, dataNone$Z, tolerance = 0.00001)
    expect_equal(dataLogNorm$Z, dataNone$Z, tolerance = 0.00001)
    dataNone <- createNormalParameters(50,
                                       names = "X,Y,Z",
                                       mean = "0,50,100",
                                       covariance = "1",
                                       betNames = "Z,Y",
                                       betCov = "1",
                                       betMean = "0,0",
                                       errStruc = "N",
                                       seed = 99,
                                       digits = 5)
    dataAdd <- createNormalParameters(50,
                                      names = "X,Y,Z",
                                      mean = "0,50,100",
                                      covariance = "1",
                                      betNames = "Z,Y",
                                      betCov = "1",
                                      betMean = "0,0",
                                      errStruc = "A",
                                      seed = 99,
                                      digits = 5)
    dataLogNorm <- createNormalParameters(50,
                                          names = "X,Y,Z",
                                          mean = "0,50,100",
                                          covariance = "1",
                                          betNames = "Z,Y",
                                          betCov = "1",
                                          betMean = "0,0",
                                          errStruc = "L",
                                          seed = 99,
                                          digits = 5)

    expect_true(all(.roundIt(dataAdd[, c("Z", "Y")] -
                            (dataNone[,c("Z", "Y")] +
                             dataNone[, paste(c("Z", "Y"), ".Between",sep = "")]
                             ), 3)
                    == 0))

    v1 <- dataLogNorm[, c("Z", "Y")]
    v2 <- dataNone[, c("Z", "Y")] *
        exp(dataNone[, paste(c("Z", "Y"), ".Between", sep = "")])

    expect_equal(v2, v1, tolerance=0.001)
    expect_true(all(dataAdd$X - dataNone$X == 0))
    expect_true(all(dataLogNorm$X - dataNone$X == 0))

    dataFixed <- createNormalParameters(50,
                                        names = "X,Y,Z",
                                        mean = "0,50,100",
                                        covariance = "1")
    for (va in c("X", "Y", "Z")) {
        expect_true(all(diff(dataFixed[[va]]) == 0))
    }
})

# test_that("test.data.param.wrap", {
#     testParamFile <- "testParam.csv"
#     wrongTestParamFile <- "wrongTestParam.csv"
#     expect_error(createParameters(-10), info = "wrong subject (negative)")
#     expect_error(createParameters(10, idCol = "ID, SUB"), info = "wrong id (too long)")
#     expect_error(createParameters(10, idCol = "08234ID"), info = "wrong id")
#     expect_error(createParameters(10, flagName = "PAROMIT, OMIT"),
#         info = "wrong flagName (too long)")
#     expect_error(createParameters(10, idCol = "082PAROMIT"),
#         info = "wrong flagName")
#     d1 <- createNormalParameters(50, names = "X,Y,Z", mean = "0,0,0",
#         covariance = "1", betNames = "X,Y,Z", betCov = "1", betMean = "0,0,0",
#         errStruc = "A", seed = 99)
#     d2 <- createParameters(50, genNames = "X,Y,Z", genFixedMean = "0,0,0",
#         genFixedCov = "1", genBetweenNames = "X,Y,Z", genBetweenCov = "1",
#         genBetweenMean = "0,0,0", genErrStruc = "A", seed = 99)
#     expect_true(identical(d1, d2), info = "only normal")
#     d1 <- createExternalParameters(20, names = "E0,ED50,EMAX",
#         file = testParamFile, workingPath = parameters.datapath,
#         dataId = "ID", errStruc = "A", betNames = "B1,B2", betNums = "1,3",
#         seed = 81)
#     d2 <- createParameters(20, extNames = "E0,ED50,EMAX", extDataId = "ID",
#         extFile = testParamFile, workingPath = parameters.datapath,
#         extErrStruc = "A", extBetween = "B1,B2", extBetweenNums = "1,3",
#         seed = 81)
#     expect_true(identical(d1, d2), info = "only external")
#     dNor <- createNormalParameters(50, names = "X,Y,Z", mean = "0,0,0",
#         covariance = "1", betNames = "X,Y,Z", betCov = "1", betMean = "0,0,0",
#         errStruc = "A", seed = 81)
#     dExt <- createExternalParameters(50, names = "E0,ED50,EMAX",
#         dataId = "ID", file = testParamFile, workingPath = parameters.datapath,
#         errStruc = "A", betNames = "B1,B2", betNums = "1,3",
#         seed = 81)
#     dAll <- createParameters(50, extNames = "E0,ED50,EMAX", extFile = testParamFile,
#         workingPath = parameters.datapath, extErrStruc = "A",
#         extBetween = "B1,B2", extBetweenNums = "1,3", extDataId = "ID",
#         seed = 81, genNames = "X,Y,Z", genFixedMean = "0,0,0",
#         genFixedCov = "1", genBetweenNames = "X,Y,Z", genBetweenCov = "1",
#         genBetweenMean = "0,0,0", genErrStruc = "A")
#     expect_true(identical(dNor[, c("SUBJ", "X", "Y", "Z")], dAll[,
#         c("SUBJ", "X", "Y", "Z")]), info = "all + nor")
#     expect_true(identical(dExt[, c("SUBJ", "E0", "ED50", "EMAX")],
#         dAll[, c("SUBJ", "E0", "ED50", "EMAX")]), info = "all + ext")
#     dNor <- createNormalParameters(50, names = "X,Y,Z", mean = "0,0,0",
#         covariance = "1", betNames = "X,Y,Z", betCov = "1", betMean = "0,0,0",
#         errStruc = "A", seed = 81, range = "Y < 3")
#     dExt <- createExternalParameters(50, names = "E0,ED50,EMAX",
#         file = testParamFile, workingPath = parameters.datapath,
#         dataId = "ID", errStruc = "A", betNames = "B1,B2", betNums = "1,3",
#         seed = 81, )
#     dAll <- createParameters(50, extNames = "E0,ED50,EMAX", extFile = testParamFile,
#         workingPath = parameters.datapath, extErrStruc = "A",
#         extBetween = "B1,B2", extBetweenNums = "1,3", extDataId = "ID",
#         seed = 81, genNames = "X,Y,Z", genFixedMean = "0,0,0",
#         genFixedCov = "1", genBetweenNames = "X,Y,Z", genBetweenCov = "1",
#         genBetweenMean = "0,0,0", genErrStruc = "A", genRange = "Y < 3")
#     expect_true(identical(dNor[, c("SUBJ", "X", "Y", "Z")], dAll[,
#         c("SUBJ", "X", "Y", "Z")]), info = "all + nor")
#     expect_true(identical(dExt[, c("SUBJ", "E0", "ED50", "EMAX")],
#         dAll[, c("SUBJ", "E0", "ED50", "EMAX")]), info = "all + ext")
#     expect_equal(dAll$PAROMIT, dNor$PAROMIT, info = "checking the PAROMIT")
# })
#
# test_that("test.parameter.rangeExclude", {
#     expect_error(createNormalParameters(500, names = "X,Y,Z",
#         mean = "0,50,100", covariance = "1", betNames = "X,Y",
#         betCov = "1", errStruc = "A", seed = 99, range = "Y < 50",
#         maxDraws = 1, parRangeTolerance = 0.9), info = "Bad range specified")
#     expect_true(is.data.frame(createNormalParameters(500, names = "X,Y,Z",
#         mean = "0,50,100", covariance = "1", betNames = "X,Y",
#         betCov = "1", errStruc = "A", seed = 99, range = "Y < 100",
#         maxDraws = 1, parRangeTolerance = 0.9)), info = "Good range specified")
#     warnData <- suppressWarnings(createNormalParameters(500,
#         names = "X,Y,Z", mean = "0,50,100", covariance = "1",
#         betNames = "X,Y", betCov = "1", errStruc = "A", seed = 99,
#         range = "Y < 50", parRangeTolerance = 0.1, maxDraws = 1))
#     expect_true(is.data.frame(warnData) & any(warnData$PAROMIT ==
#         1), info = "Dataset returned with parameter omits")
# })
#
# test_that("test.parameter.sf3", {
#     expect_error(createNormalParameters(50, names = "X,Y,Z",
#         mean = "100,100,100", covariance = "1", betNames = "X,Y",
#         betCov = "1", betMean = "0,0", errStruc = "N", digits = -1),
#         info = "digits should be positive")
#     dataNone <- createNormalParameters(50, names = "X,Y,Z", mean = "100,100,100",
#         covariance = "1", betNames = "X,Y", betCov = "1", betMean = "0,0",
#         errStruc = "N", digits = "2")
#     dataAdd <- createNormalParameters(50, names = "X,Y,Z", mean = "100,100,100",
#         covariance = "1", betNames = "X,Y", betCov = "1", betMean = "0,0",
#         errStruc = "A", digits = "2")
#     dataLogNorm <- createNormalParameters(50, names = "X,Y,Z",
#         mean = "100,100,100", covariance = "1", betNames = "X,Y",
#         betCov = "1", betMean = "0,0", errStruc = "L", digits = "2")
#     expect_equal(round(dataAdd[, c("X", "Y", "Z")], 2), dataAdd[,
#         c("X", "Y", "Z")], info = "check the atomic digits (add)")
#     expect_equal(round(dataLogNorm[, c("X", "Y", "Z")], 2), dataLogNorm[,
#         c("X", "Y", "Z")], info = "check the atomic digits (prop)")
#     expect_equal(round(dataNone[, c("X", "Y", "Z", "X.Between",
#         "Y.Between")], 2), dataNone[, c("X", "Y", "Z", "X.Between",
#         "Y.Between")], info = "check the atomic digits (prop)")
#     dataNone <- createNormalParameters(50, names = "X,Y,Z", mean = "100,100,100",
#         covariance = "1", betNames = "X,Y", betCov = "1", betMean = "0,0",
#         errStruc = "N", digits = "2,3,2")
#     dataAdd <- createNormalParameters(50, names = "X,Y,Z", mean = "100,100,100",
#         covariance = "1", betNames = "X,Y", betCov = "1", betMean = "0,0",
#         errStruc = "A", digits = "2,3,2")
#     dataLogNorm <- createNormalParameters(50, names = "X,Y,Z",
#         mean = "100,100,100", covariance = "1", betNames = "X,Y",
#         betCov = "1", betMean = "0,0", errStruc = "L", digits = "2,3,2")
#     expect_equal(round(dataAdd$X, 2), dataAdd$X, info = "check the vector digits (add,X)")
#     expect_equal(round(dataAdd$Y, 3), dataAdd$Y, info = "check the vector digits (add,Y)")
#     expect_equal(round(dataAdd$Z, 2), dataAdd$Z, info = "check the vector digits (add,Y)")
#     expect_equal(round(dataLogNorm$X, 2), dataLogNorm$X, info = "check the vector digits (Prop,X)")
#     expect_equal(round(dataLogNorm$Y, 3), dataLogNorm$Y, info = "check the vector digits (Prop,Y)")
#     expect_equal(round(dataLogNorm$Z, 2), dataLogNorm$Z, info = "check the vector digits (Prop,Y)")
#     expect_equal(round(dataNone$X, 2), dataNone$X, info = "check the vector digits (None,X)")
#     expect_equal(round(dataNone$Y, 3), dataNone$Y, info = "check the vector digits (None,Y)")
#     expect_equal(round(dataNone$Z, 2), dataNone$Z, info = "check the vector digits (None,Y)")
#     expect_equal(round(dataNone$X.Between, 2), dataNone$X.Between,
#         info = "check the vector digits (None,X.Between)")
#     expect_equal(round(dataNone$Y.Between, 3), dataNone$Y.Between,
#         info = "check the vector digits (None,Y.Between)")
# })
#
# test_that("test.parameter.sf8", {
#     dataNone <- createNormalParameters(50, names = "X,Y,Z", mean = "0,50,100",
#         betNames = "X,Y", covariance = "1", betMean = "0,0",
#         errStruc = "N", seed = 99)
#     expect_true(all(dataNone[, c("X.Between", "Y.Between")] ==
#         0), info = "checking 0 covariance by default for between effects")
#     data.sf8 <- createNormalParameters(500, names = "X,Y,Z",
#         mean = "0,50,100", seed = 99)
#     expect_true(all(sweep(data.sf8[, c("X", "Y", "Z")], 2, c(0,
#         50, 100), "-") == 0), info = "checking the 0 covariance by default")
# })
#
MikeKSmith/MSToolkit documentation built on Feb. 15, 2024, 5:32 p.m.