Add two more queue tests
[filehash.git] / tests / reg-tests.R
blob3bde499d429008f08ee709d9b5e1f3fab0b5fbdd
1 library(filehash)
3 ######################################################################
4 ## Test 'filehashRDS' class
6 dbCreate("mydbRDS", "RDS")
7 db <- dbInit("mydbRDS", "RDS")
8 show(db)
10 ## Put some data into it
11 set.seed(1000)
12 dbInsert(db, "a", 1:10)
13 dbInsert(db, "b", rnorm(100))
14 dbInsert(db, "c", 100:1)
15 dbInsert(db, "d", runif(1000))
16 dbInsert(db, "other", "hello")
18 dbList(db)
20 dbExists(db, "e")
21 dbExists(db, "a")
23 env <- db2env(db)
24 ls(env)
26 env$a
27 env$b
28 env$c
29 str(env$d)
30 env$other
32 env$b <- rnorm(100)
33 mean(env$b)
35 env$a[1:5] <- 5:1
36 print(env$a)
38 dbDelete(db, "c")
40 tryCatch(print(env$c), error = function(e) cat(as.character(e)))
41 tryCatch(dbFetch(db, "c"), error = function(e) cat(as.character(e)))
43 ## Check trailing '/' problem
44 dbCreate("testRDSdb", "RDS")
45 db <- dbInit("testRDSdb/", "RDS")
46 print(db)
48 ######################################################################
49 ## test filehashDB1 class
51 dbCreate("mydb", "DB1")
52 db <- dbInit("mydb", "DB1")
54 ## Put some data into it
55 set.seed(1000)
56 dbInsert(db, "a", 1:10)
57 dbInsert(db, "b", rnorm(100))
58 dbInsert(db, "c", 100:1)
59 dbInsert(db, "d", runif(1000))
60 dbInsert(db, "other", "hello")
62 dbList(db)
64 env <- db2env(db)
65 ls(env)
67 env$a
68 env$b
69 env$c
70 str(env$d)
71 env$other
73 env$b <- rnorm(100)
74 mean(env$b)
76 env$a[1:5] <- 5:1
77 print(env$a)
79 dbDelete(db, "c")
81 tryCatch(print(env$c), error = function(e) cat(as.character(e)))
82 tryCatch(dbFetch(db, "c"), error = function(e) cat(as.character(e)))
84 numbers <- rnorm(100)
85 dbInsert(db, "numbers", numbers)
86 b <- dbFetch(db, "numbers")
87 stopifnot(all.equal(numbers, b))
88 stopifnot(identical(numbers, b))
90 ################################################################################
91 ## Other tests
93 rm(list = ls())
96 dbCreate("testLoadingDB", "DB1")
97 db <- dbInit("testLoadingDB", "DB1")
99 set.seed(234)
101 db$a <- rnorm(100)
102 db$b <- runif(1000)
104 dbLoad(db)  ## 'a', 'b'
105 summary(a)
106 summary(b)
108 rm(list = ls())
109 db <- dbInit("testLoadingDB", "DB1")
111 dbLazyLoad(db)
113 summary(a)
114 summary(b)
118 ################################################################################
119 ## Check dbReorganize
121 dbCreate("test_reorg", "DB1")
122 db <- dbInit("test_reorg", "DB1")
124 set.seed(1000)
125 dbInsert(db, "a", 1)
126 dbInsert(db, "a", 1)
127 dbInsert(db, "a", 1)
128 dbInsert(db, "a", 1)
129 dbInsert(db, "b", rnorm(1000))
130 dbInsert(db, "b", rnorm(1000))
131 dbInsert(db, "b", rnorm(1000))
132 dbInsert(db, "b", rnorm(1000))
133 dbInsert(db, "c", runif(1000))
134 dbInsert(db, "c", runif(1000))
135 dbInsert(db, "c", runif(1000))
136 dbInsert(db, "c", runif(1000))
138 summary(db$b)
139 summary(db$c)
141 print(file.info(db@datafile)$size)
143 dbReorganize(db)
145 db <- dbInit("test_reorg", "DB1")
147 print(file.info(db@datafile)$size)
149 summary(db$b)
150 summary(db$c)
153 ################################################################################
154 ## Taken from the vignette
156 file.remove("mydb")
158 dbCreate("mydb")
159 db <- dbInit("mydb")
161 set.seed(100)
163 dbInsert(db, "a", rnorm(100))
164 value <- dbFetch(db, "a")
165 mean(value)
167 dbInsert(db, "b", 123)
168 dbDelete(db, "a")
169 dbList(db)
170 dbExists(db, "a")
172 file.remove("mydb")
174 ################################################################################
175 ## Check queue
177 db <- createQ("testq")
178 push(db, 1)
179 push(db, 2)
180 top(db)
182 pop(db)
183 top(db)