forked from r-lib/cpp11
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest-doubles.R
More file actions
32 lines (24 loc) · 775 Bytes
/
test-doubles.R
File metadata and controls
32 lines (24 loc) · 775 Bytes
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
test_that("doubles iterators work with normal vectors", {
len <- 1e5
set.seed(42)
x <- rnorm(len)
sum_base <- sum(x)
expect_equal(sum_dbl_for_(x), sum_base)
expect_equal(sum_dbl_foreach_(x), sum_base)
expect_equal(sum_dbl_accumulate_(x), sum_base)
expect_equal(sum_dbl_for2_(x), sum_base)
})
test_that("doubles iterators work with altrep vectors", {
len <- 1e5
seq_double <- function(x) as.double(seq_len(x))
x <- seq_double(len)
sum_base <- sum(x)
expect_equal(sum_dbl_for_(x), sum_base)
expect_equal(sum_dbl_foreach_(x), sum_base)
expect_equal(sum_dbl_accumulate_(x), sum_base)
expect_equal(sum_dbl_for2_(x), sum_base)
})
test_that("writable::doubles grow", {
len <- 1e5L
expect_equal(grow_(len), as.numeric(seq(0, len - 1)))
})