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) })