almost finished debug
[talweg.git] / pkg / tests / testthat / test.dateIndexToInteger.R
index 9786097..d3c014a 100644 (file)
@@ -1,26 +1,76 @@
-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",
+{
+       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 )
 
+       expect_identical( dateIndexToInteger("2007-01-01",data7),   1 )
+       expect_identical( dateIndexToInteger("2007-01-02",data7),   2 )
+       expect_identical( dateIndexToInteger("2007-02-01",data7),  32 )
+       expect_identical( dateIndexToInteger("2007-03-01",data7),  60 )
+       expect_identical( dateIndexToInteger("2007-05-31",data7), 151 )
+})
 
-#TODO: with and without shift at origin (so series values at least forst ones are required)
+test_that("integerIndexToDate",
+{
+       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") )
 
+       expect_identical( integerIndexToDate(  1,data7), as.Date("2007-01-01") )
+       expect_identical( integerIndexToDate(  2,data7), as.Date("2007-01-02") )
+       expect_identical( integerIndexToDate( 32,data7), as.Date("2007-02-01") )
+       expect_identical( integerIndexToDate( 60,data7), as.Date("2007-03-01") )
+       expect_identical( integerIndexToDate(151,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",
+{
+       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),   2 )
+       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") )
 })