Nothing
test_that("has useful print method", {
expect_snapshot({
foo1 <- new_class("foo1", package = NULL)
foo2 <- new_class("foo2", package = NULL)
new_union(foo1, foo2)
})
})
test_that("can construct from base types", {
u1 <- new_union(class_character)
expect_s3_class(u1, "S7_union")
expect_equal(u1$classes, list(class_character))
u2 <- new_union(class_character, class_integer)
expect_s3_class(u2, "S7_union")
expect_equal(u2$classes, list(class_character, class_integer))
})
test_that("can construct from unions", {
u1 <- new_union(class_character)
u2 <- new_union(class_integer)
u3 <- new_union(u1, u2)
expect_s3_class(u3, "S7_union")
expect_equal(u3$classes, list(class_character, class_integer))
expect_equal(new_union(u1, class_integer), u3)
})
test_that("base unions display as expected", {
expect_snapshot({
class_vector
str(class_vector)
})
})
test_that("can construct from S3 and S4 classes", {
S4_union <- methods::setClass("S4_union")
on.exit(S4_remove_classes("S4_union"))
u <- new_union(class_factor, S4_union)
expect_equal(u$classes, list(class_factor, getClass("S4_union")))
})
test_that("can construct with |", {
foo <- new_class("foo")
Foo1 <- setClass("Foo1", slots = list("x" = "numeric"))
Foo2 <- setClass("Foo2", slots = list("x" = "numeric"))
Foo3 <- setClassUnion("Foo3", c("Foo1", "Foo2"))
on.exit(S4_remove_classes(c("Foo1", "Foo2", "Foo3")))
expect_equal(class_integer | class_double, class_numeric)
expect_equal(class_integer | class_numeric, class_numeric)
expect_equal(class_integer | class_factor, new_union(class_integer, class_factor))
expect_equal(class_integer | foo, new_union(class_integer, foo))
expect_equal(class_integer | Foo1, new_union(class_integer, Foo1))
expect_equal(class_integer | getClass("Foo1"), new_union(class_integer, Foo1))
expect_equal(class_integer | Foo3, new_union(class_integer, Foo3))
expect_equal(class_integer | getClass("Foo3"), new_union(class_integer, Foo3))
expect_equal(class_integer | class_missing, new_union(class_integer, class_missing))
expect_equal(class_integer | class_any, new_union(class_integer, class_any))
})
test_that("can construct optional union with syntactic sugar", {
expect_equal(class_integer | NULL, new_union(class_integer, NULL))
expect_equal(NULL | class_integer, new_union(NULL, class_integer))
})
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.