File: test_checkSubset.R

package info (click to toggle)
r-cran-checkmate 2.3.4-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,512 kB
  • sloc: ansic: 2,211; sh: 9; makefile: 8
file content (51 lines) | stat: -rw-r--r-- 1,580 bytes parent folder | download | duplicates (4)
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
context("checkSubset")

test_that("checkSubset", {
  myobj = letters[1:3]
  expect_succ_all(Subset, myobj, letters)
  myobj = 1:2
  expect_fail_all(Subset, myobj, letters)

  expect_false(testSubset(character(0), letters, empty.ok = FALSE))
  expect_true(testSubset(character(0), letters, empty.ok = TRUE))
  expect_false(testSubset(NULL, letters, empty.ok = FALSE))
  expect_true(testSubset(character(0), letters, empty.ok = TRUE))
  expect_false(testSubset(NULL, letters, empty.ok = FALSE))
  expect_true(testSubset(NULL, letters, empty.ok = TRUE))
  expect_false(testSubset(factor("a"), letters))
  expect_true(testSubset(1., 1:2))
  expect_true(testSubset(factor("a"), factor(letters)))

  expect_true(testSubset(1L, 1:10))
  expect_true(testSubset(3:4, 1:10))
  expect_false(testSubset("ab", letters))
  expect_false(testSubset(NA_integer_, 1:10))

  expect_error(assertSubset(-1, 1:2), "subset of")
  expect_error(assertSubset(1L, list()), "atomic")

  # issue #109
  expect_true(testSubset(character(0), character(0)))
  expect_true(testSubset(integer(0), character(0)))
  expect_error(assertSubset(1, integer(0)), "empty set")
})


test_that("checkSubset / fastmatch", {
  skip_if_not_installed("fastmatch")
  x = "c"
  y = letters[1:5]

  res = testSubset(x, y)
  expect_true(res)
  expect_null(attr(y, ".match.hash"))

  res = testSubset(x, y, fmatch = TRUE)
  expect_true(res)
  expect_class(attr(y, ".match.hash"), "match.hash")
})

test_that("checkSubset / NAs (#158)", {
  expect_true(test_subset(NA_character_, NA))
  expect_true(test_subset(NA, NA_character_))
})