# test classes of objects
{
	x <- character(3)
	x2 <- as.double(1.1:4.1)
	x3 <- list("fooey")
	x4 <- as.expression("fooey")
	T
}
is.array(array(1:24,c(2,3,4)))
is.array(as.array(1:24))
is.call(call("median",1:24))
is.call(as.call(call("median",1:24)))
is.character(character(3))
is.null(x)==F
is.null(x[1])==F
is.character(as.character(1:24))
is.double(double(4))
is.double(as.double(1.1:4.1))
is.expression(1:24)==F
is.expression(as.expression("fooey"))
is.expression(expression("fooey"))
is.function(as.function(1:24))
#{cat("Expect warning 'Numerical expression has 2 elements' ---------- vvv\n");T}
#is.integer(integer(c(1.1,2.2)))
#{cat("Expect warning 'Numerical expression has 2 elements' ---------- ^^^\n");T}
#{cat("Expect warning '2 missing values generated' ---------------- vvv\n");T}
is.integer(as.integer(c("1.1","2.2")))
#{cat("Expect warning '2 missing values generated' ---------------- ^^^\n");T}
is.list(list("fooey"))
is.list(as.list("fooey"))
is.logical(logical(1))
is.logical(as.logical("F"))
is.name(as.name(1:24))
is.numeric(as.numeric(c(T,F)))
is.null(as.null(1:24))
is.qr(as.qr(1:24))
is.single(as.single(x2))
is.single(single(2))
is.vector(vector(mode="character",2))
is.vector(as.vector("fooey"))
as.vector("abc","list")[[1]]=="abc"
as.vector(as.vector(3+4i,"character"),"complex")==3+4i
#{cat("Expect warning 'Imaginary parts of complex data ignored' ------ vvv\n");T}
#as.vector(as.vector(123,"complex"),"numeric")==123
#{cat("Expect warning 'Imaginary parts of complex data ignored' ------ ^^^\n");T}
as.vector(as.vector(T,"numeric"),"logical")
is.null(as.vector(as.vector(0,"logical"),"null"))
is.atomic(x2)
is.recursive(x3)
is.language(x4)
all(is.na(as.single(c(1,NA,3)))==c(F,T,F))
