X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2Ftests%2Ftestthat%2Ftest.dateIndexToInteger.R;h=18269728cb44101680644f5fe7c50725a8a9ce17;hb=44a9990b6d608ffcd2e99d5193fa8b9e6cbdb436;hp=9786097d3385aa6579a942083be1d03a301168b8;hpb=a65907cc939a5fe419613d3ba555b1d1c1af97d3;p=talweg.git diff --git a/pkg/tests/testthat/test.dateIndexToInteger.R b/pkg/tests/testthat/test.dateIndexToInteger.R index 9786097..1826972 100644 --- a/pkg/tests/testthat/test.dateIndexToInteger.R +++ b/pkg/tests/testthat/test.dateIndexToInteger.R @@ -1,26 +1,84 @@ -context("Check that dateIndexToInteger behaves as expected") +context("Check that date <--> integer indexes conversions work") -test_that("integer index matches date in data", -{ +ts_data = system.file("testdata","ts_test.csv",package="talweg") +exo_data = system.file("testdata","exo_test.csv",package="talweg") +data0 <<- getData(ts_data, exo_data, input_tz="GMT", date_format="%Y-%m-%d %H:%M", + working_tz="GMT", predict_at=0, limit=Inf) +data7 <<- getData(ts_data, exo_data, input_tz="GMT", date_format="%Y-%m-%d %H:%M", + working_tz="GMT", predict_at=7, limit=Inf) +test_that("dateIndexToInteger, predict_at == 0", +{ + expect_identical( dateIndexToInteger("2007-01-01",data0), 1 ) + expect_identical( dateIndexToInteger("2007-01-02",data0), 2 ) + expect_identical( dateIndexToInteger("2007-02-01",data0), 32 ) + expect_identical( dateIndexToInteger("2007-03-01",data0), 60 ) + expect_identical( dateIndexToInteger("2007-05-31",data0), 151 ) +}) +test_that("dateIndexToInteger, predict_at > 0", +{ + expect_identical( dateIndexToInteger("2007-01-01",data7), 1 ) + expect_identical( dateIndexToInteger("2007-01-02",data7), 3 ) + expect_identical( dateIndexToInteger("2007-02-01",data7), 33 ) + expect_identical( dateIndexToInteger("2007-03-01",data7), 61 ) + expect_identical( dateIndexToInteger("2007-05-31",data7), 152 ) +}) -#TODO: with and without shift at origin (so series values at least forst ones are required) +test_that("integerIndexToDate, predict_at == 0", +{ + expect_identical( integerIndexToDate( 1,data0), as.Date("2007-01-01") ) + expect_identical( integerIndexToDate( 2,data0), as.Date("2007-01-02") ) + expect_identical( integerIndexToDate( 32,data0), as.Date("2007-02-01") ) + expect_identical( integerIndexToDate( 60,data0), as.Date("2007-03-01") ) + expect_identical( integerIndexToDate(151,data0), as.Date("2007-05-31") ) +}) +test_that("integerIndexToDate, predict_at > 0", +{ + expect_identical( integerIndexToDate( 1,data7), as.Date("2007-01-01") ) + expect_identical( integerIndexToDate( 2,data7), as.Date("2007-01-01") ) + expect_identical( integerIndexToDate( 3,data7), as.Date("2007-01-02") ) + expect_identical( integerIndexToDate( 33,data7), as.Date("2007-02-01") ) + expect_identical( integerIndexToDate( 61,data7), as.Date("2007-03-01") ) + expect_identical( integerIndexToDate(152,data7), as.Date("2007-05-31") ) +}) - n = 1500 - series = list() - for (i in seq_len(n)) - { - index = (i%%3) + 1 - level = mean(s[[index]]) - serie = s[[index]] - level + rnorm(L,sd=0.05) - # 10 series with NAs for index 2 - if (index == 2 && i >= 60 && i<= 90) - serie[sample(seq_len(L),1)] = NA - series[[i]] = list("level"=level,"serie"=serie) #no need for more :: si : time !!! - } - data = new("Data", data=series) +test_that("dateIndexToInteger(integerIndexToDate) == Id", +{ + #always true except for second cell when predict_at>0: same date + expect_identical( dateIndexToInteger(integerIndexToDate( 1,data0),data0), 1 ) + expect_identical( dateIndexToInteger(integerIndexToDate( 1,data7),data7), 1 ) + expect_identical( dateIndexToInteger(integerIndexToDate( 2,data0),data0), 2 ) + expect_identical( dateIndexToInteger(integerIndexToDate( 2,data7),data7), 1 ) + expect_identical( dateIndexToInteger(integerIndexToDate( 32,data0),data0), 32 ) + expect_identical( dateIndexToInteger(integerIndexToDate( 32,data7),data7), 32 ) + expect_identical( dateIndexToInteger(integerIndexToDate( 60,data0),data0), 60 ) + expect_identical( dateIndexToInteger(integerIndexToDate( 60,data7),data7), 60 ) + expect_identical( dateIndexToInteger(integerIndexToDate(151,data0),data0), 151 ) + expect_identical( dateIndexToInteger(integerIndexToDate(151,data7),data7), 151 ) +}) - dateIndexToInteger = function(index, data) +test_that("integerIndexToDate(dateIndexToInteger) == Id", +{ + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-01-01",data0),data0), as.Date("2007-01-01") ) + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-01-01",data7),data7), as.Date("2007-01-01") ) + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-01-02",data0),data0), as.Date("2007-01-02") ) + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-01-02",data7),data7), as.Date("2007-01-02") ) + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-02-01",data0),data0), as.Date("2007-02-01") ) + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-02-01",data0),data0), as.Date("2007-02-01") ) + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-03-01",data0),data0), as.Date("2007-03-01") ) + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-03-01",data0),data0), as.Date("2007-03-01") ) + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-05-31",data0),data0), as.Date("2007-05-31") ) + expect_identical( + integerIndexToDate(dateIndexToInteger("2007-05-31",data0),data0), as.Date("2007-05-31") ) })