context("Test getDailyOHLCV")
# Test Sharadar
test_that("sharadar function returns correct data for AAPL.", {
dbcon_str <- settings$sharadar.sqli
symbol <- "AAPL"
start_date <- as.Date("2018-01-02")
end_date <- as.Date("2018-10-30")
columns <- c("open", "high", "low", "close", "volume",
"adj.open", "adj.high", "adj.low", "adj.close", "adj.volume",
"dividend", "lastupdated")
keep_symbol <- TRUE
data <- getDailyOHLCVSharadar(dbcon_str, symbol, start_date, end_date,
columns, keep_symbol)
expect_equal(data[1]$date, start_date)
expect_equal(data[nrow(data)]$date, end_date)
expect_equal(data[date == end_date]$open, 211.15)
expect_equal(data[date == end_date]$high, 215.18)
expect_equal(data[date == end_date]$low, 209.27)
expect_equal(data[date == end_date]$close, 213.30)
expect_equal(nrow(data), 210)
expect_equal(ncol(data), 14)
expect_equal(names(data),c ("symbol", "date", columns))
expect_is(data, "data.table")
expect_is(data$date, "Date")
expect_is(data$lastupdated, "Date")
})
test_that("sharadar function check inputs correctly.", {
dbcon_str <- settings$sharadar.sqli
expect_error(getDailyOHLCVSharadar(dbcon_str, start_date = "hoge"),
"character string is not in a standard unambiguous format")
expect_error(getDailyOHLCVSharadar(dbcon_str, end_date = "fuga"),
"character string is not in a standard unambiguous format")
expect_error(getDailyOHLCVSharadar(dbcon_str, columns = "hoge"),
"hoge is not supported column.")
# expect_error(getDailyOHLCVSharadar(dbcon.str, symbol = "HOGE",
# start.date = "2008-01-02",
# end.date = "2018-10-31"),
# "*No data found for HOGE. (2008-01-02 - 2018-10-31)*")
})
# Test QuoteMedia
test_that("quotemedia function returns correct data for AAPL.", {
dbcon_str <- settings$quotemedia.sqli
symbol <- "AAPL"
start_date <- as.Date("2018-01-02")
end_date <- as.Date("2018-10-30")
columns <- c("open", "high", "low", "close", "volume", "dividend",
"split", "adj.open", "adj.high", "adj.low", "adj.close",
"adj.volume")
keep_symbol <- TRUE
data <- getDailyOHLCVQuoteMedia(dbcon_str, symbol, start_date, end_date,
columns, keep_symbol)
expect_equal(data[1]$date, start_date)
expect_equal(data[nrow(data)]$date, end_date)
expect_equal(data[date == end_date]$open, 211.15)
expect_equal(data[date == end_date]$high, 215.18)
expect_equal(data[date == end_date]$low, 209.27)
expect_equal(data[date == end_date]$close, 213.30)
expect_equal(data[date == end_date]$volume, 36659990)
expect_equal(data[date == end_date]$dividend, 0)
expect_equal(data[date == end_date]$split, 1)
expect_equal(nrow(data), 210)
expect_equal(ncol(data), 14)
expect_equal(names(data), c("symbol", "date", columns))
expect_is(data, "data.table")
expect_is(data$date, "Date")
})
test_that("quotemedia function check inputs correctly.", {
dbcon_str <- settings$quotemedia.sqli
expect_error(getDailyOHLCVQuoteMedia(dbcon_str, start_date = "hoge"),
"character string is not in a standard unambiguous format")
expect_error(getDailyOHLCVQuoteMedia(dbcon_str, end_date = "fuga"),
"character string is not in a standard unambiguous format")
expect_error(getDailyOHLCVQuoteMedia(dbcon_str, columns = "hoge"),
"hoge is not supported column.")
# expect_error(getDailyOHLCVQuoteMedia(dbcon.str, symbol = "HOGE",
# start.date = "2008-01-02",
# end.date = "2018-10-31"),
# "*No data found for HOGE. (2008-01-02 - 2018-10-31)*")
})
# Test generic function
test_that("generic function returns correct data for AAPL.", {
symbol <- "AAPL"
start_date <- as.Date("2018-01-02")
end_date <- as.Date("2018-10-30")
columns <- c("open", "high", "low", "close")
keep_symbol <- TRUE
# Test both Sharadar and QuoteMedia
for (dbcon_str in c(settings$sharadar.sqli, settings$quotemedia.sqli)) {
data <- getDailyOHLCV(dbcon_str, symbol, start_date, end_date,
columns, keep_symbol)
expect_equal(data[1]$date, start_date)
expect_equal(data[nrow(data)]$date, end_date)
expect_equal(data[date == end_date]$open, 211.15)
expect_equal(data[date == end_date]$high, 215.18)
expect_equal(data[date == end_date]$low, 209.27)
expect_equal(data[date == end_date]$close, 213.30)
expect_equal(nrow(data), 210)
expect_equal(ncol(data), 6)
expect_equal(names(data), c("symbol", "date", columns))
expect_is(data, "data.table")
expect_is(data$date, "Date")
}
})
test_that("generic function check inputs correctly.", {
# Test both Sharadar and QuoteMedia
for (dbcon_str in c(settings$sharadar.sqli, settings$quotemedia.sqli)) {
expect_error(getDailyOHLCV(dbcon_str, start_date = "hoge"),
"character string is not in a standard unambiguous format")
expect_error(getDailyOHLCV(dbcon_str, end_date = "fuga"),
"character string is not in a standard unambiguous format")
expect_error(getDailyOHLCV(dbcon_str, columns = "hoge"),
"hoge is not supported column.")
# expect_error(getDailyOHLCV(dbcon.str, symbol = "HOGE",
# start.date = "2008-01-02",
# end.date = "2018-10-31"),
# "*No data found for HOGE. (2008-01-02 - 2018-10-31)*")
}
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.