library(testthat)
context("Test all methods from utilities.R")
test_that("trim method is working well", {
expect_equal(trim(" hello "), "hello")
})
test_that("isODE method is working well", {
expect_true(isODE("d/dt(A_DEPOT)=-KA*A_DEPOT"))
expect_true(isODE("d/dt(A_OUTPUT)=K*A_CENTRAL"))
expect_false(isODE("d/dtHELLO(A_OUTPUT)=K*A_CENTRAL"))
expect_true(isODE("d/dt (A_OUTPUT) = K*A_CENTRAL"))
})
test_that("extractTextBetweenBrackets method is working well", {
expect_equal(extractTextBetweenBrackets("d/dt(A_DEPOT)=-KA*A_DEPOT"), "A_DEPOT")
expect_error(extractTextBetweenBrackets(c("d/dt(A_DEPOT)=-KA*A_DEPOT", "X=1")))
})
test_that("isEquation is working well", {
expect_true(isEquation("V3=THETA_V3*VDBW"))
expect_false(isEquation("if (OCC == 1) VIS1=1"))
expect_false(isEquation("THETA_V3"))
})
test_that("isComment is working well", {
expect_true(isComment("# HELLO"))
expect_true(isComment(" # HELLO"))
expect_true(isComment("\t# HELLO"))
expect_false(isComment("A# HELLO"))
expect_false(isComment(" A # HELLO"))
expect_false(isComment("V3=THETA_V3*VDBW"))
expect_false(isComment("V3=THETA_V3*VDBW # COMMENT")) # This is an equation that has a comment
})
test_that("hasComment is working well", {
expect_true(hasComment("# HELLO"))
expect_true(hasComment(" # HELLO"))
expect_true(hasComment("\t# HELLO"))
expect_true(hasComment("V3=THETA_V3*VDBW # COMMENT"))
expect_false(hasComment("V3=THETA_V3*VDBW"))
})
test_that("isEmptyLine is working well", {
expect_true(isEmptyLine(""))
expect_true(isEmptyLine(" "))
expect_true(isEmptyLine("\t"))
expect_false(isEmptyLine("\tA"))
})
test_that("extractLhs and extractRhs with comment works well", {
expect_equal(extractLhs("KA=THETA_KA*exp(ETA_KA) # Comment", split="#"), "KA=THETA_KA*exp(ETA_KA) ")
expect_equal(extractRhs("KA=THETA_KA*exp(ETA_KA) # Comment", split="#"), " Comment")
})
test_that("isIfStatement works well", {
line <- " if (ID > 30) TVCL=THETA_7*pow(0.009*TBW, THETA_8)"
expect_true(isIfStatement(line))
line <- " if (ID > (30)) TVCL=THETA_7*pow(0.009*TBW, THETA_8)"
expect_true(isIfStatement(line))
line <- " if(ID == 30) TVCL = THETA_7*pow(0.009*TBW, THETA_8)"
expect_true(isIfStatement(line))
})
test_that("isStrictRecordDelimiter works well", {
line <- "[MAIN]"
expect_true(isStrictRecordDelimiter(line))
line <- " [MAIN] "
expect_true(isStrictRecordDelimiter(line))
line <- " [ MAIN\t]"
expect_true(isStrictRecordDelimiter(line))
line <- "{MAIN]"
expect_false(isStrictRecordDelimiter(line))
line <- "[MAIN]# COMMENT1 "
expect_true(isStrictRecordDelimiter(line))
line <- "[MAIN] #COMMENT2 "
expect_true(isStrictRecordDelimiter(line))
line <- "[MAIN] A=1"
expect_false(isStrictRecordDelimiter(line))
expect_true(isRecordDelimiter(line))
})
test_that("getRecordDelimiter works well", {
line <- "[MAIN]"
expect_equal(getRecordDelimiter(line), "MAIN")
line <- " [MAIN\t] "
expect_equal(getRecordDelimiter(line), "MAIN")
line <- " [ MAIN ]"
expect_equal(getRecordDelimiter(line), "MAIN")
line <- "[MAIN] # MAIN block"
expect_equal(getRecordDelimiter(line), "MAIN")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.