X-Git-Url: https://git.auder.net/?p=talweg.git;a=blobdiff_plain;f=pkg%2Ftests%2Ftestthat%2Ftest.dateIndexToInteger.R;h=18269728cb44101680644f5fe7c50725a8a9ce17;hp=b2316dd5cc0a84f5b089a0e4a9e2c93a7ba92175;hb=44a9990b6d608ffcd2e99d5193fa8b9e6cbdb436;hpb=16209589215b8300e07e3525ae5bcb236d6f7008 diff --git a/pkg/tests/testthat/test.dateIndexToInteger.R b/pkg/tests/testthat/test.dateIndexToInteger.R index b2316dd..1826972 100644 --- a/pkg/tests/testthat/test.dateIndexToInteger.R +++ b/pkg/tests/testthat/test.dateIndexToInteger.R @@ -1,25 +1,84 @@ -context("Check that dateIndexToInteger behaves as expected") +context("Check that date <--> integer indexes conversions work") -test_that("computed integer index is correct; predict_at == 0", +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 ) +}) + +test_that("integerIndexToDate, predict_at == 0", { - data0 = getData(ts_data="pm10_mesures_H_loc.csv", exo_data="meteo_extra_noNAs.csv", - input_tz="Europe/Paris",working_tz="Europe/Paris", predict_at=0, limit=200) - expect_identical( dateIndexToInteger("2008-12-10",data), 1 ) - expect_identical( dateIndexToInteger("2008-12-11",data), 2 ) - expect_identical( dateIndexToInteger("2008-12-20",data), 11 ) - expect_identical( dateIndexToInteger("2009-02-01",data), 53 ) - expect_identical( dateIndexToInteger("2009-03-01",data), 81 ) - expect_identical( dateIndexToInteger("2009-05-31",data), 172 ) + 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("computed integer index is correct; predict_at > 0", +test_that("integerIndexToDate, predict_at > 0", { - data7 = getData(ts_data="pm10_mesures_H_loc.csv", exo_data="meteo_extra_noNAs.csv", - input_tz="Europe/Paris",working_tz="Europe/Paris", predict_at=7, limit=200) - expect_identical( dateIndexToInteger("2008-12-10",data), 2 ) - expect_identical( dateIndexToInteger("2008-12-11",data), 3 ) - expect_identical( dateIndexToInteger("2008-12-20",data), 12 ) - expect_identical( dateIndexToInteger("2009-02-01",data), 54 ) - expect_identical( dateIndexToInteger("2009-03-01",data), 82 ) - expect_identical( dateIndexToInteger("2009-05-31",data), 173 ) -} + 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") ) +}) + +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 ) +}) + +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") ) +})