## GENERATE SEGMENTS
n <- 50 # SEQUENCE LENGTH
M <- 3 # number segmentations (breakpoint lists)
b <- list("S1" = c(1, 21, 32, 50), "S2" = c(1, 13, 19, 50), "S3" = c(1, 5, 12, 37, 50) ) # breakpoint list
bl <- lapply(b, function(x) sort(unique(c(1,x,n,n+1)))) # breakpoints for consensus call (n+1 needed?)
## weights
w <- rep(1/M, M)
## potential function
my_e <- "L*L/2"
# Start Tests
# Test compileEquation
test_that("compile e",{
my_e <- "L*L/2"
e <- compileEquation(my_e)
expect_type(e, "externalptr")
})
# Test evaluateEquation
test_that("evaluate e",{
my_e <- "L*L/2"
e <- compileEquation(my_e)
expect_equal(evaluateEquation(e, 1, n), 0.5)
expect_equal(evaluateEquation(e, 2, n), 2)
})
#Test consensus
test_that("consensus breakpoints",{
my_e <- "L*L/2"
e <- compileEquation(my_e)
cons <- consensus_c(bl, w=w, e=e, n=n,store=TRUE)
expect_equal(cons$breakpoints, c(1, 13, 19, 32, 50))
expect_equal(cons$values$ptr, c(0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,20,20,20,20,20,18,18,18,18,18,18,18,18,18,18,18,36,36,36,36,36,36,36,36,36,36,36,36,31,49))
expect_equal(cons$values$F, c(-0.5,-2,-4.5,-8,-9.83333333333333,-12.6666666666667,-16.5,-21.3333333333333,-27.1666666666667,-34,-41.8333333333333,-46,-46.5,-48,-50.5,-54,-58.5,-64,-66.5,-70,-70.5,-72,-74.5,-77.9999999999999,-82.5,-88,-95.1666666666666,-103.333333333333,-112.5,-122.666666666667,-133.833333333333,-138.666666666667,-144.5,-151.333333333333,-159.166666666667,-168,-168.5,-170,-172.5,-176,-180.5,-186,-192.5,-200,-208.5,-218,-228.5,-240,-252.5,-253))
expect_equal(cons$values$dsm, c(0,0,0,2.66666666666667,2.66666666666667,2.66666666666667,2.66666666666667,2.66666666666667,2.66666666666667,2.66666666666667,10.8333333333333,34.8333333333333,34.8333333333333,34.8333333333333,34.8333333333333,34.8333333333333,34.8333333333333,40.8333333333333,40.8333333333333,107.5,107.5,107.5,107.5,107.5,107.5,107.5,107.5,107.5,107.5,107.5,127.666666666667,127.666666666667,127.666666666667,127.666666666667,127.666666666667,231.833333333333,231.833333333333,231.833333333333,231.833333333333,231.833333333333,231.833333333333,231.833333333333,231.833333333333,231.833333333333,231.833333333333,231.833333333333,231.833333333333,231.833333333333,474.166666666667,474.666666666667))
expect_equal(cons$values$dsq, c(93.3333333333333,93.3333333333333,93.3333333333333,93.3333333333333,101.5,101.5,101.5,101.5,101.5,101.5,101.5,205.666666666667,211.666666666667,211.666666666667,211.666666666667,211.666666666667,211.666666666667,211.666666666667,371.833333333333,371.833333333333,392,392,392,392,392,392,392,392,392,392,392,446,446,446,446,446,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.166666666667,474.666666666667))
expect_equal(cons$values$dcu, c(0,81.8333333333333,71.3333333333333,61.8333333333333,53.3333333333333,51.6666666666667,42.8333333333333,35,28.1666666666667,22.3333333333333,17.5,13.6666666666667,106.666666666667,100.5,89.3333333333333,79.1666666666667,70,61.8333333333333,54.6666666666667,198.333333333333,182.833333333333,184.833333333333,167.666666666667,151.5,136.333333333333,122.166666666667,109,96.8333333333333,85.6666666666667,75.5,66.3333333333333,58.1666666666667,99,86.8333333333333,75.6666666666667,65.5,56.3333333333333,72,60.5,50,40.5,32,24.5,18,12.5,8,4.5,2,0.5,0))
expect_equal(cons$values$dcd, c(0.5,2,4.5,5.33333333333333,8.5,12.6666666666667,17.8333333333333,24,31.1666666666667,39.3333333333333,40.3333333333333,24.1666666666667,29,34.8333333333333,41.6666666666667,49.5,58.3333333333333,62.1666666666667,71,14.1666666666667,18.3333333333333,23.5,29.6666666666667,36.8333333333333,45,54.1666666666667,64.3333333333333,75.5,87.6666666666667,100.833333333333,94.8333333333333,106.333333333333,118.833333333333,132.333333333333,146.833333333333,58.1666666666667,66.3333333333333,75.5,85.6666666666667,96.8333333333333,109,122.166666666667,136.333333333333,151.5,167.666666666667,184.833333333333,203,222.166666666667,0,0))
expect_equal(cons$values$dstar, c(0,0,0,0,0,0,0,0,0,0,0,0,35.6666666666667,31.3333333333333,27,22.6666666666667,18.3333333333333,14,9.66666666666667,5.33333333333333,63.6666666666667,60,56.3333333333333,52.6666666666667,49,23.3333333333333,21,18.6666666666667,16.3333333333333,14,11.6666666666667,9.33333333333333,7,4.66666666666667,2.33333333333333,0,92,84.3333333333333,76.6666666666667,69,61.3333333333333,53.6666666666667,46,38.3333333333333,30.6666666666667,23,15.3333333333333,7.66666666666667,0,0))
expect_equal(cons$values$Bup, array(c(c(20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,31,31,31,31,31,31,31,31,31,31,31,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50),c(12,12,12,12,12,12,12,12,12,12,12,12,18,18,18,18,18,18,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50),c(4,4,4,4,11,11,11,11,11,11,11,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,49,49,49,49,49,49,49,49,49,49,49,49,49,50)),dim=c(50, 3)))
expect_equal(cons$values$Blw, array(c(c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,21,21,21,21,21,21,21,21,21,21,21,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,50,1,1,1,1,1,1,1,1,1,1,1,1,13,13,13,13,13,13,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,50,1,1,1,1,5,5,5,5,5,5,5,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,37,37,37,37,37,37,37,37,37,37,37,37,37,50)),dim=c(50, 3)))
expect_equal(cons$values$Dk,c(0,0,0,0,0,0,0,0,0,0,0,0,-0.500000000000015,-1.99999999999998,-4.5,-8.00000000000002,-12.5,-18,-20.5,-24,-0.500000000000012,-1.99999999999999,-4.49999999999998,-7.99999999999996,-12.5,-24,-31.1666666666666,-39.3333333333333,-48.5,-58.6666666666666,-69.8333333333333,-74.6666666666667,-80.5,-87.3333333333333,-95.1666666666666,-104,-0.499999999999905,-1.99999999999994,-4.49999999999993,-7.99999999999994,-12.4999999999999,-17.9999999999999,-24.4999999999999,-31.9999999999999,-40.4999999999999,-49.9999999999999,-60.4999999999999,-71.9999999999999,-118.666666666667,-0.500000000000114))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.