# test_lucid.R
# Time-stamp: <23 Apr 2019 15:05:44 c:/x/rpack/lucid/tests/testthat/test_lucid.R>
test_that("default", {
expect_equal(lucid(letters),
letters)
})
test_that("vector", {
set.seed(456)
lvec <- runif(10)
expect_equal(lucid(lvec),
c("0.0896", "0.211 ", "0.733 ", "0.852 ", "0.788 ", "0.332 ",
"0.0824", "0.286 ", "0.238 ", "0.385 "))
lvec[5] <- NA
expect_equal(lucid(lvec),
c("0.0896", "0.211 ", "0.733 ", "0.852 ", " NA", "0.332 ",
"0.0824", "0.286 ", "0.238 ", "0.385 ")
)
lvec <- c(1.23, NA, 123, 123000)
expect_equal(lucid(lvec),
c(" 1.23", " NA", " 123 ", "123000 "))
expect_equal(lucid(lvec, na.value=""),
c(" 1.23", " ", " 123 ", "123000 "))
expect_equal(
lucid(lvec, na.value="--"),
c(" 1.23", " --", " 123 ", "123000 ")
)
})
test_that("data.frame", {
ldf <- iris[1:3,3:5]
expect_equal(
lucid(ldf),
structure(list(Petal.Length = c("1.4", "1.4", "1.3"),
Petal.Width = c("0.2",
"0.2", "0.2"), Species = structure(c(1L, 1L, 1L), .Label = c("setosa",
"versicolor", "virginica"), class = "factor")), .Names = c("Petal.Length",
"Petal.Width", "Species"), row.names = c(NA, 3L), class = "data.frame")
)
ldf[2,] <- NA
expect_equal(
lucid(ldf),
structure(list(Petal.Length = c("1.4", " NA", "1.3"),
Petal.Width = c("0.2",
" NA", "0.2"), Species = structure(c(1L, NA, 1L), .Label = c("setosa",
"versicolor", "virginica"), class = "factor")), .Names = c("Petal.Length",
"Petal.Width", "Species"), row.names = c(NA, 3L), class = "data.frame")
)
expect_equal(
lucid(ldf, na=""),
structure(list(Petal.Length = c("1.4", " ", "1.3"), Petal.Width = c("0.2",
" ", "0.2"), Species = structure(c(1L, NA, 1L), .Label = c("setosa",
"versicolor", "virginica"), class = "factor")), .Names = c("Petal.Length",
"Petal.Width", "Species"), row.names = c(NA, 3L), class = "data.frame")
)
expect_equal(
lucid(ldf, na="--"),
structure(list(Petal.Length = c("1.4", " --", "1.3"),
Petal.Width = c("0.2",
" --", "0.2"), Species = structure(c(1L, NA, 1L), .Label = c("setosa",
"versicolor", "virginica"), class = "factor")), .Names = c("Petal.Length",
"Petal.Width", "Species"), row.names = c(NA, 3L), class = "data.frame")
)
expect_equal(
lucid(ldf, dig=2, na="--"),
structure(list(Petal.Length = c("1.4", " --", "1.3"), Petal.Width = c("0.2",
" --", "0.2"), Species = structure(c(1L, NA, 1L), .Label = c("setosa",
"versicolor", "virginica"), class = "factor")), .Names = c("Petal.Length",
"Petal.Width", "Species"), row.names = c(NA, 3L), class = "data.frame")
)
})
test_that("matrix", {
lmat <- as.matrix(mtcars[1:3,1:3])
lmat[1,1] <- lmat[2,2] <- lmat[3,3] <- NA
expect_equal(
lucid(lmat),
structure(c(" NA", "21 ", "22.8", " 6", "NA", " 4", "160",
"160", " NA"), .Dim = c(3L, 3L), .Dimnames = list(c("Mazda RX4",
"Mazda RX4 Wag", "Datsun 710"), c("mpg", "cyl", "disp")))
)
expect_equal(
lucid(lmat, na=""),
structure(c(" ", "21 ", "22.8", " 6", "", " 4", "160", "160",
" "), .Dim = c(3L, 3L), .Dimnames = list(c("Mazda RX4", "Mazda RX4 Wag",
"Datsun 710"), c("mpg", "cyl", "disp")))
)
expect_equal(
lucid(lmat, na=" -"),
structure(c(" -", "21 ", "22.8", " 6", " -", " 4", "160",
"160", " -"), .Dim = c(3L, 3L), .Dimnames = list(c("Mazda RX4",
"Mazda RX4 Wag", "Datsun 710"), c("mpg", "cyl", "disp")))
)
expect_equal(
lucid(lmat, dig=2, na="-"),
structure(c("-", "21", "23", " 6", "-", " 4", "160", "160", " -"
), .Dim = c(3L, 3L), .Dimnames = list(c("Mazda RX4", "Mazda RX4 Wag",
"Datsun 710"), c("mpg", "cyl", "disp")))
)
# To omit quotes from matrix output
expect_equal(
noquote(lucid(lmat, dig=2, na="-")),
structure(c("-", "21", "23", " 6", "-", " 4", "160", "160", " -"
), .Dim = c(3L, 3L), .Dimnames = list(c("Mazda RX4", "Mazda RX4 Wag",
"Datsun 710"), c("mpg", "cyl", "disp")), class = "noquote")
)
#print(lucid(lmat, dig=2, na="-"), quote=FALSE)
})
test_that("list", {
set.seed(456)
ll <- list(lvec=runif(10),ldf=iris[1:3,3:5],lmat=as.matrix(mtcars[1:3,1:3]))
expect_equal(
lucid(ll),
structure(list(lvec = c("0.0896", "0.211 ", "0.733 ", "0.852 ",
"0.788 ", "0.332 ", "0.0824", "0.286 ", "0.238 ", "0.385 "),
ldf = structure(list(Petal.Length = c("1.4", "1.4", "1.3"
), Petal.Width = c("0.2", "0.2", "0.2"), Species = structure(c(1L,
1L, 1L), .Label = c("setosa", "versicolor", "virginica"),
class = "factor")), .Names = c("Petal.Length",
"Petal.Width", "Species"), row.names = c(NA, 3L), class = "data.frame"),
lmat = structure(c("21 ", "21 ", "22.8", "6", "6", "4",
"160", "160", "108"), .Dim = c(3L, 3L), .Dimnames = list(
c("Mazda RX4", "Mazda RX4 Wag", "Datsun 710"), c("mpg",
"cyl", "disp")))), .Names = c("lvec", "ldf", "lmat"))
)
})
test_that("tibble", {
# when a tibble is printed:
# strings with spaces are printed with quotes
# strings without spaces have no quotes
# since lucid uses spaces to align columns of strings, print.tbl_df would
# strip some quotes, but not others; making lucid results look weird
prob <- structure(list(id = c("A", "B", "C"),
P0 = c(" a","b","c "),
P1 = c(-1, 0, 1),
P2 = c(3.3175e-140, 1.0637e-165, 1.1279e-157)),
.Names = c("id","P1", "P2","P3"),
row.names = c(NA, -3L),
class = c("tbl_df", "tbl", "data.frame"))
print(prob)
print(lucid(prob))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.