[A] Added tests for new table navigation functions
This commit is contained in:
parent
e6e7a08c0f
commit
e8d1ba2293
@ -50,6 +50,8 @@ These pages contain the API documentation of **libfort** - simple library to cre
|
||||
- @link fort::table @endlink -- basic table class
|
||||
- Table navigation
|
||||
- @link fort::table::set_cur_cell set_cur_cell @endlink -- set border style
|
||||
- @link fort::table::cur_row cur_row @endlink -- get row number of the current cell
|
||||
- @link fort::table::cur_col cur_col @endlink -- get column number of the current cell
|
||||
|
||||
- Fill table with content
|
||||
- @link fort::table::operator<< operator<< @endlink -- write provided object to the table
|
||||
|
18
lib/fort.hpp
18
lib/fort.hpp
@ -945,18 +945,36 @@ public:
|
||||
return (*this)[row_idx][col_idx];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get column number of the current cell.
|
||||
*
|
||||
* @return
|
||||
* Column number of the current cell.
|
||||
*/
|
||||
size_t
|
||||
cur_col()
|
||||
{
|
||||
return ft_cur_col(table_);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get row number of the current cell.
|
||||
*
|
||||
* @return
|
||||
* Row number of the current cell.
|
||||
*/
|
||||
size_t
|
||||
cur_row()
|
||||
{
|
||||
return ft_cur_row(table_);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get current cell.
|
||||
*
|
||||
* @return
|
||||
* Current cell.
|
||||
*/
|
||||
class table_cell
|
||||
cur_cell()
|
||||
{
|
||||
|
18
src/fort.hpp
18
src/fort.hpp
@ -945,18 +945,36 @@ public:
|
||||
return (*this)[row_idx][col_idx];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get column number of the current cell.
|
||||
*
|
||||
* @return
|
||||
* Column number of the current cell.
|
||||
*/
|
||||
size_t
|
||||
cur_col()
|
||||
{
|
||||
return ft_cur_col(table_);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get row number of the current cell.
|
||||
*
|
||||
* @return
|
||||
* Row number of the current cell.
|
||||
*/
|
||||
size_t
|
||||
cur_row()
|
||||
{
|
||||
return ft_cur_row(table_);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get current cell.
|
||||
*
|
||||
* @return
|
||||
* Current cell.
|
||||
*/
|
||||
class table_cell
|
||||
cur_cell()
|
||||
{
|
||||
|
@ -287,3 +287,43 @@ void test_cpp_table_write(void)
|
||||
assert_string_equal(table_str, table_str_etalon);
|
||||
}
|
||||
}
|
||||
|
||||
void test_cpp_table_changing_cell(void)
|
||||
{
|
||||
WHEN("All columns are equal and not empty") {
|
||||
fort::table table;
|
||||
assert_true(set_cpp_test_props_for_table(&table));
|
||||
|
||||
table << fort::header
|
||||
<< "3" << "c" << "234" << "3.140000" << fort::endr
|
||||
<< "3" << "c" << "234" << "3.140000" << fort::endr
|
||||
<< "3" << "c" << "234" << "3.140000" << fort::endr;
|
||||
|
||||
assert_true(table.cur_row() == 3);
|
||||
assert_true(table.cur_col() == 0);
|
||||
|
||||
table.set_cur_cell(1, 1);
|
||||
assert_true(table.cur_row() == 1);
|
||||
assert_true(table.cur_col() == 1);
|
||||
table << "A";
|
||||
assert_true(table.cur_row() == 1);
|
||||
assert_true(table.cur_col() == 2);
|
||||
|
||||
std::string table_str = table.to_string();
|
||||
std::string table_str_etalon =
|
||||
"+---+---+-----+----------+\n"
|
||||
"| | | | |\n"
|
||||
"| 3 | c | 234 | 3.140000 |\n"
|
||||
"| | | | |\n"
|
||||
"+---+---+-----+----------+\n"
|
||||
"| | | | |\n"
|
||||
"| 3 | A | 234 | 3.140000 |\n"
|
||||
"| | | | |\n"
|
||||
"+---+---+-----+----------+\n"
|
||||
"| | | | |\n"
|
||||
"| 3 | c | 234 | 3.140000 |\n"
|
||||
"| | | | |\n"
|
||||
"+---+---+-----+----------+\n";
|
||||
assert_string_equal(table_str, table_str_etalon);
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@
|
||||
/* Test cases */
|
||||
void test_cpp_table_basic(void);
|
||||
void test_cpp_table_write(void);
|
||||
void test_cpp_table_changing_cell(void);
|
||||
void test_cpp_table_tbl_properties(void);
|
||||
void test_cpp_table_cell_properties(void);
|
||||
void test_cpp_table_text_styles(void);
|
||||
@ -14,6 +15,7 @@ void test_cpp_bug_fixes(void);
|
||||
struct test_case bb_test_suite [] = {
|
||||
{"test_cpp_table_basic", test_cpp_table_basic},
|
||||
{"test_cpp_table_write", test_cpp_table_write},
|
||||
{"test_cpp_table_changing_cell", test_cpp_table_changing_cell},
|
||||
{"test_cpp_table_tbl_properties", test_cpp_table_tbl_properties},
|
||||
{"test_cpp_table_cell_properties", test_cpp_table_cell_properties},
|
||||
{"test_cpp_table_text_styles", test_cpp_table_text_styles},
|
||||
|
Loading…
Reference in New Issue
Block a user