UPDATE: Update README to include a minimal ROADMAD
This commit is contained in:
@@ -47,5 +47,6 @@ mod test_number_format;
|
||||
|
||||
mod test_escape_quotes;
|
||||
mod test_fn_type;
|
||||
mod test_get_cell_content;
|
||||
mod test_percentage;
|
||||
mod test_today;
|
||||
|
||||
71
base/src/test/test_frozen_rows_and_columns.rs
Normal file
71
base/src/test/test_frozen_rows_and_columns.rs
Normal file
@@ -0,0 +1,71 @@
|
||||
#![allow(clippy::unwrap_used)]
|
||||
|
||||
use crate::expressions::utils::{LAST_COLUMN, LAST_ROW};
|
||||
use crate::test::util::new_empty_model;
|
||||
|
||||
#[test]
|
||||
fn test_empty_model() {
|
||||
let mut model = new_empty_model();
|
||||
assert_eq!(model.get_frozen_rows(0), Ok(0));
|
||||
assert_eq!(model.get_frozen_columns(0), Ok(0));
|
||||
|
||||
let e = model.set_frozen_rows(0, 3);
|
||||
assert!(e.is_ok());
|
||||
assert_eq!(model.get_frozen_rows(0), Ok(3));
|
||||
assert_eq!(model.get_frozen_columns(0), Ok(0));
|
||||
|
||||
let e = model.set_frozen_columns(0, 53);
|
||||
assert!(e.is_ok());
|
||||
assert_eq!(model.get_frozen_rows(0), Ok(3));
|
||||
assert_eq!(model.get_frozen_columns(0), Ok(53));
|
||||
|
||||
// Set them back to zero
|
||||
let e = model.set_frozen_rows(0, 0);
|
||||
assert!(e.is_ok());
|
||||
let e = model.set_frozen_columns(0, 0);
|
||||
assert!(e.is_ok());
|
||||
assert_eq!(model.get_frozen_rows(0), Ok(0));
|
||||
assert_eq!(model.get_frozen_columns(0), Ok(0));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_sheet() {
|
||||
let mut model = new_empty_model();
|
||||
assert_eq!(model.get_frozen_rows(1), Err("Invalid sheet".to_string()));
|
||||
assert_eq!(
|
||||
model.get_frozen_columns(3),
|
||||
Err("Invalid sheet".to_string())
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
model.set_frozen_rows(3, 3),
|
||||
Err("Invalid sheet".to_string())
|
||||
);
|
||||
assert_eq!(
|
||||
model.set_frozen_columns(3, 5),
|
||||
Err("Invalid sheet".to_string())
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_invalid_rows_columns() {
|
||||
let mut model = new_empty_model();
|
||||
|
||||
assert_eq!(
|
||||
model.set_frozen_rows(0, -3),
|
||||
Err("Frozen rows cannot be negative".to_string())
|
||||
);
|
||||
assert_eq!(
|
||||
model.set_frozen_columns(0, -5),
|
||||
Err("Frozen columns cannot be negative".to_string())
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
model.set_frozen_rows(0, LAST_ROW),
|
||||
Err("Too many rows".to_string())
|
||||
);
|
||||
assert_eq!(
|
||||
model.set_frozen_columns(0, LAST_COLUMN),
|
||||
Err("Too many columns".to_string())
|
||||
);
|
||||
}
|
||||
18
base/src/test/test_get_cell_content.rs
Normal file
18
base/src/test/test_get_cell_content.rs
Normal file
@@ -0,0 +1,18 @@
|
||||
#![allow(clippy::unwrap_used)]
|
||||
|
||||
use crate::test::util::new_empty_model;
|
||||
|
||||
#[test]
|
||||
fn test_formulas() {
|
||||
let mut model = new_empty_model();
|
||||
model.set_user_input(0, 1, 1, "$100.348".to_string());
|
||||
model.set_user_input(0, 1, 2, "=ISNUMBER(A1)".to_string());
|
||||
|
||||
model.evaluate();
|
||||
|
||||
assert_eq!(model.get_cell_content(0, 1, 1).unwrap(), "100.348");
|
||||
assert_eq!(model.get_cell_content(0, 1, 2).unwrap(), "=ISNUMBER(A1)");
|
||||
assert_eq!(model.get_cell_content(0, 5, 5).unwrap(), "");
|
||||
|
||||
assert!(model.get_cell_content(1, 1, 2).is_err());
|
||||
}
|
||||
Reference in New Issue
Block a user