Nothing
test_that("construct well-formed single kanjivec object", {
skip_on_cran() # not automatically done, since not a snapshot test, but one which is rather flaky
expect_equal( kanjivec(kanji = "藤", database="_data_and_more_snaps/", flatten="intelligent",
bezier_discr="svgparser", simplify=TRUE),
kanjivec_ref_fuji, ignore_attr = c("call", "kanjistat_version") )
# res <- kanjivec(kanji = "藤", flatten="intelligent", simplify=TRUE)
# saveRDS(res, "kanjivec_ref_fuji.rds")
# kanjivec_ref_fuji is readRDS'ed in helper.R
# with this kanji flattening for leaf children is also tested (parents g7 and g8),
# but flattening of inner node children does not occur
})
test_that("construct well-formed list of multiple kanjivec objects", {
skip_on_cran() # not automatically done, since not a snapshot test, but one which is rather flaky
currentlist <- kanjivec(kanji = "藤藤藤", database="_data_and_more_snaps/", flatten="intelligent",
bezier_discr="svgparser", simplify=TRUE)
# should still give list of length 3
expect_type(currentlist, "list")
expect_length(currentlist, 3)
classes_ref <- rep("kanjivec", 3)
attr(classes_ref, "names") <- c("kvec085e4", "kvec085e4", "kvec085e4") # these are from the right codepoints
expect_equal( sapply(currentlist, class), classes_ref )
expect_equal(currentlist[[2]] , kanjivec_ref_fuji,
ignore_attr = c("call", "kanjistat_version") )
# kanjimat_ref_fuji is readRDS'ed in helper.R
# we bluntly exclude call here, otherwise diff
# "kanjimat(kanji = \"鶏処藤\", family = \"wqy-microhei\", size = 64)" (actual)
# "kanjimat(kanji = \"藤\", family = \"wqy-microhei\", size = 64)" (expected)
})
test_that("stroketree and strokedend produced with various options of flatten in kanjivec", {
skip_on_cran() # not automatically done, since not a snapshot test, but one which is rather flaky
current_all <- kanjivec(kanji = "郵", database="_data_and_more_snaps/", flatten=TRUE, bezier_discr="svgparser", simplify=TRUE)
current_inner <- kanjivec(kanji = "郵", database="_data_and_more_snaps/", flatten="inner", bezier_discr="svgparser", simplify=TRUE)
current_outer <- kanjivec(kanji = "郵", database="_data_and_more_snaps/", flatten="leaves", bezier_discr="svgparser", simplify=TRUE)
current_none <- kanjivec(kanji = "郵", database="_data_and_more_snaps/", flatten=FALSE, bezier_discr="svgparser", simplify=TRUE)
# stroketrees
expect_equal( current_all$stroketree, treedend_ref_yuumail$stroketree_all)
expect_equal( current_inner$stroketree, treedend_ref_yuumail$stroketree_inner)
expect_equal( current_outer$stroketree, treedend_ref_yuumail$stroketree_outer)
expect_equal( current_none$stroketree, treedend_ref_yuumail$stroketree_none)
# strokedends
expect_equal( current_all$strokedend, treedend_ref_yuumail$strokedend_all)
expect_equal( current_inner$strokedend, treedend_ref_yuumail$strokedend_inner)
expect_equal( current_outer$strokedend, treedend_ref_yuumail$strokedend_outer)
expect_equal( current_none$strokedend, treedend_ref_yuumail$strokedend_none)
})
# yuumail <- list()
# fall <- kanjivec(kanji = "郵", flatten=TRUE, save=FALSE, simplify=TRUE)
# finner <- kanjivec(kanji = "郵", flatten="inner", save=FALSE, simplify=TRUE)
# fouter <- kanjivec(kanji = "郵", flatten="leaves", save=FALSE, simplify=TRUE)
# fnone <- kanjivec(kanji = "郵", flatten=FALSE, save=FALSE, simplify=TRUE)
# yuumail$stroketree_all <- fall$stroketree
# yuumail$strokedend_all <- fall$strokedend
# yuumail$stroketree_inner <- finner$stroketree
# yuumail$strokedend_inner <- finner$strokedend
# yuumail$stroketree_outer <- fouter$stroketree
# yuumail$strokedend_outer <- fouter$strokedend
# yuumail$stroketree_none <- fnone$stroketree
# yuumail$strokedend_none <- fnone$strokedend
# saveRDS(yuumail, file="kanjivec_flatten_ref_yuumail.rds")
# plot(fnone, type="dend", family="hiragino_sans")
# str(fnone$stroketree)
# str(fnone$strokedend)
# plot(finner, type="dend", family="hiragino_sans")
# str(finner$stroketree)
# str(finner$strokedend)
# plot(fouter, type="dend", family="hiragino_sans")
# str(fouter$stroketree)
# str(fouter$strokedend)
# plot(fall, type="dend", family="hiragino_sans")
# str(fall$stroketree)
# str(fall$strokedend)
test_that("plot kanjivec object, type kanji", {
skip_on_cran()
skip_on_ci()
skip_if_not(capabilities("cairo"))
kanjivec_kanji_to_jpg <- function(kanji) {
path <- tempfile("fuji_kanji", fileext = ".jpg")
jpeg(path, width = 480, height = 480)
par(mai=rep(0.05,4))
plot(kanji, type = "kanji", seg_depth = 4)
dev.off()
return(path)
}
expect_snapshot_file( kanjivec_kanji_to_jpg(kanjivec_ref_fuji), "fuji_kanji.jpg" )
})
test_that("plot kanjivec object, type dend", {
skip_on_cran()
skip_on_ci()
skip_on_os("windows")
skip_if_not(capabilities("cairo"))
kanjivec_dend_to_jpg <- function(kanji) {
path <- tempfile("fuji_dend", fileext = ".jpg")
jpeg(path, width = 480, height = 480)
par(mai=rep(0.05,4))
plot(kanji, type = "dend", family = "wqy-microhei")
dev.off()
return(path)
}
expect_snapshot_file( kanjivec_dend_to_jpg(kanjivec_ref_fuji), "fuji_dend.jpg" )
})
test_that("print kanjivec object", {
withr::local_options(width = 68)
expect_snapshot( print(kanjivec_ref_fuji) )
})
test_that("str for kanjivec object", {
withr::local_options(width = 68)
expect_snapshot( str(kanjivec_ref_fuji) )
})
# stroketree_to_dend and plotdend are "implicitly tested" by the tests for kanjivec and plot.kanjivec
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.