inst/tests/test-cbind.smart.R

context("cbind.smart suite")

test_that("cbind.smart 2way", {
	library(stats)
	set.seed(12345)
	a <- data.frame(matrix(rnorm(25), 5, 5))
	dimnames(a) <- list(letters[1:5], LETTERS[1:5])
	b <- data.frame(matrix(rnorm(25), 5, 5))
	dimnames(b) <- list(letters[3:7], LETTERS[3:7])
	
	expected.res <- structure(list(A = c(0.585528817843856, 0.709466017509524, -0.109303314681054, 
	-0.453497173462763, 0.605887455840394, NA, NA), B = c(-1.81795596770373, 
	0.630098551068391, -0.276184105225216, -0.284159743943371, -0.919322002474128, 
	NA, NA), C = c(-0.116247806352002, 1.81731204370422, 0.370627864257954, 
	0.520216457554957, -0.750531994502331, NA, NA), D = c(0.816899839520583, 
	-0.886357521243213, -0.331577589942552, 1.12071265166956, 0.298723699267293, 
	NA, NA), E = c(0.779621924555324, 1.45578508247686, -0.644328429231302, 
	-1.55313740522969, -1.59770951669631, NA, NA), C.1 = c(NA, NA, 
	1.80509751881082, -0.481647363694637, 0.620379801298422, 0.612123492650849, 
	-0.162310976918126), D.1 = c(NA, NA, 0.81187317855386, 2.19683354634753, 
	2.04919033740619, 1.63244563948047, 0.254271192814055), E.1 = c(NA, 
	NA, 0.491188279272559, -0.324086578737118, -1.66205024385863, 
	1.76773385087297, 0.0258010486478081), F = c(NA, NA, 1.12851083359018, 
	-2.38035806139704, -1.06026555215253, 0.937140540182908, 0.854451720330554
	), G = c(NA, NA, 1.46072940310409, -1.41309877788919, 0.567403253424482, 
	0.583187653435685, -1.30679883346442)), .Names = c("A", "B", 
	"C", "D", "E", "C.1", "D.1", "E.1", "F", "G"), row.names = c("a", 
	"b", "c", "d", "e", "f", "g"), class = "data.frame")
	res <- cbind.smart(a, b)
	expect_equal(res, expected.res)
})

test_that("cbind.smart 3way", {
	library(stats)
	set.seed(12345)
	a <- data.frame(matrix(rnorm(25), 5, 5))
	dimnames(a) <- list(letters[1:5], LETTERS[1:5])
	b <- data.frame(matrix(rnorm(25), 5, 5))
	dimnames(b) <- list(letters[3:7], LETTERS[3:7])
	c <- data.frame(matrix(rnorm(25), 5, 5))
	dimnames(c) <- list(letters[11:15], LETTERS[11:15])
	
	expected.res <- structure(list(A = c(0.585528817843856, 0.709466017509524, -0.109303314681054, 
	-0.453497173462763, 0.605887455840394, NA, NA, NA, NA, NA, NA, 
	NA), B = c(-1.81795596770373, 0.630098551068391, -0.276184105225216, 
	-0.284159743943371, -0.919322002474128, NA, NA, NA, NA, NA, NA, 
	NA), C = c(-0.116247806352002, 1.81731204370422, 0.370627864257954, 
	0.520216457554957, -0.750531994502331, NA, NA, NA, NA, NA, NA, 
	NA), D = c(0.816899839520583, -0.886357521243213, -0.331577589942552, 
	1.12071265166956, 0.298723699267293, NA, NA, NA, NA, NA, NA, 
	NA), E = c(0.779621924555324, 1.45578508247686, -0.644328429231302, 
	-1.55313740522969, -1.59770951669631, NA, NA, NA, NA, NA, NA, 
	NA), C.1 = c(NA, NA, 1.80509751881082, -0.481647363694637, 0.620379801298422, 
	0.612123492650849, -0.162310976918126, NA, NA, NA, NA, NA), D.1 = c(NA, 
	NA, 0.81187317855386, 2.19683354634753, 2.04919033740619, 1.63244563948047, 
	0.254271192814055, NA, NA, NA, NA, NA), E.1 = c(NA, NA, 0.491188279272559, 
	-0.324086578737118, -1.66205024385863, 1.76773385087297, 0.0258010486478081, 
	NA, NA, NA, NA, NA), F = c(NA, NA, 1.12851083359018, -2.38035806139704, 
	-1.06026555215253, 0.937140540182908, 0.854451720330554, NA, 
	NA, NA, NA, NA), G = c(NA, NA, 1.46072940310409, -1.41309877788919, 
	0.567403253424482, 0.583187653435685, -1.30679883346442, NA, 
	NA, NA, NA, NA), K = c(NA, NA, NA, NA, NA, NA, NA, -0.540386073862105, 
	1.94769266473204, 0.0535902703574544, 0.351662840555237, -0.670976538993938
	), L = c(NA, NA, NA, NA, NA, NA, NA, 0.277953694806143, 0.691171272874884, 
	0.823795328706086, 2.14506502048029, -2.34694397836337), M = c(NA, 
	NA, NA, NA, NA, NA, NA, 0.149591980615209, -1.34253148172954, 
	0.553303075503898, 1.58996284269541, -0.5868795943871), N = c(NA, 
	NA, NA, NA, NA, NA, NA, -1.8323773062094, 0.888139432652018, 
	1.59348847235627, 0.516854670662387, -1.29567168029482), O = c(NA, 
	NA, NA, NA, NA, NA, NA, 0.0546155753293754, -0.784649373191544, 
	-1.04935281895627, 2.33051196240471, 1.40270538286743)), .Names = c("A", 
	"B", "C", "D", "E", "C.1", "D.1", "E.1", "F", "G", "K", "L", 
	"M", "N", "O"), row.names = c("a", "b", "c", "d", "e", "f", "g", 
	"k", "l", "m", "n", "o"), class = "data.frame")
	res <- cbind.smart(a, b, c)
	expect_equal(res, expected.res)
})
drmjc/mjcbase documentation built on May 15, 2019, 2:27 p.m.