test_that("discretization works", {
# create test data
num_dim <- 2
num_val <- 3
test_integer <- 1:(num_val ^ num_dim)
test_numeric <- as.numeric(test_integer)
test_fl <- fitscape::FitLandDF(array(test_integer, dim = rep(num_val, num_dim)))
## HARDCODED for num_dim := 2 and num_val := 3
ans1 <- c(rep(1, 3), rep(2, 3), rep(3, 3))
ans2 <- 1:9
ans3 <- c(rep(1, 5), rep(2, 4))
##
# test various discretizations of integer
expect_equal(discretize(test_integer, 3), ans1)
expect_equal(discretize(test_integer, 9), ans2)
expect_equal(discretize(test_integer, 2), ans3)
# test various discretizations of numeric
expect_equal(discretize(test_numeric, 3), ans1)
expect_equal(discretize(test_numeric, 9), ans2)
expect_equal(discretize(test_numeric, 2), ans3)
## test various discretizations of FitLandDF (with rest of df unchanged)
# calculate discretization
test1 <- discretize(test_fl, 3)
test2 <- discretize(test_fl, 9)
test3 <- discretize(test_fl, 2)
# ensure rest of DF didn't change
initial_df <- fitscape::extract_df(test_fl)[, 1:num_dim]
expect_identical(initial_df, fitscape::extract_df(test1)[, 1:num_dim])
expect_identical(initial_df, fitscape::extract_df(test2)[, 1:num_dim])
expect_identical(initial_df, fitscape::extract_df(test3)[, 1:num_dim])
# confirm discretization worked correctly
expect_equal(test1$Value, ans1)
expect_equal(test2$Value, ans2)
expect_equal(test3$Value, ans3)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.