context("test-g01-sign")
pos <- Constant(1)
neg <- Constant(-1)
zero <- Constant(0)
unknown <- Variable()
test_that("test sign addition", {
expect_equal(sign(pos + neg), sign(unknown))
expect_equal(sign(neg + zero), sign(neg))
expect_equal(sign(pos + pos), sign(pos))
expect_equal(sign(unknown + zero), sign(unknown))
})
test_that("test sign subtraction", {
expect_equal(sign(pos - neg), sign(pos))
expect_equal(sign(neg - zero), sign(neg))
expect_equal(sign(pos - pos), sign(unknown))
})
test_that("test sign multiplication", {
expect_equal(sign(zero * pos), sign(zero))
expect_equal(sign(unknown * pos), sign(unknown))
expect_equal(sign(pos * neg), sign(neg))
expect_equal(sign(pos * pos), sign(pos))
expect_equal(sign(neg * neg), sign(pos))
expect_equal(sign(zero * unknown), sign(zero))
})
test_that("test sign negation", {
expect_equal(sign(-zero), sign(zero))
expect_equal(sign(-pos), sign(neg))
})
test_that("test if sign is nonnegative or nonpositive", {
expect_true(is_nonneg(pos))
expect_false(is_nonneg(neg))
expect_false(is_nonneg(unknown))
expect_true(is_nonneg(zero))
expect_false(is_nonpos(pos))
expect_true(is_nonpos(neg))
expect_false(is_nonpos(unknown))
expect_true(is_nonpos(zero))
expect_true(is_zero(zero))
expect_false(is_zero(neg))
expect_false(is_nonneg(unknown) || is_nonpos(unknown))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.