From e5aff48e36efb0213e3b3a85021bb3cc6286fae4 Mon Sep 17 00:00:00 2001 From: Andrew Fillmore Date: Tue, 10 Dec 2024 13:53:29 -0800 Subject: [PATCH] Add GEOMEAN Tests --- base/src/test/mod.rs | 1 + base/src/test/test_geomean.rs | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 base/src/test/test_geomean.rs diff --git a/base/src/test/mod.rs b/base/src/test/mod.rs index 65c7fa6..7edb7f3 100644 --- a/base/src/test/mod.rs +++ b/base/src/test/mod.rs @@ -59,3 +59,4 @@ mod test_set_functions_error_handling; mod test_today; mod test_types; mod user_model; +mod test_geomean; diff --git a/base/src/test/test_geomean.rs b/base/src/test/test_geomean.rs new file mode 100644 index 0000000..573e4cb --- /dev/null +++ b/base/src/test/test_geomean.rs @@ -0,0 +1,27 @@ +#![allow(clippy::unwrap_used)] + +use crate::test::util::new_empty_model; + +#[test] +fn test_fn_geomean_arguments() { + let mut model = new_empty_model(); + model._set("A1", "=GEOMEAN()"); + model.evaluate(); + + assert_eq!(model._get_text("A1"), *"#ERROR!"); +} + +#[test] +fn test_fn_geomean_minimal() { + let mut model = new_empty_model(); + model._set("B1", "1"); + model._set("B2", "2"); + model._set("B3", "3"); + model._set("B4", "'2"); + // B5 is empty + model._set("B6", "true"); + model._set("A1", "=GEOMEAN(B1:B6)"); + model.evaluate(); + + assert_eq!(model._get_text("A1"), *"1.817120593"); +}