tests/testthat/test-get_largest_streak.R

test_that("basically works", {
  expect_equal(
    get_largest_streak(
      as.POSIXct(
        c("2021-12-12","2021-12-13","2021-12-17","2021-12-18",
          "2021-12-19","2021-12-20","2021-12-21","2021-12-24")
      )
    ),
    5
  )
  expect_equal(
    get_largest_streak(
      as.POSIXct(
        c("2021-12-12","2021-12-13","2021-12-17","2021-12-18",
          "2021-12-19","2021-12-20","2021-12-21","2021-12-22")
      )
    ),
    6
  )
  expect_equal(
    get_largest_streak(
      as.POSIXct(
        c("2021-12-12","2021-12-13","2021-12-17","2021-12-18",
          "2021-12-19","2021-12-20","2021-12-22","2021-12-29")
      )
    ),
    4
  )
  expect_equal(
    get_largest_streak(
      as.POSIXct(
        c("2021-12-12","2021-12-16","2021-12-19")
      )
    ),
    1
  )
  # length < 2
  expect_error(
    get_largest_streak(
      as.POSIXct(
        c("2021-12-12")
      )
    )
  )
  # not sorted
  expect_error(
    get_largest_streak(
      as.POSIXct(
        c("2021-12-12","2021-12-13","2021-12-17","2021-12-18",
          "2021-12-19","2021-12-20","2021-12-22","2021-12-01")
      )
    )
  )
  # wrong input class
  expect_error(
    get_largest_streak(
      as.character(
        c("2021-12-12","2021-12-13","2021-12-17","2021-12-18",
          "2021-12-19","2021-12-20","2021-12-22","2021-12-25")
      )
    )
  )
  # NAs
  expect_error(
    get_largest_streak(
      as.POSIXct(
        c("2021-12-12",NA,"2021-12-17","2021-12-18",
          "2021-12-19","2021-12-20","2021-12-22","2021-12-01")
      )
    )
  )
})
Eleftheria1/whatsalyze documentation built on Dec. 17, 2021, 6:24 p.m.