tests/testthat/test_c_compact.R

test_that("restoring a compacted database works on 2D", {
  nd <- 2
  bbox <- matrix(rep(c(0, 64), each = nd), ncol = 2)
  cellsize <- 1
  db <- connect_db(":memory:")
  add_level(bbox = bbox, cellsize = cellsize, grtsdb = db)
  s1 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 1)
  s2 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 2)
  s3 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 4)
  s4 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 8)
  compact_db(db)
  s1c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 1)
  s2c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 2)
  s4c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 8)
  s3c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 4)
  expect_identical(s1, s1c)
  expect_identical(s2, s2c)
  expect_identical(s3, s3c)
  expect_identical(s4, s4c)
  dbDisconnect(db)
})

test_that("restoring a compacted database works on 1D", {
  nd <- 1
  bbox <- matrix(rep(c(0, 64), each = nd), ncol = 2)
  cellsize <- 1
  db <- connect_db(":memory:")
  add_level(bbox = bbox, cellsize = cellsize, grtsdb = db)
  s1 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 1)
  s2 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 2)
  s3 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 4)
  s4 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 8)
  compact_db(db)
  s1c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 1)
  s2c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 2)
  s4c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 8)
  s3c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 4)
  expect_identical(s1, s1c)
  expect_identical(s2, s2c)
  expect_identical(s3, s3c)
  expect_identical(s4, s4c)
  dbDisconnect(db)
})

test_that("restoring a compacted database works on 3D", {
  nd <- 3
  bbox <- matrix(rep(c(0, 64), each = nd), ncol = 2)
  cellsize <- 1
  db <- connect_db(":memory:")
  add_level(bbox = bbox, cellsize = cellsize, grtsdb = db)
  s1 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 1)
  s2 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 2)
  s3 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 4)
  s4 <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 8)
  compact_db(db)
  s1c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 1)
  s2c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 2)
  s4c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 8)
  s3c <- extract_sample(grtsdb = db, samplesize = 10, bbox = bbox, cellsize = 4)
  expect_identical(s1, s1c)
  expect_identical(s2, s2c)
  expect_identical(s3, s3c)
  expect_identical(s4, s4c)
  dbDisconnect(db)
})
inbo/grtsdb documentation built on Jan. 16, 2022, 2:41 a.m.