File: test_attach_path.R

package info (click to toggle)
r-cran-bigmemory 4.6.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 648 kB
  • sloc: cpp: 4,930; ansic: 131; sh: 13; makefile: 2
file content (61 lines) | stat: -rw-r--r-- 2,252 bytes parent folder | download | duplicates (2)
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
55
56
57
58
59
60
61
context("backingpath option when attaching")

tmp <- tempfile()
tmp.dir <- dirname(tmp)
tmp.file <- basename(tmp)
desc.path <- paste0(tmp.file, ".desc")
X <- big.matrix(10, 10, backingfile = tmp.file, backingpath = tmp.dir,
                descriptorfile = desc.path, init = 0)
X.desc <- describe(X)

test_that("Format_path puts an '/' at the end if there isn't", {
  expect_equal(format_path("test"), "test/")
  expect_equal(format_path("test/"), "test/")
  expect_equal(format_path("test/test/"), "test/test/")
})

test_that("New element 'dirname' in description", {
  expect_equal(X.desc@description$dirname, format_path(tmp.dir))
})

test_that("you can attach from a full path", {
  X2 <- attach.big.matrix(file.path(tmp.dir, desc.path))
  expect_false(is.nil(X2@address), info = "the matrix exists")
  X2[] <- 1
  expect_equal(X[,], matrix(1, 10, 10), 
               info = "modifying X2 modifies also X")
})

test_that("you can attach from a composed path", {
  X3 <- attach.big.matrix(desc.path, backingpath = tmp.dir)
  expect_false(is.nil(X3@address), info = "the matrix exists")
  X3[] <- 2
  expect_equal(X[,], matrix(2, 10, 10), 
               info = "modifying X3 modifies also X")
})

test_that("you can attach with or without backingpath", {
  X4 <- attach.big.matrix(X.desc)
  expect_false(is.nil(X4@address), info = "the matrix exists")
  X4[] <- 3
  expect_equal(X[,], matrix(3, 10, 10), 
               info = "modifying X4 modifies also X")
  X5 <- attach.big.matrix(X.desc, backingpath = tmp.dir)
  expect_false(is.nil(X5@address), info = "the matrix exists")
  X5[] <- 4
  expect_equal(X[,], matrix(4, 10, 10), 
               info = "modifying X5 modifies also X")
})

test_that("you can sub with or without backingpath", {
  X6 <- sub.big.matrix(X.desc, lastCol = 5)
  expect_false(is.nil(X6@address), info = "the matrix exists")
  X6[] <- 1
  expect_equal(X[,], cbind(matrix(1, 10, 5), matrix(4, 10, 5)), 
               info = "modifying X6 modifies also X")
  X7 <- sub.big.matrix(X.desc, firstCol = 6, backingpath = tmp.dir)
  expect_false(is.nil(X7@address), info = "the matrix exists")
  X7[] <- 2
  expect_equal(X[,], cbind(matrix(1, 10, 5), matrix(2, 10, 5)), 
               info = "modifying X7 modifies also X")
})