tests/testthat/test_LRIBI.R

context("Does LRIBI Match the WiDNR Calculator")
test_that("LRIBI() with no data discrepancies",{
  ## read external data files
  fmdb56 <- read.FMDB(system.file("extdata","fish_raw_data_Survey375049456.csv",
                                  package="fishWiDNR"),expandCounts=TRUE)
  agg56 <- utils::read.csv(system.file("extdata","aggdata_Survey375049456.csv",
                                       package="fishWiDNR"))
  ## read test files (results from WiDNR Calculator)
  sum56 <- utils::read.csv(system.file("extdata","test_375049456_summary.csv",
                                       package="fishWiDNR"),stringsAsFactors=FALSE)
  met56 <- utils::read.csv(system.file("extdata","test_375049456_metric_scores.csv",
                                       package="fishWiDNR"),stringsAsFactors=FALSE)
  ## Calculate IBI (assumes effort is 0.9)
  res <- LRIBI(fmdb56,agg56,effort=0.9)
  
  ## Do overall IBIs match
  expect_equal(res$IBI,60)
  ## Do species summaries match
  expect_equal(res$sum.data$Species1,sum56$Species)
  expect_equal(res$sum.data$Count,sum56$Counts)
  expect_equal(round(res$sum.data$Biomass,3),round(sum56$Biomass/1000,3))
  expect_equal(res$n.fish,sum(sum56$Counts))
  expect_equal(round(res$ttl.Biomass,3),round(sum(sum56$Biomass)/1000,3))
  ## Do metric summaries match
  expect_equal(res$IBI.data$Metric,met56$Metric)
  expect_equal(round(res$IBI.data$Value[1],1),round(met56$Value[1],1)) #just WPUE
  expect_equal(round(res$IBI.data$Value,0),round(met56$Value,0))
  expect_equal(res$IBI.data$Score,met56$Score)
  ## Check that no problems were identified
  expect_true(res$noProblems)
  expect_true(is.null(res$countsProblems))
  expect_true(is.null(res$weightsProblems))
})

test_that("LRIBI() with data discrepancies",{
  ## read external data files
  fmdb18 <- read.FMDB(system.file("extdata","fish_raw_data_Survey375334018.csv",
                                  package="fishWiDNR"),expandCounts=TRUE)
  agg18 <- utils::read.csv(system.file("extdata","aggdata_Survey375334018.csv",
                                       package="fishWiDNR"))
  ## read test files (results from WiDNR Calculator)
  sum18 <- utils::read.csv(system.file("extdata","test_375334018_summary.csv",
                                       package="fishWiDNR"),stringsAsFactors=FALSE)
  met18 <- utils::read.csv(system.file("extdata","test_375334018_metric_scores.csv",
                                       package="fishWiDNR"),stringsAsFactors=FALSE)
  ## Calculate IBI (assumes effort is 0.9)
  expect_warning(res <- LRIBI(fmdb18,agg18,effort=0.9),"do not match")
  
  ## Do overall IBIs match
  expect_equal(res$IBI,65)
  ## Do species summaries match
  expect_equal(res$sum.data$Species1,sum18$Species)
  expect_equal(res$sum.data$Count,sum18$Counts)
  expect_equal(round(res$sum.data$Biomass,3),round(sum18$Biomass/1000,3))
  expect_equal(res$n.fish,sum(sum18$Counts))
  expect_equal(round(res$ttl.Biomass,3),round(sum(sum18$Biomass)/1000,3))
  ## Do metric summaries match
  expect_equal(res$IBI.data$Metric,met18$Metric)
  expect_equal(round(res$IBI.data$Value[1],1),round(met18$Value[1],1)) #just WPUE
  expect_equal(round(res$IBI.data$Value,0),round(met18$Value,0))
  expect_equal(res$IBI.data$Score,met18$Score)
  ## Check that no problems were identified
  expect_true(!res$noProblems)
  expect_true(!is.null(res$countsProblems))
  expect_equal(res$countsProblems,c("Common Shiner","Northern Hog Sucker","White Sucker"))
  expect_true(is.null(res$weightsProblems))
})
droglenc/fishWiDNR documentation built on May 15, 2019, 2:51 p.m.