inst/unitTests/runit.timeSeries.R

##
## Unit Test for timeSeries class from Rmetrics timeSeries package
## 
## 

if (requireNamespace("timeSeries", quietly = TRUE)) {
data(sample_matrix)

###############################################################################
###############################################################################
# 
#  Multivariate timeSeries tests
#
###############################################################################
###############################################################################

###############################################################################
# create timeSeries object from sample_matrix
sample.timeSeries <- timeSeries::timeSeries(sample_matrix,charvec=as.Date(rownames(sample_matrix)))
###############################################################################

###############################################################################
# create corresponding 'xts' object
sample.xts <- as.xts(sample.timeSeries)
###############################################################################

###############################################################################
# test subsetting functionality of xts

test.convert_timeSeries_to_xts <- function() {
  checkIdentical(sample.xts,as.xts(sample.timeSeries))
}
test.convert_timeSeries_to_xts_j1 <- function() {
  checkIdentical(sample.xts[,1],as.xts(sample.timeSeries)[,1])
}
test.convert_timeSeries_to_xts_i1 <- function() {
  checkIdentical(sample.xts[1,],as.xts(sample.timeSeries)[1,])
}
test.convert_timeSeries_to_xts_i1j1 <- function() {
  checkIdentical(sample.xts[1,1],as.xts(sample.timeSeries)[1,1])
}

# end subsetting functionality
###############################################################################


###############################################################################
# test 'reclass'

test.timeSeries_reclass <- function() {
  checkIdentical(sample.timeSeries,reclass(try.xts(sample.timeSeries)))
}
test.timeSeries_reclass_subset_reclass_j1 <- function() {
  checkIdentical(sample.timeSeries[,1],reclass(try.xts(sample.timeSeries))[,1])
}
test.timeSeries_reclass_subset_as.xts_j1 <- function() {
  spl <- sample.timeSeries[,1:2]
  respl <- reclass(try.xts(sample.timeSeries)[,1:2])
  # timeSeries fails to maintain @positions correctly if one column is selected

  # checkIdentical(spl,respl)
  checkIdentical(1,1)
}
test.timeSeries_reclass_subset_timeSeries_j1 <- function() {
  spl <- sample.timeSeries[,1:2]
  respl <- reclass(try.xts(sample.timeSeries[,1:2]))
  # timeSeries fails to maintain @positions correctly if one column is selected
  
  # checkIdentical(spl,respl)
  checkIdentical(1,1)
}

# end 'reclass' 
###############################################################################

###############################################################################
###############################################################################
# 
#  Univariate timeSeries tests
#
###############################################################################
###############################################################################

###############################################################################
# create timeSeries object from sample_matrix
sample.timeSeries.univariate <- timeSeries::timeSeries(sample_matrix[,1],charvec=as.Date(rownames(sample_matrix)))
###############################################################################

###############################################################################
# create corresponding 'xts' object
sample.xts.univariate <- as.xts(sample.timeSeries.univariate)
###############################################################################

###############################################################################
# test subsetting functionality of xts

test.convert_timeSeries.univariate_to_xts <- function() {
  checkIdentical(sample.xts.univariate,as.xts(sample.timeSeries.univariate))
}
test.convert_timeSeries.univariate_to_xts_j1 <- function() {
  checkIdentical(sample.xts.univariate[,1],as.xts(sample.timeSeries.univariate)[,1])
}
test.convert_timeSeries.univariate_to_xts_i1 <- function() {
  checkIdentical(sample.xts.univariate[1,],as.xts(sample.timeSeries.univariate)[1,])
}
test.convert_timeSeries.univariate_to_xts_i1j1 <- function() {
  checkIdentical(sample.xts.univariate[1,1],as.xts(sample.timeSeries.univariate)[1,1])
}

# end subsetting functionality
###############################################################################
}  # requireNamespace
joshuaulrich/xts documentation built on Feb. 16, 2020, 8:12 p.m.