#------------------------------------------------------------------------------ ## Test Pressflow Air #------------------------------------------------------------------------------ setup <- function() { # Create profiles z0 <- 0 z1 <- 3 h0 <- 20 b <- 2 h <- 3 Di <- d_aequiv(b, h) L <- 13 ks <- 0.0006 kst <- 100 xi_e <- 0.5 A <- b * h # Return the values as a list for easy testing list(z0 = z0, z1 = z1, h0 = h0, b = b, h = h, Di = Di, L = L, ks = ks, kst = kst, xi_e = xi_e, A = A) } # Test case for pressflow_air test_that("pressflow_air calculations match expected values", { # Initialize setup values <- setup() # Test lambda_ks function expect_equal(lambda_ks(values$ks, values$Di, 14.539 * 2.4 / (1.31e-6)), 0.0144, tolerance = 0.001) # Test pressflow_velocity function expect_equal(pressflow_velocity(z0 = values$z0, z1 = values$z1, h0 = values$h0, b = values$b, h = values$h, L = values$L, ks = values$ks, xi_e = values$xi_e, calc_lam = 'ks'), 14.539, tolerance = 0.001) # Test pressflow function expect_equal(pressflow(z0 = values$z0, z1 = values$z1, h0 = values$h0, b = values$b, h = values$h, L = values$L, ks = values$ks, xi_e = values$xi_e, calc_lam = 'ks')$Q, 87.23, tolerance = 0.001) # Test pressflow_depth function expect_equal(pressflow_depth(z0 = values$z0, z1 = values$z1, Q = 87.23, b = values$b, h = values$h, L = values$L, ks = values$ks, xi_e = values$xi_e, calc_lam = 'ks')$h0, 20, tolerance = 0.001) }) #------------------------------------------------------------------------------ ## Test Pressflow Sub #------------------------------------------------------------------------------ setup <- function() { # Create profiles z0 <- 800 z1 <- 800 b <- 2 h <- 3 L <- 13 ks <- 0.0006 xi_e <- 0.3 + 2 * 0.1 xi_a <- 0 Q <- 87.23 h1 <- 3 v1 <- 14.539 calc_lam <- 'ks' nu <- 1.31 * 10^-6 # Return the values as a list for easy testing list(z0 = z0, z1 = z1, b = b, h = h, L = L, ks = ks, xi_e = xi_e, xi_a = xi_a, Q = Q, h1 = h1, v1 = v1, calc_lam = calc_lam, nu = nu) } # Test case for pressflow_depth_sub function test_that("pressflow_sub calculations match expected values", { # Initialize setup values <- setup() # Test pressflow_depth_sub function expect_equal(pressflow_depth_sub(z0 = values$z0, z1 = values$z1, Q = values$Q, h1 = values$h1, v1 = values$v1, b = values$b, h = values$h, L = values$L, ks = values$ks, xi_e = values$xi_e, xi_a = values$xi_a, calc_lam = values$calc_lam, nu = values$nu)$h0, 20, tolerance = 0.001) })