tests/testthat/test-num-before.R

test_that("`nth_number_before_mth()` works", {
  string <- c(
    "abc1abc2abc3abc4def5abc6abc7abc8abc9",
    "abc1def2ghi3abc4def5ghi6abc7def8ghi9"
  )
  expect_equal(str_nth_number_before_mth(string, "def", 1, 1), c(1, 1))
  expect_equal(str_nth_number_before_mth(string, "abc", 2, 3), c(2, 2))
  expect_equal(str_nth_number_before_first(string, "def", 2), c(2, NA))
  expect_equal(str_nth_number_before_last(string, "def", -1), c(4, 7))
  expect_equal(str_first_number_before_mth(string, "abc", 2), c(1, 1))
  expect_equal(str_last_number_before_mth(string, "def", 1), c(4, 1))
  expect_equal(str_first_number_before_first(string, "def"), c(1, 1))
  expect_equal(str_first_number_before_last(string, "def"), c(1, 1))
  expect_equal(str_last_number_before_first(string, "def"), c(4, 1))
  expect_equal(str_last_number_before_last(string, "def"), c(4, 7))
  expect_equal(str_first_number_before_last(character(), "def"), numeric())
})

Try the strex package in your browser

Any scripts or data that you put into this service are public.

strex documentation built on Nov. 2, 2023, 6:04 p.m.