Nothing
context("Tests for generated data")
vocab <- generateVocab(nTopics = 5, nSentiments = 3, nWords = 5, nCommonWords = 2)
vocab2 <- vocabFromList(unname(list(
topic1 = list(sent1 = c("tasty", "delicious"), sent2 = c("bad", "smelly")),
topic2 = list(sent1 = c("surprising", "amazing"), sent2 = c("boring", "annoying")),
topic3 = list(sent1 = "fearless", sent2 = "coward")
)))
vocab3 <- vocabFromList(unname(list(
topic1 = "super",
topic2 = "extra",
topic3 = "top"
)))
test_that("vocab generation works", {
expect_equal(dim(vocab), c(5 * 3 * 5 + 2 * (5 + 3), 3, 5))
expect_equal(sum(vocab), 5 * 3)
expect_equal(sum(vocab < 0), 0)
expect_equal(sum(vocab2), 3 * 2)
expect_equal(sum(vocab2 < 0), 0)
expect_equal(sum(vocab3), 3 * 1)
expect_equal(sum(vocab3 < 0), 0)
})
toks <- generateDocuments(vocab, nDocs = 20, L1prior = 5, L2prior = 5, nWords = 200, nClass = 2)
test_that("document generation works", {
expect_length(toks, 20)
expect_equal(sort(unique(quanteda::docvars(toks, "class"))), 1:2)
expect_s3_class(toks, "tokens")
})
lex <- generatePartialLexicon(toks)
test_rJST <- rJST(toks, lexicon = lex)
test_JST <- JST(toks, lexicon = lex)
test_that("lexicon & class generation works", {
expect_s4_class(lex, "dictionary2")
lexWords <- unique(unlist(lex))
expect_length(lexWords, 4)
expect_setequal(test_rJST$vocabulary[!is.na(lexicon), word], lexWords)
expect_setequal(test_JST$vocabulary[!is.na(lexicon), word], lexWords)
expect_lt(sum(test_rJST$beta), length(test_rJST$beta)*.01)
expect_lt(sum(test_JST$beta), length(test_JST$beta)*.01)
})
generated_sentopicmodel <- sentopicmodel(toks)
generated_sentopicmodel <- fit(generated_sentopicmodel, 20, displayProgress = FALSE)
test_that("generated sentopicmodel works", {
expect_true(check_integrity(generated_sentopicmodel))
expect_s3_class(generated_sentopicmodel, "sentopicmodel")
expect_length(generated_sentopicmodel$logLikelihood, 20)
expect_equal(generated_sentopicmodel$it, 20)
expect_true(all(c("L1post", "L2post", "phi") %in% names(generated_sentopicmodel)))
})
test_that("generateDocuments incorrect priors", {
vocab <- generateVocab(nTopics = 2, nSentiments = 3, nWords = 5, nCommonWords = 2)
expect_error(
corpus <- generateDocuments(vocab, nClass = 2, L1prior = matrix(1:6, 3, 2), L2prior = array(1:12, dim = c(2, 3, 2)), nDocs = 20),
"Please provide a valid L1prior"
)
expect_error(
corpus <- generateDocuments(vocab, nClass = 2, L1prior = matrix(1:4, 2, 2), L2prior = array(1:18, dim = c(2, 3, 3)), nDocs = 20),
"Please provide a valid L2prior"
)
expect_output(
corpus <- generateDocuments(vocab, nClass = 2, L1prior = matrix(1:4, 2, 2), L2prior = array(1:12, dim = c(2, 3, 2)), nDocs = 20),
NA
)
})
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.