diff options
Diffstat (limited to 'vendor/tabled/tests/settings/duplicate_test.rs')
-rw-r--r-- | vendor/tabled/tests/settings/duplicate_test.rs | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/vendor/tabled/tests/settings/duplicate_test.rs b/vendor/tabled/tests/settings/duplicate_test.rs new file mode 100644 index 000000000..6d15fbfac --- /dev/null +++ b/vendor/tabled/tests/settings/duplicate_test.rs @@ -0,0 +1,189 @@ +#![cfg(feature = "std")] + +use tabled::settings::{ + object::{Cell, Columns, Rows, Segment}, + Dup, +}; + +use crate::matrix::Matrix; +use testing_table::test_table; + +test_table!( + dup_cell_to_cell, + Matrix::new(3, 3).with(Dup::new(Cell::new(0, 0), Cell::new(0, 1))), + "+----------+----------+----------+----------+" + "| column 0 | column 0 | column 1 | column 2 |" + "+----------+----------+----------+----------+" + "| 0 | 0-0 | 0-1 | 0-2 |" + "+----------+----------+----------+----------+" + "| 1 | 1-0 | 1-1 | 1-2 |" + "+----------+----------+----------+----------+" + "| 2 | 2-0 | 2-1 | 2-2 |" + "+----------+----------+----------+----------+" +); + +test_table!( + dup_cell_to_column, + Matrix::new(3, 3).with(Dup::new(Columns::single(1), Cell::new(0, 0))), + "+---+---+----------+----------+" + "| N | N | column 1 | column 2 |" + "+---+---+----------+----------+" + "| 0 | N | 0-1 | 0-2 |" + "+---+---+----------+----------+" + "| 1 | N | 1-1 | 1-2 |" + "+---+---+----------+----------+" + "| 2 | N | 2-1 | 2-2 |" + "+---+---+----------+----------+" +); + +test_table!( + dup_row_to_row_single, + Matrix::new(3, 3).with(Dup::new(Rows::single(1), Rows::single(0))), + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| 1 | 1-0 | 1-1 | 1-2 |" + "+---+----------+----------+----------+" + "| 2 | 2-0 | 2-1 | 2-2 |" + "+---+----------+----------+----------+" +); + +test_table!( + dup_row_to_row_single_to_many, + Matrix::new(3, 3).with(Dup::new(Rows::new(1..3), Rows::single(0))), + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| 2 | 2-0 | 2-1 | 2-2 |" + "+---+----------+----------+----------+" +); + +test_table!( + dup_row_to_row_single_to_all, + Matrix::new(3, 3).with(Dup::new(Rows::new(1..), Rows::single(0))), + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" +); + +test_table!( + dup_row_to_column_single, + Matrix::new(3, 3).with(Dup::new(Columns::single(1), Rows::single(0))), + "+---+----------+----------+----------+" + "| N | N | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| 0 | column 0 | 0-1 | 0-2 |" + "+---+----------+----------+----------+" + "| 1 | column 1 | 1-1 | 1-2 |" + "+---+----------+----------+----------+" + "| 2 | column 2 | 2-1 | 2-2 |" + "+---+----------+----------+----------+" +); + +test_table!( + dup_column_to_row_single, + Matrix::new(3, 3).with(Dup::new(Columns::single(1), Columns::single(0))), + "+---+---+----------+----------+" + "| N | N | column 1 | column 2 |" + "+---+---+----------+----------+" + "| 0 | 0 | 0-1 | 0-2 |" + "+---+---+----------+----------+" + "| 1 | 1 | 1-1 | 1-2 |" + "+---+---+----------+----------+" + "| 2 | 2 | 2-1 | 2-2 |" + "+---+---+----------+----------+" +); + +test_table!( + dup_row_to_column_single_repeat, + Matrix::new(4, 3).with(Dup::new(Columns::single(1), Rows::single(0))), + "+---+----------+----------+----------+" + "| N | N | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| 0 | column 0 | 0-1 | 0-2 |" + "+---+----------+----------+----------+" + "| 1 | column 1 | 1-1 | 1-2 |" + "+---+----------+----------+----------+" + "| 2 | column 2 | 2-1 | 2-2 |" + "+---+----------+----------+----------+" + "| 3 | N | 3-1 | 3-2 |" + "+---+----------+----------+----------+" +); + +test_table!( + dup_column_to_row_single_stop, + Matrix::new(4, 3).with(Dup::new(Rows::single(1), Columns::single(0))), + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | 0 | 1 | 2 |" + "+---+----------+----------+----------+" + "| 1 | 1-0 | 1-1 | 1-2 |" + "+---+----------+----------+----------+" + "| 2 | 2-0 | 2-1 | 2-2 |" + "+---+----------+----------+----------+" + "| 3 | 3-0 | 3-1 | 3-2 |" + "+---+----------+----------+----------+" +); + +test_table!( + dup_row_to_global, + Matrix::new(4, 3).with(Dup::new(Segment::all(), Rows::single(0))), + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" + "| N | column 0 | column 1 | column 2 |" + "+---+----------+----------+----------+" +); + +test_table!( + dup_column_to_global, + Matrix::new(4, 3).with(Dup::new(Segment::all(), Columns::single(0))), + "+---+---+---+---+" + "| N | 0 | 1 | 2 |" + "+---+---+---+---+" + "| 3 | N | 0 | 1 |" + "+---+---+---+---+" + "| 2 | 3 | N | 0 |" + "+---+---+---+---+" + "| 1 | 2 | 3 | N |" + "+---+---+---+---+" + "| 0 | 1 | 2 | 3 |" + "+---+---+---+---+" +); + +test_table!( + dup_empty_table, + Matrix::empty().with(Dup::new(Segment::all(), Columns::single(0))), + "" +); + +test_table!( + dup_invalid_target, + Matrix::new(4, 3).with(Dup::new(Segment::all(), Columns::single(99))), + Matrix::new(4, 3), +); + +test_table!( + dup_invalid_source, + Matrix::new(4, 3).with(Dup::new(Rows::single(99), Columns::first())), + Matrix::new(4, 3), +); |