test_that("Test suite aab",{
# Function f() tests the various next...() functions by creating a
# matrix by successively cbind()ing the next() partition; then
# comparing this matrix with the one produced by the vectorized
# function. Note that the test matrices are produced by repeated
# calls to cbind(): not very efficient, but OTOH all three functions
# are tested [first...() , next...(), and islast...()].
f <- function(n1,n2,n3,n4,n5,n6,n7){
a <- firstpart(n1)
out <- cbind(a)
while(!islastpart(a)){
a <- nextpart(a)
out <- cbind(out,a)
}
expect_true(all(out == parts(n1)))
a <- firstdiffpart(n1)
out <- cbind(a)
while(!islastdiffpart(a)){
a <- nextdiffpart(a)
out <- cbind(out,a)
}
expect_true(all(out == diffparts(n1)))
a <- firstrestrictedpart(n2,n3,FALSE)
out <- cbind(a)
while(!islastrestrictedpart(a)){
a <- nextrestrictedpart(a)
out <- cbind(out,a)
}
expect_true(all(out == restrictedparts(n2,n3,FALSE)))
a <- firstrestrictedpart(n2,n3,TRUE)
out <- cbind(a)
while(!islastrestrictedpart(a)){
a <- nextrestrictedpart(a)
out <- cbind(out,a)
}
expect_true(all(out == restrictedparts(n2,n3,TRUE)))
a <- firstblockpart(f=1:n4 , n=n5 , include.fewer=TRUE)
out <- cbind(a)
while(!islastblockpart(a, f=1:n4, n=n5, TRUE)){
a <- nextblockpart(a, f=1:n4 , n=n5, TRUE)
out <- cbind(out,a)
}
expect_true(all(out == blockparts(1:n4, n5, TRUE)))
a <- firstblockpart(f=1:n4 , n=n5 , include.fewer=FALSE)
out <- cbind(a)
while(!islastblockpart(a, f=1:n4 , FALSE)){
a <- nextblockpart(a,f=1:n4, n=n5,FALSE)
out <- cbind(out,a)
}
expect_true(all(out == blockparts(1:n4, n5, FALSE)))
a <- firstblockpart(f=1:n4 , n=NULL)
out <- cbind(a)
while(!islastblockpart(a, f=1:n4 , n=NULL)){
a <- nextblockpart(a, f=1:n4 , n=NULL)
out <- cbind(out,a)
}
expect_true(all(out == blockparts(f=1:n4,n=NULL)))
a <- firstcomposition(n6 , m=NULL , include.zero=TRUE)
out <- cbind(a)
while(!islastcomposition(a , FALSE , include.zero=TRUE)){
a <- nextcomposition(a , FALSE , include.zero=TRUE)
a <- c(a,rep(0,n6-length(a)))
out <- cbind(out,a)
}
expect_true(all(out == compositions(n6 , m=NULL, include.zero=TRUE)))
a <- firstcomposition(n6 , m=NULL , include.zero=FALSE)
out <- cbind(a)
while(!islastcomposition(a , FALSE , include.zero=FALSE)){
a <- nextcomposition(a , FALSE , include.zero=FALSE)
a <- c(a,rep(0,n6-length(a)))
out <- cbind(out,a)
}
expect_true(all(out == compositions(n6 , m=NULL, include.zero=FALSE)))
a <- firstcomposition(n6 , m=n7 , include.zero=FALSE)
out <- cbind(a)
while(!islastcomposition(a , TRUE, include.zero=FALSE)){
a <- nextcomposition(a , TRUE , include.zero=FALSE)
out <- cbind(out,a)
}
expect_true(all(out == compositions(n6 , m=n7, include.zero=FALSE)))
a <- firstcomposition(n6 , m=n7 , include.zero=TRUE)
out <- cbind(a)
while(!islastcomposition(a , TRUE , include.zero=TRUE)){
a <- nextcomposition(a , TRUE , include.zero=TRUE)
out <- cbind(out,a)
}
expect_true(all(out == compositions(n6 , m=n7, include.zero=TRUE)))
}
f(7, 11, 3, 4, 4, 5, 4)
f(8, 10, 4, 4, 3, 5, 5)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.