64 lines
1.9 KiB
Rust
64 lines
1.9 KiB
Rust
#![allow(clippy::unwrap_used)]
|
|
|
|
use crate::test::util::new_empty_model;
|
|
|
|
#[test]
|
|
fn simple_cases() {
|
|
let mut model = new_empty_model();
|
|
model._set("A1", "=UNICODE(\"1,00\")");
|
|
model._set("A2", "=UNICODE(\"1\")");
|
|
model._set("A3", "=UNICODE(1)");
|
|
model._set("A4", "=UNICODE(\"T\")");
|
|
model._set("A5", "=UNICODE(\"TRUE\")");
|
|
model._set("A6", "=UNICODE(TRUE)");
|
|
model._set("A7", "=UNICODE(FALSE)");
|
|
model._set("A8", "=UNICODE(\"の\")");
|
|
model._set("A9", "=UNICODE(\" \")");
|
|
|
|
model._set("A10", "=_xlfn.UNICODE(\"T\")");
|
|
|
|
model.evaluate();
|
|
|
|
assert_eq!(model._get_text("A1"), *"49");
|
|
assert_eq!(model._get_text("A2"), *"49");
|
|
assert_eq!(model._get_text("A3"), *"49");
|
|
assert_eq!(model._get_text("A4"), *"84");
|
|
assert_eq!(model._get_text("A5"), *"84");
|
|
assert_eq!(model._get_text("A6"), *"84");
|
|
assert_eq!(model._get_text("A7"), *"70");
|
|
assert_eq!(model._get_text("A8"), *"12398");
|
|
assert_eq!(model._get_text("A9"), *"32");
|
|
assert_eq!(model._get_text("A10"), *"84");
|
|
}
|
|
|
|
#[test]
|
|
fn test_error_cases() {
|
|
let mut model = new_empty_model();
|
|
model._set("A1", "=UNICODE(\"\")");
|
|
model._set("A2", "=UNICODE(#CALC!)");
|
|
model._set("A3", "=UNICODE(#NAME?)");
|
|
model._set("A4", "=UNICODE(#VALUE!)");
|
|
model._set("A5", "=UNICODE(#REF!)");
|
|
model._set("A6", "=UNICODE(#DIV/0!)");
|
|
|
|
model.evaluate();
|
|
|
|
assert_eq!(model._get_text("A1"), *"#VALUE!");
|
|
assert_eq!(model._get_text("A2"), *"#CALC!");
|
|
assert_eq!(model._get_text("A3"), *"#NAME?");
|
|
assert_eq!(model._get_text("A4"), *"#VALUE!");
|
|
assert_eq!(model._get_text("A5"), *"#REF!");
|
|
assert_eq!(model._get_text("A6"), *"#DIV/0!");
|
|
}
|
|
|
|
#[test]
|
|
fn wrong_number_of_arguments() {
|
|
let mut model = new_empty_model();
|
|
model._set("A1", "=UNICODE()");
|
|
model._set("A2", "=UNICODE(\"B\",\"A\")");
|
|
model.evaluate();
|
|
|
|
assert_eq!(model._get_text("A1"), *"#ERROR!");
|
|
assert_eq!(model._get_text("A2"), *"#ERROR!");
|
|
}
|