#-------------------------------------------------------------------------------
# Copyright (c) 2019-2022 University of Newcastle upon Tyne. All rights reserved.
#
# This program and the accompanying materials
# are made available under the terms of the GNU Public License v3.0.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#-------------------------------------------------------------------------------
#
# Set up
#
context("changeRefGroupDS::smk::setup")
#
# Tests
#
context("changeRefGroupDS::smk")
test_that("simple changeRefGroupDS, reorderByRef is FALSE", {
x <- c(8, 1, 6, 1, 4, 1, 2, 1)
xf <- as.factor(x)
ref <- 2
reorderByRef <- FALSE
res <- changeRefGroupDS(xf, ref, reorderByRef)
expect_equal(class(res), "factor")
expect_length(res, 8)
res.num <- as.numeric(res)
expect_equal(class(res.num), "numeric")
expect_length(res.num, 8)
expect_equal(res.num[1], 5)
expect_equal(res.num[2], 2)
expect_equal(res.num[3], 4)
expect_equal(res.num[4], 2)
expect_equal(res.num[5], 3)
expect_equal(res.num[6], 2)
expect_equal(res.num[7], 1)
expect_equal(res.num[8], 2)
res.levels <- levels(res)
expect_equal(class(res.levels), "character")
expect_length(res.levels, 5)
expect_equal(res.levels[1], "2")
expect_equal(res.levels[2], "1")
expect_equal(res.levels[3], "4")
expect_equal(res.levels[4], "6")
expect_equal(res.levels[5], "8")
})
test_that("simple changeRefGroupDS, reorderByRef is TRUE", {
x <- rep(8, 1, 6, 1, 4, 1, 2, 1)
xf <- as.factor(x)
ref <- 1
reorderByRef <- TRUE
res <- changeRefGroupDS(xf, ref, reorderByRef)
if (base::getRversion() < 4.1)
{
expect_equal(class(res), "integer")
expect_length(res, 6)
expect_equal(res[1], 1)
expect_equal(res[2], 1)
expect_equal(res[3], 1)
expect_equal(res[4], 1)
expect_equal(res[5], 1)
expect_equal(res[6], 1)
res.levels <- levels(res)
expect_true(is.null(res.levels))
}
else
{
expect_equal(class(res), "factor")
expect_length(res, 6)
res.num <- as.numeric(res)
expect_equal(class(res.num), "numeric")
expect_length(res.num, 6)
expect_equal(res.num[1], 1)
expect_equal(res.num[2], 1)
expect_equal(res.num[3], 1)
expect_equal(res.num[4], 1)
expect_equal(res.num[5], 1)
expect_equal(res.num[6], 1)
res.levels <- levels(res)
expect_equal(class(res.levels), "character")
expect_length(res.levels, 1)
expect_equal(res.levels[1], "8")
}
})
#
# Done
#
context("changeRefGroupDS::smk::shutdown")
context("changeRefGroupDS::smk::done")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.