#![allow(clippy::unwrap_used)] use crate::test::util::new_empty_model; #[test] fn test_fn_sumifs_arguments() { let mut model = new_empty_model(); // Incorrect number of arguments model._set("A1", "=SUMIFS()"); model._set("A2", "=SUMIFS(B2:B9)"); model._set("A3", "=SUMIFS(B2:B9,C2:C9)"); model._set("A4", "=SUMIFS(B2:B9,C2:C9,\"=A*\",D2:D9)"); // Correct (Sum everything in column 'B' if column 'C' starts with "A") model._set("A5", "=SUMIFS(B2:B9,C2:C9,\"=A*\")"); // Data model._set("B2", "5"); model._set("B3", "4"); model._set("B4", "15"); model._set("B5", "22"); model._set("B6", "=NA()"); model._set("C2", "Apples"); model._set("C3", "Bananas"); model._set("C4", "Almonds"); model._set("C5", "Yoni"); model._set("C6", "Mandarin"); model.evaluate(); // Error (Incorrect number of arguments) assert_eq!(model._get_text("A1"), *"#ERROR!"); assert_eq!(model._get_text("A2"), *"#ERROR!"); assert_eq!(model._get_text("A3"), *"#ERROR!"); assert_eq!(model._get_text("A4"), *"#ERROR!"); // Correct assert_eq!(model._get_text("A5"), *"20"); }