1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
clargs <- commandArgs(trailing=TRUE)
source(file.path(clargs[1], "unittest.R"))
dyn.load(paste("li_std_deque", .Platform$dynlib.ext, sep=""))
source("li_std_deque.R")
cacheMetaData(1)
# Test constructors for std::deque<int>
intDeque <- IntDeque()
intDeque2 <- IntDeque(3)
intDeque3 <- IntDeque(4, 42)
intDeque4 <- IntDeque(intDeque3)
# Test constructors for std::deque<double>
doubleDeque <- DoubleDeque()
doubleDeque2 <- DoubleDeque(3)
doubleDeque3 <- DoubleDeque(4, 42.0)
doubleDeque4 <- DoubleDeque(doubleDeque3)
# Test constructors for std::deque<Real>
realDeque <- RealDeque()
realDeque2 <- RealDeque(3)
realDeque3 <- RealDeque(4, 42.0)
realDeque4 <- RealDeque(realDeque3)
#### unittest(half(testvec), testvec/2)
#### unittest(average(testvec), mean(testvec))
#### ## string vector test
#### vlen <- 13
#### stringvec <- paste(letters[1:vlen], as.character(rnorm(vlen)))
#### unittest(rev(stringvec), RevStringVec(stringvec))
# average() should return the average of all values in a std::deque<int>
IntDeque_push_back(intDeque, 2)
IntDeque_push_back(intDeque, 4)
IntDeque_push_back(intDeque, 6)
avg <- average(intDeque)
unittest(avg, 4.0)
# half() should return a std::deque<float>, where each element is half
# the value of the corresponding element in the input deque<float>.
# The original deque's contents are unchanged.
#
RealDeque_clear(realDeque)
RealDeque_push_back(realDeque, 2.0)
halfDeque = half(realDeque)
unittest(RealDeque_front(halfDeque), 1.0)
#
# halve_in_place() should...
#
halve_in_place(doubleDeque)
q(save="no")
|