summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/cell.rs11
-rw-r--r--src/row.rs54
2 files changed, 65 insertions, 0 deletions
diff --git a/src/cell.rs b/src/cell.rs
index 16ab37e..af70a9d 100644
--- a/src/cell.rs
+++ b/src/cell.rs
@@ -384,4 +384,15 @@ mod tests {
assert_eq!(cell.style.len(), 0);
assert_eq!(cell.align, Alignment::LEFT);
}
+
+ #[test]
+ fn default_empty_cell() {
+ let cell = Cell::default();
+ assert_eq!(cell.align, Alignment::LEFT);
+ assert!(cell.style.is_empty());
+ assert_eq!(cell.get_content(), "");
+ assert_eq!(cell.to_string(), "");
+ assert_eq!(cell.get_height(), 1);
+ assert_eq!(cell.get_width(), 0);
+ }
}
diff --git a/src/row.rs b/src/row.rs
index 7bc5fa5..22ae409 100644
--- a/src/row.rs
+++ b/src/row.rs
@@ -248,3 +248,57 @@ macro_rules! row {
($style:ident => $($content:expr), *) => ($crate::row::Row::new(vec![$(cell!($style -> $content)), *]));
($($content:tt)*) => ($crate::row::Row::new(row!((); $($content)*)));
}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn row_default_empty() {
+ let row1 = Row::default();
+ assert_eq!(row1.len(), 0);
+ assert!(row1.is_empty());
+ }
+
+ #[test]
+ fn get_add_set_cell() {
+ let mut row = Row::from(vec!["foo", "bar", "foobar"]);
+ assert_eq!(row.len(), 3);
+ assert!(row.get_mut_cell(12).is_none());
+ let c1 = row.get_mut_cell(0).unwrap().clone();
+ assert_eq!(c1.get_content(), "foo");
+
+ let c1 = Cell::from(&"baz");
+ assert!(row.set_cell(c1.clone(), 0).is_ok());
+ assert_eq!(row.get_cell(0).unwrap().get_content(), "baz");
+
+ row.add_cell(c1.clone());
+ assert_eq!(row.len(), 4);
+ assert_eq!(row.get_cell(3).unwrap().get_content(), "baz");
+ }
+
+ #[test]
+ fn insert_cell() {
+ let mut row = Row::from(vec!["foo", "bar", "foobar"]);
+ assert_eq!(row.len(), 3);
+ let cell = Cell::new("baz");
+ row.insert_cell(1000, cell.clone());
+ assert_eq!(row.len(), 4);
+ assert_eq!(row.get_cell(3).unwrap().get_content(), "baz");
+ row.insert_cell(1, cell.clone());
+ assert_eq!(row.len(), 5);
+ assert_eq!(row.get_cell(1).unwrap().get_content(), "baz");
+ }
+
+ #[test]
+ fn remove_cell() {
+ let mut row = Row::from(vec!["foo", "bar", "foobar"]);
+ assert_eq!(row.len(), 3);
+ row.remove_cell(1000);
+ assert_eq!(row.len(), 3);
+ row.remove_cell(1);
+ assert_eq!(row.len(), 2);
+ assert_eq!(row.get_cell(0).unwrap().get_content(), "foo");
+ assert_eq!(row.get_cell(1).unwrap().get_content(), "foobar");
+ }
+} \ No newline at end of file