context("format r")
test_that("fmt_new(\"r\") can round to significant digits", {
expect_equal(fmt_new(".2r")(0), "0.0")
expect_equal(fmt_new(".1r")(0.049), "0.05")
expect_equal(fmt_new(".1r")(-0.049), "-0.05")
expect_equal(fmt_new(".1r")(0.49), "0.5")
expect_equal(fmt_new(".1r")(-0.49), "-0.5")
expect_equal(fmt_new(".2r")(0.449), "0.45")
expect_equal(fmt_new(".3r")(0.4449), "0.445")
expect_equal(fmt_new(".3r")(1.00), "1.00")
expect_equal(fmt_new(".3r")(0.9995), "1.00")
expect_equal(fmt_new(".5r")(0.444449), "0.44445")
expect_equal(fmt_new("r")(123.45), "123.450")
expect_equal(fmt_new(".1r")(123.45), "100")
expect_equal(fmt_new(".2r")(123.45), "120")
expect_equal(fmt_new(".3r")(123.45), "123")
expect_equal(fmt_new(".4r")(123.45), "123.5")
expect_equal(fmt_new(".5r")(123.45), "123.45")
expect_equal(fmt_new(".6r")(123.45), "123.450")
expect_equal(fmt_new(".1r")(.9), "0.9")
expect_equal(fmt_new(".1r")(.09), "0.09")
expect_equal(fmt_new(".1r")(.949), "0.9")
expect_equal(fmt_new(".1r")(.0949), "0.09")
expect_equal(fmt_new(".1r")(.0000000129), "0.00000001")
expect_equal(fmt_new(".2r")(.0000000129), "0.000000013")
expect_equal(fmt_new(".2r")(.00000000129), "0.0000000013")
expect_equal(fmt_new(".3r")(.00000000129), "0.00000000129")
expect_equal(fmt_new(".4r")(.00000000129), "0.000000001290")
expect_equal(fmt_new(".10r")(.9999999999), "0.9999999999")
expect_equal(fmt_new(".15r")(.999999999999999), "0.999999999999999")
})
test_that("fmt_new(\"r\") can round very small numbers", {
f <- fmt_new(".2r")
expect_equal(f(1e-22), "0.00000000000000000000010")
})
test_that("fmt_new(\"r\") works with special values", {
f <- fmt_new("r")
expect_equal(f(c(Inf, -Inf, NA, NaN)), c("Inf", "-Inf", "NA", "NaN"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.