diff --git a/.travis.yml b/.travis.yml index c49f3f0787a57923c93b63bb0080a280408ca3b3..e2453d00301ee809f7c32b50185227b2efd5a972 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ env: - R_BUILD_ARGS="--no-build-vignettes --no-manual" - R_CHECK_ARGS="--no-build-vignettes --no-manual --as-cran" - BOOTSTRAP_LATEX="" + - NOT_CRAN="true" script: "./travis-tool.sh run_tests" @@ -19,7 +20,8 @@ before_script: - curl -OL http://raw.github.com/craigcitro/r-travis/master/scripts/travis-tool.sh - chmod 755 ./travis-tool.sh - "./travis-tool.sh bootstrap" - - "./travis-tool.sh install_deps - ./travis-tool.sh install_r XML RCurl plyr reshape2 lubridate httr knitr xtable" + - "./travis-tool.sh install_deps - ./travis-tool.sh install_r XML RCurl plyr reshape2 lubridate httr knitr xtable testthat" + on_failure: - "./travis-tool.sh dump_logs" diff --git a/DESCRIPTION b/DESCRIPTION index d4d69d12b5bf8e8bc519347c13f75fc9ff866daa..837afddca5026e69ffcfd1c171313ca5914f1bc2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: dataRetrieval Type: Package Title: Retrieval Functions for USGS and EPA Hydrologic and Water Quality Data -Version: 2.1.1 +Version: 2.1.2 Date: 2015-02-01 Authors@R: c( person("Robert", "Hirsch", role = c("aut"), email = "rhirsch@usgs.gov"), diff --git a/R/getWebServiceData.R b/R/getWebServiceData.R index 5405b4b9c783694ae78e9a79d7c96c8adf08b0e9..a4e5737737b27e8f0d0af30480834bc11b43ea53 100644 --- a/R/getWebServiceData.R +++ b/R/getWebServiceData.R @@ -20,7 +20,7 @@ getWebServiceData <- function(obs_url){ possibleError <- tryCatch({ h <- basicHeaderGatherer() - returnedDoc <- getURI(obs_url, headerfunction = h$update) + returnedDoc <- getURI(obs_url, headerfunction = h$update, encoding='gzip') }, warning = function(w) { warning(w, "with url:", obs_url) }, error = function(e) { diff --git a/inst/tests/After_build_tests.R b/inst/tests/After_build_tests.R deleted file mode 100644 index 44c10283e5708cc523a20fa86caf3785fab50a9b..0000000000000000000000000000000000000000 --- a/inst/tests/After_build_tests.R +++ /dev/null @@ -1,96 +0,0 @@ -#Unit tests for tabbedDataRetrivals.R - -expect_that(formatCheckSiteNumber('01594440'),prints_text('01594440')) -expect_that(formatCheckParameterCd('00001'),prints_text('00001')) -expect_that(formatCheckDate('1985-01-01', "startDate"),prints_text('1985-01-01')) -expect_that(dateFormatCheck('1985-01-01'), is_true()) -expect_that(dateFormatCheck('01/01/1985'), is_false()) -expect_that(checkStartEndDate('1985-01-01', '1985-01-31'), equals(c('1985-01-01', '1985-01-31'))) - -DecYear <- c(1,1,2,3,4,4,5) -ConcHigh <- c(1,2,3,4,5,5,6) -dataInputForRemoveDuplicates <- data.frame(DecYear, ConcHigh) -DecYear <- c(1,1,2,3,4,5) -ConcHigh <- c(1,2,3,4,5,6) -dataReturnForRemoveDuplicates <- data.frame(DecYear, ConcHigh) - -# actualReturnFromRemoveDuplicates <- removeDuplicates(dataInputForRemoveDuplicates) -# expect_that(actualReturnFromRemoveDuplicates$DecYear, equals(dataReturnForRemoveDuplicates$DecYear)) -# expect_that(actualReturnFromRemoveDuplicates$ConcHigh, equals(dataReturnForRemoveDuplicates$ConcHigh)) - -value <- c(1,2,3) -code <- c("","","") -dateTime <- c('1985-01-01', '1985-01-02', '1985-01-03') -Date <- dateTime -Q <- c(0.5, 1.0, 1.5) -Qualifier <- code -Julian <- c(49308.25, 49309.25, 49310.25) -Month <- c(1,1,1) -Day <- c(1,2,3) -DecYear <- c(1985.00136612022, 1985.00409836066, 1985.00683060109) -MonthSeq <- c(1621, 1621, 1621) -LogQ <- c(-0.693147180559945, 0.0000000, 0.405465108108164) -i <- c(1,2,3) -comment1 <- c("","","") -comment2 <- c("","<","") -value2 <- c(2,3,4) -comment3 <- c("","","<") -value3 <- c(3,4,5) -ConcLow <- c(6,6,7) -ConcHigh <- c(6,9,12) -Uncen <- c(1,0,0) -ConcAve <- c(6.0,7.5,9.5) -SinDY <- c(0.00858348109043033,0.0257479136805711,0.0429047581805647) -CosDY <- c(0.999963161247638, 0.999668467513654, 0.999079166895931) - -dataReturnForPopulateDateColumns <- data.frame(Date,Julian,Month,Day,DecYear,MonthSeq,stringsAsFactors=FALSE) -expect_that(populateDateColumns(dateTime), equals(dataReturnForPopulateDateColumns)) - -dataInputForPopulateDaily <- data.frame(dateTime, value, code, stringsAsFactors=FALSE) -Date <- as.Date(Date) -dataReturnForPopulateDaily <- data.frame(Date, Q, dataReturnForPopulateDateColumns[,-1], Qualifier, LogQ, i, stringsAsFactors=FALSE) -expect_that(populateDaily(dataInputForPopulateDaily, 2, interactive=FALSE), equals(dataReturnForPopulateDaily)) - -dataInputForCompressData <- data.frame(dateTime, comment1, value, comment2, value2, comment3, value3, stringsAsFactors=FALSE) -dataReturnForCompressData <- data.frame(dateTime, ConcLow, ConcHigh, Uncen, stringsAsFactors=FALSE) -expect_that(compressData(dataInputForCompressData), equals(dataReturnForCompressData)) - -dataInputForPopulateSampleData <- compressData(dataInputForCompressData) -Date <- as.character(Date) -dataReturnForPopulateSampleColumns <- data.frame(Date, ConcLow, ConcHigh, Uncen, ConcAve, dataReturnForPopulateDateColumns[,-1], SinDY, CosDY, stringsAsFactors=FALSE) -expect_that(populateSampleColumns(dataInputForPopulateSampleData), equals(dataReturnForPopulateSampleColumns)) - -code <- comment2 -dataInputForPopulateConcentrations <- data.frame(value, code, stringsAsFactors=FALSE) - -ConcLow <- c(1,0,3) -ConcHigh <- c(1,2,3) -Uncen <- c(1,0,1) -dataReturnForPopulateConcentrations <- data.frame(ConcLow, ConcHigh, Uncen, stringsAsFactors=FALSE) -expect_that(populateConcentrations(dataInputForPopulateConcentrations), equals(dataReturnForPopulateConcentrations)) - -data(susQ) -Daily1 <- getPreLoadedDailyData(susQ, interactive=FALSE) - -expect_that(Daily1$Date[1], equals(as.Date("1977-10-01"))) -expect_that(Daily1$Q[1], equals(2123.76348)) -expect_that(Daily1$Julian[1], equals(46659)) -expect_that(Daily1$Month[1], equals(10)) -expect_that(Daily1$Day[1], equals(274)) -expect_that(Daily1$DecYear[1], equals(1977.747268)) -expect_that(Daily1$MonthSeq[1], equals(1534)) -expect_that(Daily1$LogQ[1], equals(7.660945)) -expect_that(Daily1$Q7[7], equals(1723.28236)) -expect_that(Daily1$Q30[30], equals(2156.32785)) - - - - - - - - - - - - diff --git a/inst/tests/test_1.R b/inst/tests/test_1.R deleted file mode 100644 index f58034222609d35feac63b1e6335458c5ca2840f..0000000000000000000000000000000000000000 --- a/inst/tests/test_1.R +++ /dev/null @@ -1,8 +0,0 @@ -expect_that(1 ^ 1, equals(1)) -expect_that(2 ^ 2, equals(4)) -expect_that(2 + 2 == 4, is_true()) -expect_that(2 == 1, is_false()) -expect_that(1, is_a('numeric')) -expect_that(print('Hello World!'), prints_text('Hello World!')) -expect_that(log('a'), throws_error()) -expect_that(factorial(16), takes_less_than(1)) \ No newline at end of file diff --git a/inst/tests/test_2.R b/inst/tests/test_2.R deleted file mode 100644 index ed8ea4f39a5f56685736b6f7c64af63ac2b23a7c..0000000000000000000000000000000000000000 --- a/inst/tests/test_2.R +++ /dev/null @@ -1,126 +0,0 @@ -#Unit tests for tabbedDataRetrivals.R - -# dateFormatCheck: -expect_that(dateFormatCheck('1985-01-01'), is_true()) -expect_that(dateFormatCheck('01/01/1985'), is_false()) -# formatCheckSiteNumber: -# formatCheckDate: -expect_that(formatCheckDate('1985-01-01', "startDate"),prints_text('1985-01-01')) -# checkStartEndDate: -expect_that(checkStartEndDate('1985-01-01', '1985-01-31'), equals(c('1985-01-01', '1985-01-31'))) - -value <- c(1,2,3) -code <- c("","","") -dateTime <- c('1985-01-01', '1985-01-02', '1985-01-03') -Date <- as.Date(dateTime) -Q <- c(0.5, 1.0, 1.5) -Qualifier <- code -Julian <- c(49308, 49309, 49310) -Month <- c(1,1,1) -Day <- c(1,2,3) -DecYear <- c(1985.00136612022, 1985.00409836066, 1985.00683060109) -MonthSeq <- c(1621, 1621, 1621) -LogQ <- c(-0.693147180559945, 0.0000000, 0.405465108108164) -i <- c(1,2,3) -comment1 <- c("","","") -comment2 <- c("","<","") -value2 <- c(2,3,4) -comment3 <- c("","","<") -value3 <- c(3,4,5) -ConcLow <- c(6,6,7) -ConcHigh <- c(6,9,12) -Uncen <- c(1,0,0) -ConcAve <- c(6.0,7.5,9.5) -SinDY <- c(0.00858348109043033,0.0257479136805711,0.0429047581805647) -CosDY <- c(0.999963161247638, 0.999668467513654, 0.999079166895931) - -dataReturnForPopulateDateColumns <- data.frame(Date,Julian,Month,Day,DecYear,MonthSeq,stringsAsFactors=FALSE) -# populateDateColumns: -dateTime <- as.Date(dateTime) -expect_that(populateDateColumns(dateTime), equals(dataReturnForPopulateDateColumns)) - -dataInputForPopulateDaily <- data.frame(dateTime, value, code, stringsAsFactors=FALSE) -Date <- as.Date(Date) - -dataReturnForPopulateDaily <- data.frame(Date, Q, dataReturnForPopulateDateColumns[,-1], Qualifier, LogQ, i, stringsAsFactors=FALSE) -# populateDaily: -expect_that(populateDaily(dataInputForPopulateDaily, 2, interactive=FALSE), gives_warning()) -# expect_that(populateDaily(dataInputForPopulateDaily, 2, interactive=FALSE), equals(dataReturnForPopulateDaily)) - -dataInputForCompressData <- data.frame(dateTime, comment1, value, comment2, value2, comment3, value3, stringsAsFactors=FALSE) -dataReturnForCompressData <- data.frame(dateTime, ConcLow, ConcHigh, Uncen, stringsAsFactors=FALSE) -# compressData: - -expect_that(compressData(dataInputForCompressData), equals(dataReturnForCompressData)) - -dataInputForPopulateSampleData <- compressData(dataInputForCompressData) -# Date <- as.character(Date) -dataReturnForPopulateSampleColumns <- data.frame(Date, ConcLow, ConcHigh, Uncen, ConcAve, dataReturnForPopulateDateColumns[,-1], SinDY, CosDY, stringsAsFactors=FALSE) -# populateSampleColumns - -code <- comment2 -dataInputForPopulateConcentrations <- data.frame(value, code, stringsAsFactors=FALSE) -ConcLow <- c(1,0,3) -ConcHigh <- c(1,2,3) -Uncen <- c(1,0,1) -dataReturnForPopulateConcentrations <- data.frame(ConcLow, ConcHigh, Uncen, stringsAsFactors=FALSE) -# populateConcentrations: -expect_that(populateConcentrations(dataInputForPopulateConcentrations), equals(dataReturnForPopulateConcentrations)) - -# removeDuplicates: -DecYear <- c(1,1,2,3,4,4,5) -ConcHigh <- c(1,2,3,4,5,5,6) -dataInputForRemoveDuplicates <- data.frame(DecYear, ConcHigh) -DecYear <- c(1,1,2,3,4,5) -ConcHigh <- c(1,2,3,4,5,6) -dataReturnForRemoveDuplicates <- data.frame(DecYear, ConcHigh) -actualReturnFromRemoveDuplicates <- removeDuplicates(dataInputForRemoveDuplicates) -expect_that(actualReturnFromRemoveDuplicates$DecYear, equals(dataReturnForRemoveDuplicates$DecYear)) -expect_that(actualReturnFromRemoveDuplicates$ConcHigh, equals(dataReturnForRemoveDuplicates$ConcHigh)) - - -# retrieveNWISData: -Daily2 <- getNWISdvData('01594440','00060', '1985-01-01', '1985-01-31') -expect_that(Daily2$agency[1], equals("USGS")) -expect_that(Daily2$site[1], equals("01594440")) - -# getNWISSiteInfo: -INFO1 <- getNWISSiteInfo('01594440') -expect_that(INFO1$station.nm, equals("PATUXENT RIVER NEAR BOWIE, MD")) - -# getNWISPcodeInfo: -INFO2 <- getNWISPcodeInfo('01075') -expect_that(INFO2$parameter_nm, equals("Silver, water, filtered, micrograms per liter")) - -# populateSiteINFO: -INFO1 <- populateSiteINFO(INFO1, '01594440', interactive=FALSE) -expect_that(INFO1$drainSqKm, equals(901.3158588)) - -# populateParameterINFO: -INFO2$param.nm <- INFO2$parameter_nm -INFO2$param.units <- INFO2$parameter_units -INFO2$paramShortName <- INFO2$srsname -INFO2$paramNumber <- INFO2$parameter_cd - -# getDVData: -Daily <- getNWISDaily('01594440','00060', '1985-01-01', '1985-03-31', interactive=FALSE) -expect_that(Daily$Date[1], equals(as.Date("1985-01-01"))) -expect_that(Daily$Q[1], equals(4.44574488)) -expect_that(Daily$Julian[1], equals(49308)) -expect_that(Daily$Month[1], equals(1)) -expect_that(Daily$Day[1], equals(1)) -expect_that(Daily$DecYear[1], equals(1985.001366)) -expect_that(Daily$MonthSeq[1], equals(1621)) -expect_that(Daily$LogQ[1], equals(1.49194743)) -expect_that(Daily$Q7[7], equals(8.725634)) - -# getSampleData: -Sample <- getNWISSample('01594440','01075', '1985-01-01', '1985-03-31', interactive=FALSE) -expect_that(Sample$Date, equals(as.Date("1985-03-13"))) -expect_that(Sample$ConcLow, equals(NA)) -expect_that(Sample$ConcHigh, equals(1)) -expect_that(Sample$Uncen, equals(0)) -expect_that(Sample$ConcAve, equals(0.5)) -expect_that(Sample$Julian, equals(49379)) -expect_that(Sample$Month, equals(3)) - diff --git a/inst/tests/run-all.R b/tests/testthat.R similarity index 57% rename from inst/tests/run-all.R rename to tests/testthat.R index 098e186f34c8adbda37f05a62c3b66883ac0bc36..fcb82a13f71a2897348d13b16221f325151311d3 100644 --- a/inst/tests/run-all.R +++ b/tests/testthat.R @@ -1,4 +1,3 @@ library(testthat) library(dataRetrieval) - -test_package("dataRetrieval") \ No newline at end of file +test_check("dataRetrieval") \ No newline at end of file diff --git a/tests/testthat/tests_userFriendly_fxns.R b/tests/testthat/tests_userFriendly_fxns.R new file mode 100644 index 0000000000000000000000000000000000000000..a545fe85847c11dbe48c8b7b0060d945b45658ef --- /dev/null +++ b/tests/testthat/tests_userFriendly_fxns.R @@ -0,0 +1,60 @@ +context("Unit values") + +test_that("Unit value data returns correct types", { + testthat::skip_on_cran() + + siteNumber <- '05114000' + parameterCd <- '00060' + startDate <- "2014-10-10" + endDate <- "2014-10-10" + + rawData <- readNWISuv(siteNumber,parameterCd,startDate,endDate) + rawData <- renameNWISColumns(rawData) + timeZoneChange <- readNWISuv(c('04024430','04024000'),parameterCd, + "2013-11-03","2013-11-03", + tz="America/Chicago") + + + timeZoneChange <- renameNWISColumns(timeZoneChange) + expect_is(rawData$dateTime, 'POSIXct') + expect_is(rawData$Flow_Inst, 'numeric') + expect_that(attr(rawData, "url"), equals( + "http://nwis.waterservices.usgs.gov/nwis/iv/?site=05114000&format=waterml,1.1&ParameterCd=00060&startDT=2014-10-10&endDT=2014-10-10") + ) + #First switchover to standard time: + expect_that(as.numeric(timeZoneChange[which(timeZoneChange$tz_cd == "CST")[1],"dateTime"]), + equals(as.numeric(as.POSIXct("2013-11-03 01:00:00", tz="UTC")+60*60*6))) + +}) + +context("importRDB") +test_that("CRAN-friendly importRDB test", { + filePath <- system.file("extdata", package="dataRetrieval") + fileName <- "RDB1Example.txt" + fullPath <- file.path(filePath, fileName) + importUserRDB <- importRDB1(fullPath) + + # default is to turn dates to characters + expect_is(importUserRDB$datetime, 'character') + +}) + +context("Peak, rating, meas") +test_that("peak, rating curves, surface-water measurements", { + testthat::skip_on_cran() + + siteNumbers <- c('01594440','040851325') + data <- readNWISpeak(siteNumbers) + expect_is(data$agency_cd, 'character') + + #Rating curvs: + siteNumber <- '01594440' + data <- readNWISrating(siteNumber, "base") + expect_that(length(attr(data, "RATING")),equals(7)) + + #Surface meas: + siteNumbers <- c('01594440','040851325') + data <- readNWISmeas(siteNumbers) + expect_is(data$agency_cd, 'character') +}) +