Nothing
library(testthat)
context("test-3data")
suppressWarnings(RNGversion("3.5"))
test_that("normalizeData", {
df <- data.frame(pa1=NA, pa2=NA, i1=c(1, -1), i2=c(-2, 2))
df[1,paste0('pa',1:2)] <- c('a','b')
df[2,paste0('pa',1:2)] <- c('b','a')
expect_error(normalizeData(df, bob="whatever"),
"Rejected are any values passed")
df <- normalizeData(df)
expect_equal(df$pa1, c('a','a'))
expect_equal(df$i1, c(1,1))
expect_equal(df$i2, c(-2,-2))
df <- rbind(df, data.frame(pa1='c', pa2='b', i1=2, i2=-1))
df <- normalizeData(df, .palist = c('c','b','a'))
expect_equal(df$pa1, c( 'b','b','c'))
expect_equal(df$i1, c(-1,-1,2))
expect_error(normalizeData(df, .palist = c('b','a')),
".palist must be length 3")
expect_error(normalizeData(df, .palist = c('b','a','q')),
".palist must contain the names of all vertices")
d1 <- phyActFlowPropensity
d2 <- normalizeData(d1, .sortRows = FALSE)
# due to truncation from "running;solo" and similar
expect_equal(which(d1$pa1 != d2$pa1), c(151, 153))
})
test_that("prepCleanData", {
df <- data.frame(pa1=NA, pa2=NA, i1=c(1, -1))
df[1,paste0('pa',1:2)] <- c('a','b')
df[2,paste0('pa',1:2)] <- c('b','a')
dl <- prepCleanData(df)
expect_equal(dl$pa1, c(1,2))
expect_equal(dl$pa2, c(2,1))
df <- phyActFlowPropensity[,c(1,2,7)]
dl <- prepCleanData(df)
expect_equivalent(c(table(dl$refresh)), c(216L, 70L, 25L, 21L, 10L))
expect_equivalent(c(table(dl$weight)),
c(405L, 79L, 33L, 10L, 12L, 6L, 6L, 4L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L))
})
test_that("findModel", {
expect_message(findModel(), "Models available")
expect_error(findModel("asdg"), "Stan model not found")
})
test_that("prepSingleFactorModel", {
dl <- prepData(phyActFlowPropensity)
dl <- prepSingleFactorModel(dl)
expect_equal(dl$NFACTORS, 1)
expect_equal(dl$NPATHS, dl$NITEMS)
expect_equal(dl$factorScalePrior, as.array(1.2))
expect_equal(dl$factorItemPath[1,],
rep(1, dl$NITEMS))
expect_equal(dl$factorItemPath[2,],
1:dl$NITEMS)
})
test_that("prepFactorModel", {
pa <- phyActFlowPropensity[,setdiff(colnames(phyActFlowPropensity),
c('goal1','feedback1'))]
dl <- prepData(pa)
expect_error(prepFactorModel(dl, list()),
"No paths specified")
expect_error(prepFactorModel(dl,
list(c('complex','skill','predict',
'creative', 'novelty', 'stakes',
'present', 'reward', 'chatter',
'body'),
c('waiting','control','evaluated','spont'),
c('novelty', 'waiting'))),
"paths must be named")
expect_error(prepFactorModel(dl,
list(flow=c('complex','skill','predict',
'creative', 'novelty', 'stakes',
'present', 'reward', 'chatter',
'body'),
f2=c('waiting','control','evaluated','spont'),
rc=c('novelty'))),
"less than 2 indicators")
expect_error(prepFactorModel(dl,
list(flow=c('complex','skill','predict',
'creative', 'novelty', 'stakes',
'present', 'reward', 'chatter',
'bodies'),
f2=c('waiting','control','evaluated','spont'),
rc=c('novelty', 'waiting'))),
"No matching item for factor")
expect_error(prepFactorModel(dl,
list(flow=c('complex','skill','predict',
'creative', 'novelty', 'stakes',
'present', 'reward', 'chatter'),
f2=c('waiting','control','evaluated','spont'),
rc=c('novelty', 'waiting'))),
"No factor predicts item")
dl <- prepFactorModel(dl,
list(flow=c('complex','skill','predict',
'creative', 'novelty', 'stakes',
'present', 'reward', 'chatter',
'body'),
f2=c('waiting','control','evaluated','spont'),
rc=c('novelty', 'waiting')))
expect_equal(dl$nameInfo$factor,
c('flow','f2','rc'))
expect_equal(dl$NFACTORS, 3)
expect_equal(dl$NPATHS, 16)
expect_equal(dl$factorScalePrior, as.array(rep(1.2,3)))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.