library(GGIR)
context("CalcSleepRegularityIndex")
test_that("CalcSleepRegularityIndex gives output as expected", {
# Create dummy data:
tz = "Europe/Amsterdam"
time = seq(from = as.POSIXlt(x = "2020-01-01 00:01:10", tz = tz),
to = as.POSIXlt(x = "2020-01-06 00:01:10", tz = tz), by = 5)
time = POSIXtime2iso8601(x = time, tz = tz)
NID = 12*1440
sleep = rep(0, length(time))
R1 = round(NID*(4/10))
R2 = round(NID*(5/10))
R3 = round(NID*(8/10))
R4 = round(NID*(9/10))
sleep[R1:R3] = 1
sleep[(NID + R2):(NID + R3)] = 1
sleep[(NID*2 + R2):(NID*2 + R4)] = 1
sleep[(NID*3 + R1):(NID*3 + R4)] = 1
sleep[(NID*4 + R1):(NID*4 + R3)] = 1
sleep[(NID*5 + R2):(NID*5 + R3)] = 1
sleep = sleep[1:length(time)]
testdata = data.frame(time = time, invalid = rep(0, length(time)), sleep = sleep)
# Use dummy data in function call:
SRI = CalcSleepRegularityIndex(data = testdata, epochsize = 5, desiredtz = tz)
expect_equal(nrow(SRI), 5)
expect_equal(ncol(SRI), 5)
expect_equal(SRI$SleepRegularityIndex[2], 80)
expect_equal(SRI$SleepRegularityIndex[3], 80)
# Scenario 2, perfect regularity
testdata2 = data.frame(time = time, sleep = rep(0,length(time)))
SRI2 = CalcSleepRegularityIndex(data = testdata2, epochsize = 5, desiredtz = tz)
expect_equal(SRI2$SleepRegularityIndex[3], 100)
expect_equal(SRI2$SleepRegularityIndex[4], 100)
# Scenario 3, perfect irregularity
testdata3 = data.frame(time = time, sleep = 1:length(time))
SRI3 = CalcSleepRegularityIndex(data = testdata3, epochsize = 5, desiredtz = tz)
expect_equal(SRI3$SleepRegularityIndex[2], -100)
expect_equal(SRI3$SleepRegularityIndex[3], -100)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.