Nothing
context("non-ggplot tests")
test_that("cf_grid", {
a <- b <- seq(-4*pi, 4*pi, len = 27)
r <- sqrt(outer(a^2, b^2, "+"))
cf_grid(cos(r^2)*exp(-r/(2*pi)))
cf_grid(cos(r^2)*exp(-r/(2*pi)), bar=T)
cf_grid(cos(r^2)*exp(-r/(2*pi)), bar=T, mainminmax = T)
# Give in list x,y,z
cf_grid(list(x=a,y=b,z=cos(r^2)*exp(-r/(2*pi))))
# Give in nothing, get error
expect_error(cf_grid())
cf_grid(x=list(x=a,y=b), z=cos(r^2)*exp(-r/(2*pi)))
expect_error(cf_grid(rev(x), y, cos(r^2)*exp(-r/(2*pi))))
expect_error(cf_grid(x, rev(y), cos(r^2)*exp(-r/(2*pi))))
expect_error(cf_grid(cos(r^2)*exp(-r/(2*pi)), xaxis=T, yaxis=F), NA)
expect_error(cf_grid(cos(r^2)*exp(-r/(2*pi)), xaxis=F, yaxis=T), NA)
expect_error(cf_grid(a,b,z=c(cos(r^2)*exp(-r/(2*pi)))))
cf_grid(matrix(as.integer(3*cos(r^2)*exp(-r/(2*pi))),27,27))
cf_grid(cos(r^2)*exp(-r/(2*pi)), pts=c(.1,.2,.3,.4,.5,.6))
cf_grid(cos(r^2)*exp(-r/(2*pi)), afterplotfunc=function(){text(.4,.6,labels="Text added!")})
expect_true(is.function(cf_grid(cos(r^2)*exp(-r/(2*pi)), reset.par = F)))
# csa
expect_error(csa(), NA)
expect_error(csa(silent=T), NA)
})
test_that("cf_data", {
x <- runif(20)
y <- runif(20)
z <- exp(-(x-.5)^2-5*(y-.5)^2)# + rnorm(20,0,.05)
x2 <- runif(100)
y2 <- runif(100)
z2 <- exp(-(x2-.5)^2-5*(y2-.5)^2)# + rnorm(20,0,.05)
cf_data(x,y,z)
cf_data(x,y,z, bar=T)
cf(x,y,z)
cf_data(x,y,z, fit="mlegp")
cf_data(x,y,z, xylim=c(-1,2))
cf_data(cbind(x,y),y=z)
cf_data(cbind(x,y),z=z)
cf_data(cbind(x,y,z))
# Fit with other packages
expect_error(cf_data(x,y,z, fit="locfit"), NA)
# gam needs more data to avoid error
expect_error(cf_data(x2,y2,z2, fit="gam"), NA)
# Fit binomial
expect_error(cf_data(x2, y2, round(pmax(0, pmin(1, z2+rnorm(100,0,.3)))), family="binomial", fit="locfit"), NA)
expect_error(cf_data(x2, y2, round(pmax(0, pmin(1, z2+rnorm(100,0,.3)))), family=binomial(), fit="gam"), NA)
# Errors
expect_error(cf_data(cbind(x,y,y),y=z))
expect_error(cf_data(cbind(x,y,y),z=z))
expect_error(cf_data(cbind(x,y)))
expect_error(cf_data(cbind(x,y,z,z)))
})
test_that("cf_func", {
cf_func(function(xx){exp(-sum((xx-.5)^2/.1))})
cf_func(function(xx){exp(-sum((xx-.5)^2/.1))}, bar=T)
cf_func(function(xx){exp(-sum((xx-.5)^2/.1))}, main="Title check")
cf_func(function(xx){exp(-sum((xx-.5)^2/.1))}, bar=T, main="Title check")
cf_func(function(xx){exp(-sum((xx-.5)^2/.1))},pts=matrix(c(.2,.2,.2,.8,.8,.2,.8,.8),byrow=T,ncol=2))
cf(function(xx){exp(-sum((xx-.5)^2/.1))})
# xylim
cf_func(function(xx){exp(-sum((xx-.5)^2/.1))}, xylim = c(-1,2))
# use lines
cf_func(function(xx){exp(-sum((xx-.5)^2/.1))}, use_lines = T)
# out.col.name
expect_error(cf_func(function(xx){data.frame(y1=exp(-sum((xx-.5)^2/.1)), y2=1)}))
expect_error(cf_func(function(xx){data.frame(y1=exp(-sum((xx-.5)^2/.1)), y2=1)}, out.col.name = "y1"), NA)
# out.name from list
expect_error(cf_func(function(xx){list(y1=exp(-sum((xx-.5)^2/.1)), y2=1)}, out.name = "y1"), NA)
})
test_that("cf_4dim", {
expect_error(cf_4dim(function(x) {x[1] + x[2]^2 + sin(2*pi*x[3])}), NA)
# Add pts
expect_error(cf_4dim(function(x) {x[1] + x[2]^2 + sin(2*pi*x[3])}, pts=matrix(c(.1,.2,.3,.4,.5,.6,.7,.8),2,4)), NA)
expect_error(cf_4dim(function(x) {x[1] + x[2]^2 + sin(2*pi*x[3])}, pts=matrix(c(.1,.2,.3,.4,.5,.6,.7,.8,.9,1),2,5)))
# Not same scale, this is a lot slower
expect_error(cf_4dim(function(x) {x[1] + x[2]^2 + sin(2*pi*x[3])}, same_scale = F), NA)
expect_error(
cf_4dim(function(x) x[1]*x[3] + sin(x[2]*x[4]), color.palette=heat.colors,
nover1=3, nover2=8, cex.var_names = .5), NA)
expect_error(
cf_4dim(function(x) x[1]*x[3] + sin(x[2]*x[4]), color.palette=topo.colors,
nover1=3, nover2=8, cex.var_names = 1, over_srt = c(90,0),
edge_width=c(.1, .2), nlevels = 5),
NA)
})
test_that("cf highdim", {
expect_error(cf_highdim(function(x) {x[1]^2 + exp(x[2])}, D=3), NA)
friedman <- function(x) {
10*sin(pi*x[1]*x[2]) + 20*(x[3]-.5)^2 + 10*x[4] + 5*x[5]
}
expect_error(cf_highdim(friedman, 5, color.palette=topo.colors), NA)
expect_error(cf_highdim(friedman, 5,
color.palette=function(x) {gray((1:x)/x)},
nlevels=10),
NA)
expect_error({
# Average over background dimensions, use higher reps to reduce noise.
f1 <- function(x) {x[1] + x[2]^2 + x[3]^3}
cf_highdim(f1, 4, average=TRUE, average_reps=1e2, n=10)
f1b <- function(x) {x[,1] + x[,2]^2 + x[,3]^3}
cf_highdim(f1b, 4, average=TRUE, average_reps=1e2, n=10, batchmax=Inf)
cf_highdim(f1b, 4, average_reps=1e2, n=10, batchmax=Inf,
color.palette = topo.colors, nlevels=3)
}, NA)
# Error when pts has wrong num of columns
expect_error(cf_highdim(function(x) {x[1]^2 + exp(x[2])}, D=3, pts=matrix(1:4,2,2)))
# Batch max between 1 and nrows
expect_error(cf_highdim(function(x) {if (is.matrix(x)){x[,1]^2+exp(x[,2])} else {x[1]^2 + exp(x[2])}}, D=3, batchmax=10), NA)
# Batch max between 1 and nrows AND average
expect_error(cf_highdim(function(x) {if (is.matrix(x)){x[,1]^2+exp(x[,2])} else {x[1]^2 + exp(x[2])}}, D=3, batchmax=10, average=T), NA)
# Not same scale
expect_error(cf_highdim(function(x) {x[1]^2 + exp(x[2])}, D=3, same_scale = F), NA)
# From cf
expect_error(cf(function(x) {x[1]^2 + exp(x[2])}, D=3), NA)
})
test_that("cf error", {
expect_error(cf("you shouldn't give in text here!"))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.