# Tests "bcaTrunc" function
context("truncate a bca")
library(dst)
test_that("bcaTrunc", {
#
# T1 x must be of class bcaspec.
#
x1 <- list(a=1:3, b="foo")
expect_error(bcaTrunc(x = x1, seuil = 0.1) ,"Input not of class bcaspec.")
#
#
# T2: seuil must be numeric
x2 <- bca(tt = matrix(c(0,1,0,0, 0,0,1,1,1,1,0,0,1,0,1,0,0,1,1,0,1,1,1,1),ncol=4, byrow = TRUE), m = c(0.2, 0.5, 0.06, 0.04, 0.03, 0.17), cnames = c("a", "b", "c", "d"))
expect_error(bcaTrunc(x=x2, seuil=,1 ), "Treshold must be a numeric value between 0 and 1.")
#
# T3: seuil must be > 0
x3 <- bca(tt = matrix(c(0,1,0,0, 0,0,1,1,1,1,0,0,1,0,1,0,0,1,1,0,1,1,1,1),ncol=4, byrow = TRUE), m = c(0.2, 0.5, 0.06, 0.04, 0.03, 0.17), cnames = c("a", "b", "c", "d"))
expect_error(bcaTrunc(x=x3, seuil= -.1 ), "Treshold must be a numeric value between 0 and 1.")
#
# T4: seuil must be < 1
x3 <- bca(tt = matrix(c(0,1,0,0, 0,0,1,1,1,1,0,0,1,0,1,0,0,1,1,0,1,1,1,1),ncol=4, byrow = TRUE), m = c(0.2, 0.5, 0.06, 0.04, 0.03, 0.17), cnames = c("a", "b", "c", "d"))
expect_error(bcaTrunc(x=x3, seuil= 2 ), "Treshold must be a numeric value between 0 and 1.")
#
# T5: truncate masses <= 0.06, not using ssnames
x1 <- bca(tt = matrix(c(0,1,0,0,0,0,1,1,1,1,0,0,1,0,1,0,0,1,1,0,1,1,1,1),ncol=4, byrow = TRUE), m = c(0.2, 0.5, 0.06, 0.04, 0.03, 0.17),cnames = c("a", "b", "c", "d"))
tr_x1 <- bcaTrunc(x1, seuil = 0.06)
expect_equal(tr_x1$spec[3,2],0.04+0.06+0.03)
# T6: truncate masses <= 0.06, using ssnames
tr_x2 <- bcaTrunc(x1, seuil = 0.06, use_ssnames=TRUE)
expect_equal(as.numeric(tr_x2$spec[3,2]),0.04+0.06+0.03)
# T7: truncate masses <= 0.06, using ssnames, with first element length >= 2
x2 <- bca(tt = matrix(c(0,0,1,1,1,1,0,0,1,0,1,0,0,1,1,0,1,1,1,1),ncol=4, byrow = TRUE), m = c(0.7, 0.06, 0.04, 0.03, 0.17),cnames = c("a", "b", "c", "d"))
tr_x2 <- bcaTrunc(x2, seuil = 0.06, use_ssnames=TRUE)
expect_equal(as.numeric(tr_x2$spec[2,2]),0.04+0.06+0.03)
# T8: truncate masses <= 0.06, using ssnames, with first element "Emptyset", doesn't affect masses on "Emptyset"
x3 <- bca(tt = matrix(c(0,0,0,0,0,0,1,1,1,1,0,0,1,0,1,0,0,1,1,0,1,1,1,1),ncol=4, byrow = TRUE), m = c(0.2, 0.5, 0.06, 0.04, 0.03, 0.17),cnames = c("a", "b", "c", "d"))
tr_x3 <- bcaTrunc(x3, seuil = 0.06, use_ssnames=TRUE)
expect_equal(as.numeric(tr_x3$spec[1,2]),0.2)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.