tests/testthat/test_calcIndicatorParallel.R

## library(xts)

context("Test calcIndicatorParallel")

test_that("function returns correct data.", {

  start.date <- "2018-10-01"
  end.date   <- "2018-10-31"
  symbols    <- c("AAPL", "BRKB", "IBM", "INTL", "MSFT")
  windows    <- c(10, 20)

  ## data <- getSliceData(settings$sharadar.db,
  ##                      c("adj.close", "tover", "roc.pc2tc"),
  ##                      start.date, end.date, symbols, TRUE,
  ##                      NULL, NULL, NULL, NULL)
  ## saveRDS(data, "./inst/testdata/data_calcIndicatorParallel.rds")

  data <- readRDS(system.file("testdata/data_calcIndicatorParallel.rds",
                              package = "myrlib"))

  # SMA
  sma <- calcIndicatorParallel(data$adj.close, windows, mean, na.rm = TRUE)

  expect_equal(names(sma), as.character(windows))
  expect_equal(nrow(sma[[1]]), 23)
  expect_equal(ncol(sma[[1]]), length(symbols))
  expect_is(sma[[1]], "xts")
  expect_is(index(sma[[1]]), "POSIXct")
  expect_equal(as.numeric(sma[[1]][end.date, "AAPL"]), 217.43)
  expect_equal(head(index(sma[[1]]), 1), as.POSIXct(start.date))
  expect_equal(tail(index(sma[[1]]), 1), as.POSIXct(end.date))

  # SD
  sd <- calcIndicatorParallel(data$roc.pc2tc, windows, sd, na.rm = TRUE)

  expect_equal(names(sd), as.character(windows))
  expect_equal(nrow(sd[[1]]), 23)
  expect_equal(ncol(sd[[1]]), length(symbols))
  expect_is(sd[[1]], "xts")
  expect_is(index(sd[[1]]), "POSIXct")
  expect_equal(as.numeric(sd[[1]][end.date, "AAPL"]), 0.02079785)
  expect_equal(head(index(sd[[1]]), 1), as.POSIXct(start.date))
  expect_equal(tail(index(sd[[1]]), 1), as.POSIXct(end.date))

  # SD
  avg.tover <- calcIndicatorParallel(data$tover, windows, mean, na.rm = TRUE)

  expect_equal(names(avg.tover), as.character(windows))
  expect_equal(nrow(avg.tover[[1]]), 23)
  expect_equal(ncol(avg.tover[[1]]), length(symbols))
  expect_is(avg.tover[[1]], "xts")
  expect_is(index(avg.tover[[1]]), "POSIXct")
  expect_equal(as.numeric(avg.tover[[1]][end.date, "AAPL"]), 7902417075)
  expect_equal(head(index(avg.tover[[1]]), 1), as.POSIXct(start.date))
  expect_equal(tail(index(avg.tover[[1]]), 1), as.POSIXct(end.date))
})
tmk-c/myrlib documentation built on May 29, 2019, 1:44 p.m.