| #![cfg(feature = "std")] |
| |
| use tabled::settings::{Concat, Style}; |
| |
| use crate::matrix::Matrix; |
| use testing_table::test_table; |
| |
| test_table!( |
| join_vertical_0, |
| Matrix::new(2, 3).insert((1, 0), "123").with(Style::psql()) |
| .with(Concat::vertical(Matrix::new(2, 3).to_table())) |
| .to_string(), |
| " N | column 0 | column 1 | column 2 " |
| "-----+----------+----------+----------" |
| " 123 | 0-0 | 0-1 | 0-2 " |
| " 1 | 1-0 | 1-1 | 1-2 " |
| " N | column 0 | column 1 | column 2 " |
| " 0 | 0-0 | 0-1 | 0-2 " |
| " 1 | 1-0 | 1-1 | 1-2 " |
| ); |
| |
| test_table!( |
| join_vertical_1, |
| Matrix::new(2, 3) |
| .with(Concat::vertical(Matrix::new(2, 3).insert((1, 0), "123").with(Style::psql()))), |
| "+-----+----------+----------+----------+" |
| "| N | column 0 | column 1 | column 2 |" |
| "+-----+----------+----------+----------+" |
| "| 0 | 0-0 | 0-1 | 0-2 |" |
| "+-----+----------+----------+----------+" |
| "| 1 | 1-0 | 1-1 | 1-2 |" |
| "+-----+----------+----------+----------+" |
| "| N | column 0 | column 1 | column 2 |" |
| "+-----+----------+----------+----------+" |
| "| 123 | 0-0 | 0-1 | 0-2 |" |
| "+-----+----------+----------+----------+" |
| "| 1 | 1-0 | 1-1 | 1-2 |" |
| "+-----+----------+----------+----------+" |
| ); |
| |
| test_table!( |
| join_horizontal_0, |
| { |
| let mut table1 = Matrix::table(2, 3); |
| table1.with(Style::ascii()); |
| let mut table2 = Matrix::table(2, 3); |
| table2.with(Style::psql()); |
| table2.with(Concat::horizontal(table1)).to_string() |
| }, |
| " N | column 0 | column 1 | column 2 | N | column 0 | column 1 | column 2 " |
| "---+----------+----------+----------+---+----------+----------+----------" |
| " 0 | 0-0 | 0-1 | 0-2 | 0 | 0-0 | 0-1 | 0-2 " |
| " 1 | 1-0 | 1-1 | 1-2 | 1 | 1-0 | 1-1 | 1-2 " |
| ); |
| |
| test_table!( |
| join_horizontal_1, |
| { |
| let mut table1 = Matrix::table(2, 3); |
| table1.with(Style::ascii()); |
| let mut table2 = Matrix::table(2, 3); |
| table2.with(Style::psql()); |
| table1.with(Concat::horizontal(table2)).to_string() |
| }, |
| "+---+----------+----------+----------+---+----------+----------+----------+" |
| "| N | column 0 | column 1 | column 2 | N | column 0 | column 1 | column 2 |" |
| "+---+----------+----------+----------+---+----------+----------+----------+" |
| "| 0 | 0-0 | 0-1 | 0-2 | 0 | 0-0 | 0-1 | 0-2 |" |
| "+---+----------+----------+----------+---+----------+----------+----------+" |
| "| 1 | 1-0 | 1-1 | 1-2 | 1 | 1-0 | 1-1 | 1-2 |" |
| "+---+----------+----------+----------+---+----------+----------+----------+" |
| ); |
| |
| test_table!( |
| join_vertical_different_size, |
| { |
| let mut table1 = Matrix::table(2, 2); |
| table1.with(Style::psql()); |
| let mut table2 = Matrix::table(2, 3); |
| table2.with(Style::psql()); |
| table1.with(Concat::vertical(table2)).to_string() |
| }, |
| " N | column 0 | column 1 | " |
| "---+----------+----------+----------" |
| " 0 | 0-0 | 0-1 | " |
| " 1 | 1-0 | 1-1 | " |
| " N | column 0 | column 1 | column 2 " |
| " 0 | 0-0 | 0-1 | 0-2 " |
| " 1 | 1-0 | 1-1 | 1-2 " |
| ); |
| |
| test_table!( |
| join_horizontal_different_size, |
| { |
| let mut table1 = Matrix::table(2, 3); |
| table1.with(Style::psql()); |
| let mut table2 = Matrix::table(3, 3); |
| table2.with(Style::psql()); |
| table1.with(Concat::horizontal(table2)).to_string() |
| }, |
| " N | column 0 | column 1 | column 2 | N | column 0 | column 1 | column 2 " |
| "---+----------+----------+----------+---+----------+----------+----------" |
| " 0 | 0-0 | 0-1 | 0-2 | 0 | 0-0 | 0-1 | 0-2 " |
| " 1 | 1-0 | 1-1 | 1-2 | 1 | 1-0 | 1-1 | 1-2 " |
| " | | | | 2 | 2-0 | 2-1 | 2-2 " |
| ); |
| |
| test_table!( |
| join_horizontal_with_not_default_empty_string, |
| { |
| let mut table1 = Matrix::table(2, 3); |
| table1.with(Style::psql()); |
| let mut table2 = Matrix::table(3, 3); |
| table2.with(Style::psql()); |
| table1.with(Concat::horizontal(table2).default_cell("NaN")).to_string() |
| }, |
| " N | column 0 | column 1 | column 2 | N | column 0 | column 1 | column 2 " |
| "-----+----------+----------+----------+---+----------+----------+----------" |
| " 0 | 0-0 | 0-1 | 0-2 | 0 | 0-0 | 0-1 | 0-2 " |
| " 1 | 1-0 | 1-1 | 1-2 | 1 | 1-0 | 1-1 | 1-2 " |
| " NaN | NaN | NaN | NaN | 2 | 2-0 | 2-1 | 2-2 " |
| ); |
| |
| test_table!( |
| join_vertical_with_not_default_empty_string, |
| { |
| let mut table1 = Matrix::table(2, 2); |
| table1.with(Style::psql()); |
| let mut table2 = Matrix::table(2, 3); |
| table2.with(Style::psql()); |
| table1.with(Concat::vertical(table2).default_cell("NaN")).to_string() |
| }, |
| " N | column 0 | column 1 | NaN " |
| "---+----------+----------+----------" |
| " 0 | 0-0 | 0-1 | NaN " |
| " 1 | 1-0 | 1-1 | NaN " |
| " N | column 0 | column 1 | column 2 " |
| " 0 | 0-0 | 0-1 | 0-2 " |
| " 1 | 1-0 | 1-1 | 1-2 " |
| ); |