context("Basic tests")
toks <- ECB_press_conferences_tokens[1:20]
sentopicmodel <- sentopicmodel(toks, lex = LoughranMcDonald)
test_that("creating a sentopicmodel works", {
expect_true(check_integrity(sentopicmodel, fast = FALSE))
expect_s3_class(sentopicmodel, "sentopicmodel")
})
sentopicmodel <- fit(sentopicmodel, 5, displayProgress = FALSE)
test_that("fitting a sentopicmodel works", {
expect_true(check_integrity(sentopicmodel, fast = FALSE))
expect_s3_class(sentopicmodel, "sentopicmodel")
expect_length(sentopicmodel$logLikelihood, 5)
expect_equal(sentopicmodel$it, 5)
expect_true(all(c("L1post", "L2post", "phi") %in% names(sentopicmodel)))
})
test_that("reset works", {
res <- reset(sentopicmodel)
expect_equal(res$it, 0)
expect_null(res$L1post)
expect_null(res$L2post)
expect_false(isTRUE(all.equal(sentopicmodel$za, res$za)))
expect_length(res$logLikelihood, 1)
})
test_that("print and plot methods work", {
expect_output(print(sentopicmodel), "A sentopicmodel topic model with 5 topics and 3 sentiments. Currently fitted by 5 Gibbs sampling iterations.")
})
test_that("output functions works", {
expect_silent(tops <- topWords(sentopicmodel, output = "matrix"))
expect_type(tops, "character")
expect_false(anyNA(tops))
txts <- getTexts(sentopicmodel, topic = "l1-1", "negative")
expect_length(txts, 3)
expect_type(unlist(txts), "character")
})
test_that("topWords subset works", {
expect_silent(tops <- topWords(sentopicmodel, output = "matrix", subset = topic %in% 1))
expect_equal(dim(tops), c(10L, 3L))
expect_silent(tops <- topWords(sentopicmodel, output = "matrix",
subset = topic %in% 1 & sentiment == 3L))
expect_equal(dim(tops), c(10L, 1L))
expect_silent(tops <- topWords(sentopicmodel, output = "matrix",
subset = topic %in% 1 & sentiment == 9L))
expect_equal(dim(tops), c(10L, 0L))
})
test_that("topWords methods works", {
expect_silent(tops <- topWords(sentopicmodel, method = "probability"))
expect_true(all(is.finite(tops$value)))
expect_output(print(tops), "probability")
expect_silent(tops <- topWords(sentopicmodel, method = "term-score"))
expect_true(all(is.finite(tops$value)))
expect_output(print(tops), "term-score")
expect_silent(tops <- topWords(sentopicmodel, method = "FREX"))
expect_true(all(is.finite(tops$value)))
expect_output(print(tops), "FREX")
})
test_that("Updates works", {
alphaU <- sentopicmodel(toks, L1cycle = 2)
alphaU <- fit(alphaU, 5, displayProgress = FALSE)
expect_false(isTRUE(all.equal(rep(1, 5), alphaU$alpha)))
alphaU <- LDA(toks)
alphaU$alphaCycle <- 2
alphaU <- fit(alphaU, 5, displayProgress = FALSE)
expect_false(isTRUE(all.equal(rep(1, 5), alphaU$alpha)))
})
### TODO: add test for utils functions such as getTheta()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.