tests/testthat/test-walsby_etr_I.R

test_that("test-walsby_etr_I generate regression 20240925.csv - linux", {
  skip_if_not(is_reference_platform())

  test_data_file <- testthat::test_path("data", "dual_pam_data", "20240925.csv")
  data <- read_dual_pam_data(test_data_file)
  model_result <- walsby_generate_regression_ETR_I(data)

  expect_equal(model_result[["residual_sum_of_squares"]], 55.5823146)
  expect_equal(model_result[["etr_max"]], 221.237842)
  expect_equal(model_result[["alpha"]], 0.387249938)
  expect_equal(model_result[["beta"]], -0.035964264)
})

test_that("test-walsby_etr_I generate regression 20240925.csv", {
  test_data_file <- testthat::test_path("data", "dual_pam_data", "20240925.csv")
  data <- read_dual_pam_data(test_data_file)
  model_result <- walsby_generate_regression_ETR_I(data)
  expect_no_error(validate_model_result(model_result))
})

test_that("test-walsby_etr_I control plot 20240925.csv", {
  test_data_file <- testthat::test_path("data", "dual_pam_data", "20240925.csv")
  data <- read_dual_pam_data(test_data_file)
  model_result <- walsby_generate_regression_ETR_I(data)

  plot <- plot_control(
    data,
    model_result,
    "walsby ETR I 20240925.csv",
    color_platt
  )
  expect_s3_class(plot, "ggplot")
  expect_gt(length(plot$layers), 0)

  out <- file.path("results", "test-walsby_etr_I control plot 20240925.jpg")
  ggplot2::ggsave(out, create.dir = TRUE, plot = plot, units = "px", width = 1000, height = 1000, dpi = 100, limitsize = FALSE)
  expect_true(file.exists(out))
})

test_that("test-walsby_etr_I generate regression modified 20240925.csv - linux", {
  skip_if_not(is_reference_platform())

  test_data_file <- testthat::test_path("data", "dual_pam_data", "20240925.csv")
  data <- read_dual_pam_data(test_data_file)
  model_result <- walsby_generate_regression_ETR_I(data)
  model_result <- walsby_modified(model_result)

  expect_equal(model_result[["residual_sum_of_squares"]], 55.5823146)
  expect_equal(model_result[["a"]], 221.237842)
  expect_equal(model_result[["b"]], 0.387249938)
  expect_equal(model_result[["c"]], -0.035964264)
  expect_equal(model_result[["d"]], NA_real_)
  expect_equal(model_result[["alpha"]], 0.387249938)
  expect_equal(model_result[["beta"]], -0.035964264)
  expect_equal(model_result[["etrmax_with_photoinhibition"]], 151.8614464)
  expect_equal(model_result[["etrmax_without_photoinhibition"]], 221.237842)
  expect_equal(model_result[["ik_with_photoinhibition"]], 392.1535712)
  expect_equal(model_result[["ik_without_photoinhibition"]], 571.305041)
  expect_equal(model_result[["im_with_photoinhibition"]], 1358.0)
  expect_equal(model_result[["w"]], NA_real_)
  expect_equal(model_result[["ib"]], NA_real_)
  expect_equal(model_result[["etrmax_without_with_ratio"]], 1.456840082)
  expect_equal(model_result[["saturation"]], TRUE)
})

test_that("test-walsby_etr_I generate regression modified 20240925.csv", {
  test_data_file <- testthat::test_path("data", "dual_pam_data", "20240925.csv")
  data <- read_dual_pam_data(test_data_file)

  model_result <- walsby_generate_regression_ETR_I(data)
  expect_no_error(validate_model_result(model_result))

  model_result <- walsby_modified(model_result)
  expect_no_error(validate_modified_model_result(model_result))
})

test_that("test-walsby_etr_I modified control plot 20240925.csv", {
  test_data_file <- testthat::test_path("data", "dual_pam_data", "20240925.csv")
  data <- read_dual_pam_data(test_data_file)
  model_result <- walsby_generate_regression_ETR_I(data)
  model_result <- walsby_modified(model_result)

  plot <- plot_control(
    data,
    model_result,
    "walsby ETR I modified 20240925.csv",
    color_platt
  )
  expect_s3_class(plot, "ggplot")
  expect_gt(length(plot$layers), 0)

  out <- file.path("results", "test-walsby_etr_I modified control plot 20240925.jpg")
  ggplot2::ggsave(out, create.dir = TRUE, plot = plot, units = "px", width = 1000, height = 1000, dpi = 100, limitsize = FALSE)
  expect_true(file.exists(out))
})

Try the pam package in your browser

Any scripts or data that you put into this service are public.

pam documentation built on July 8, 2026, 5:07 p.m.