summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Henri Symoneaux <pierre-henri.symoneaux@nokia.com>2017-06-07 15:47:40 +0200
committerPierre-Henri Symoneaux <pierre-henri.symoneaux@nokia.com>2017-06-07 15:47:40 +0200
commitf3d6a0b92b7ff7bac744ead80b58b328d39c8b13 (patch)
tree7d150caf46fe2dffb7e740e26eb2440b2bc1946c
parent38aaa2d7dd1d8e641d5ddefcfc2283d95ed68306 (diff)
Added a few UT
-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