tests/testthat/test-biding.R

context("binding functions")

test_that("cbind works correctly with two arguments", {
  Idt1 <- IData(data.frame(list(c(1,2,4),c(9,7,6),c(1,3,4),c(9,8,6))),VarNames=c("X","Y"))
  Idt2 <- IData(data.frame(list(c(3,8,4),c(5,9,7))),VarNames=c("Z"))
  Idt12 <- IData(data.frame(list(c(1,2,4),c(9,7,6),c(1,3,4),c(9,8,6),c(3,8,4),c(5,9,7))),VarNames=c("X","Y","Z"))
                                              
  expect_identical(cbind(Idt1,Idt2),Idt12)
} )

test_that("cbind works correctly with more than two arguments", {
  Idt1 <- IData(data.frame(list(c(1,2,4),c(9,7,6),c(1,3,4),c(9,8,6))),VarNames=c("X","Y"))
  Idt2 <- IData(data.frame(list(c(3,8,4),c(5,9,7))),VarNames="Z")
  Idt3 <- IData(data.frame(list(c(2,5,6),c(4,10,8))),VarNames="W")
  Idt123 <- IData(data.frame(list(c(1,2,4),c(9,7,6),c(1,3,4),c(9,8,6),c(3,8,4),c(5,9,7),c(2,5,6),c(4,10,8))),VarNames=c("X","Y","Z","W"))
  
  expect_identical(cbind(Idt1,Idt2,Idt3),Idt123)
} )


test_that("rbind works correctly with two arguments", {
  
  Idt1 <- IData(data.frame(list(c(1,2,4),c(9,7,6),c(1,3,4),c(9,8,6))),VarNames=c("X","Y"), ObsNames = c("A","B","C"))
  Idt2 <- IData(data.frame(list(c(3,8,4),c(5,9,7)),c(2,6,3),c(7,8,4)),VarNames=c("X","Y"), ObsNames = c("D","E","F"))
  Idt12 <- IData(data.frame(list(c(1,2,4,3,8,4),c(9,7,6,5,9,7),c(1,3,4,2,6,3),c(9,8,6,7,8,4))),
                 VarNames=c("X","Y"),ObsNames = c("A","B","C","D","E","F"))
  
  expect_identical(rbind(Idt1,Idt2),Idt12)
  
  
  Idt1 <- IData(data.frame(list(c(1,2,4),c(9,7,6),c(1,3,4),c(9,8,6))),VarNames=c("X","Y"))
  Idt2 <- IData(data.frame(list(c(3,8,4),c(5,9,7)),c(2,6,3),c(7,8,4)),VarNames=c("X","Y"))
  Idt12 <- IData(data.frame(list(c(1,2,4,3,8,4),c(9,7,6,5,9,7),c(1,3,4,2,6,3),c(9,8,6,7,8,4))),
                 VarNames=c("X","Y"),ObsNames = as.character(c(1,2,3,11,21,31)))
  
  expect_identical(rbind(Idt1,Idt2),Idt12)
} )

test_that("rbind works correctly with more than two arguments", {
  
  Idt1 <- IData(data.frame(list(c(1,2,4),c(9,7,6),c(1,3,4),c(9,8,6))),VarNames=c("X","Y"), ObsNames = c("A","B","C"))
  Idt2 <- IData(data.frame(list(c(3,8,4),c(5,9,7)),c(2,6,3),c(7,8,4)),VarNames=c("X","Y"), ObsNames = c("D","E","F"))
  Idt3 <- IData(data.frame(list(2,3,6,8)),VarNames=c("X","Y"), ObsNames = "G")
  Idt123 <- IData(data.frame(list(c(1,2,4,3,8,4,2),c(9,7,6,5,9,7,3),c(1,3,4,2,6,3,6),c(9,8,6,7,8,4,8))),
                 VarNames=c("X","Y"),ObsNames = c("A","B","C","D","E","F","G"))
  
  expect_identical(rbind(Idt1,Idt2,Idt3),Idt123)
  
} )

Try the MAINT.Data package in your browser

Any scripts or data that you put into this service are public.

MAINT.Data documentation built on April 4, 2023, 9:09 a.m.