aboutsummaryrefslogtreecommitdiff
path: root/tests/testthat/test_PEC_sw_drift.R
blob: 667b402d4ac98c97ee94a114b1c41a09569bc740 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
library(pfm)
context("Simple PEC surface water calculations with drift entry")

test_that("PEC_sw_drift gives the same results as the CRD PEC calculator", {
  # One application of 30 g/ha to field crops calculated with UK PEC calculator published by CRD
  expect_equal(round(PEC_sw_drift(30), 3),
               c('1 m' = 0.277, '5 m' = 0.057, '10 m' = 0.029, '20 m' = 0.015))

  # 7 applications of 30 g/ha to field crops calculated with UK PEC calculator, initial PEC
  expect_equal(round(PEC_sw_drift(30, 7), 3),
               c('1 m' = 0.161, '5 m' = 0.033, '10 m' = 0.017, '20 m' = 0.008))

  # 4 applications of 30 g/ha to late fruit crops calculated with UK PEC
  # calculator published by CRD. CRD uses different drift values from SANCO aquatic
  # guidance), except for 50 m
  pfm_30_4_obst_spaet <- round(PEC_sw_drift(30, 4, crop = "Obstbau spaet",
      distances = c(3, 20, 50)), 3)
  crd_30_4_obst_spaet <- c('3 m' = 1.101, '20 m' = 0.080, '50 m' = 0.013)
  expect_equal(pfm_30_4_obst_spaet[3], crd_30_4_obst_spaet[3])
})

test_that("The Rautmann formula is correctly implemented", {
  pfm_jki <- PEC_sw_drift(100)
  pfm_rf <- PEC_sw_drift(100, drift_data = "RF")
  expect_equal(pfm_jki, pfm_rf, tolerance = 0.01)

  expect_error(PEC_sw_drift(100, drift_data = "RF", applications = 2), "Rautmann formula not included")
  expect_error(PEC_sw_drift(100, drift_data = "RF", applications = 1, crop = "Obstbau spaet"),
    "Rautmann formula not included")
})

Contact - Imprint