-
Ruben Heinrich authoredRuben Heinrich authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
test-read_in_prj.R 4.68 KiB
test_that("read_in works for process objects", {
prj_path <- (system.file("extdata/flow_free_expansion",
"flow_free_expansion.prj", package = "r2ogs6"))
ogs6_obj <- OGS6$new(sim_name = "sim",
sim_id = 1,
sim_path = "sim_path",
ogs_bin_path = "ogs_bin_path",
test_mode = TRUE)
read_in(ogs6_obj,
prj_path,
"/OpenGeoSysProject/processes/process")
expect_equal(length(ogs6_obj$processes), 1)
})
test_that("read_in works for medium objects", {
prj_path <- (system.file("extdata/flow_free_expansion",
"flow_free_expansion.prj", package = "r2ogs6"))
ogs6_obj <- OGS6$new(sim_name = "sim",
sim_id = 1,
sim_path = "sim_path",
ogs_bin_path = "ogs_bin_path",
test_mode = TRUE)
read_in(ogs6_obj,
prj_path,
"/OpenGeoSysProject/media/medium")
expect_equal(length(ogs6_obj$media), 1)
})
test_that("read_in works for time_loop objects", {
prj_path <- (system.file("extdata/flow_free_expansion",
"flow_free_expansion.prj", package = "r2ogs6"))
ogs6_obj <- OGS6$new(sim_name = "sim",
sim_id = 1,
sim_path = "sim_path",
ogs_bin_path = "ogs_bin_path",
test_mode = TRUE)
read_in(ogs6_obj,
prj_path,
"/OpenGeoSysProject/time_loop")
expect_equal(is.null(ogs6_obj$time_loop), FALSE)
})
test_that("read_in works for parameter objects", {
prj_path <- (system.file("extdata/flow_free_expansion",
"flow_free_expansion.prj", package = "r2ogs6"))
ogs6_obj <- OGS6$new(sim_name = "sim",
sim_id = 1,
sim_path = "sim_path",
ogs_bin_path = "ogs_bin_path",
test_mode = TRUE)
read_in(ogs6_obj,
prj_path,
"/OpenGeoSysProject/parameters/parameter")
expect_equal(length(ogs6_obj$parameters), 7)
expect_equal(ogs6_obj$parameters[[1]]$name, "E")
expect_equal(ogs6_obj$parameters[[1]]$type, "Constant")
expect_equal(ogs6_obj$parameters[[1]]$value, 10e9)
})
test_that("read_in works for process_variable objects", {
prj_path <- (system.file("extdata/flow_free_expansion",
"flow_free_expansion.prj", package = "r2ogs6"))
ogs6_obj <- OGS6$new(sim_name = "sim",
sim_id = 1,
sim_path = "sim_path",
ogs_bin_path = "ogs_bin_path",
test_mode = TRUE)
read_in(ogs6_obj,
prj_path,
"/OpenGeoSysProject/process_variables/process_variable")
expect_equal(length(ogs6_obj$process_variables), 2)
})
test_that("read_in works for nonlinear_solver objects", {
prj_path <- (system.file("extdata/flow_free_expansion",
"flow_free_expansion.prj", package = "r2ogs6"))
ogs6_obj <- OGS6$new(sim_name = "sim",
sim_id = 1,
sim_path = "sim_path",
ogs_bin_path = "ogs_bin_path",
test_mode = TRUE)
read_in(ogs6_obj,
prj_path,
"/OpenGeoSysProject/nonlinear_solvers/nonlinear_solver")
expect_equal(length(ogs6_obj$nonlinear_solvers), 1)
expect_equal(ogs6_obj$nonlinear_solvers[[1]]$name, "basic_newton")
expect_equal(ogs6_obj$nonlinear_solvers[[1]]$type, "Newton")
expect_equal(ogs6_obj$nonlinear_solvers[[1]]$max_iter, 50)
expect_equal(ogs6_obj$nonlinear_solvers[[1]]$linear_solver,
"general_linear_solver")
})
test_that("read_in works for linear_solver objects", {
prj_path <- (system.file("extdata/flow_free_expansion",
"flow_free_expansion.prj", package = "r2ogs6"))
ogs6_obj <- OGS6$new(sim_name = "sim",
sim_id = 1,
sim_path = "sim_path",
ogs_bin_path = "ogs_bin_path",
test_mode = TRUE)
read_in(ogs6_obj,
prj_path,
"/OpenGeoSysProject/linear_solvers/linear_solver")
expect_equal(length(ogs6_obj$linear_solvers), 1)
expect_equal(ogs6_obj$linear_solvers[[1]]$name, "general_linear_solver")
expect_equal(ogs6_obj$linear_solvers[[1]]$lis,
"-i bicgstab -p ilu -tol 1e-16 -maxiter 10000")
expect_equal(ogs6_obj$linear_solvers[[1]]$eigen$error_tolerance, 1e-16)
})