Files
IronCalc/base/src/test/test_fn_concatenate.rs
2023-11-20 10:46:19 +01:00

35 lines
940 B
Rust

#![allow(clippy::unwrap_used)]
use crate::test::util::new_empty_model;
#[test]
fn fn_concatenate_args_number() {
let mut model = new_empty_model();
model._set("A1", "=CONCATENATE()");
model.evaluate();
assert_eq!(model._get_text("A1"), *"#ERROR!");
}
#[test]
fn fn_concatenate() {
let mut model = new_empty_model();
model._set("A1", "Hello");
model._set("A2", " my ");
model._set("A3", "World");
model._set("B1", r#"=CONCATENATE(A1, A2, A3, "!")"#);
// This will break once we implement the implicit intersection operator
// It should be:
// model._set("B2", r#"=CONCATENATE(@A1:A3, "!")"#);
model._set("B2", r#"=CONCATENATE(A1:A3, "!")"#);
model._set("B3", r#"=CONCAT(A1:A3, "!")"#);
model.evaluate();
assert_eq!(model._get_text("B1"), *"Hello my World!");
assert_eq!(model._get_text("B2"), *" my !");
assert_eq!(model._get_text("B3"), *"Hello my World!");
}