tests/testthat/test-bout_analysis.R

context("bout_analysis")

test_that("bout_analysis works on behavr table", {
  dt <- toy_activity_data(duration=days(2))
  bout_analysis(asleep, dt)
})


test_that("bout_analysis works in a simple context", {
  a = "a"
  b = "b"
  dt <- data.table(t = c(1:5,10:15),
                   y = c(a,a,a,b,a,b,a,a,a,b,b))

  dt
  bdt <- bout_analysis(y, dt)


  expected <- rbind(
      data.table( y=a,
                  t=c(1,5,11),
                  duration=c(3,5,3)),
      data.table( y=b,
                  t=c(4,10,14),
                  duration=c(1,1,1))
    )[,.SD, keyby=t]

  bdt <- bdt[, .(t,y,duration)][,.SD, keyby=t]


  expect_equal(expected[,sum(duration)], max(dt[,t]) - 1)
  expect_equal(bdt[,sum(duration)], max(dt[,t]) - 1)
  expect_equal(expected, bdt)


})

Try the sleepr package in your browser

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

sleepr documentation built on April 4, 2025, 12:17 a.m.