[A] Added tests for new table navigation functions
This commit is contained in:
		| @@ -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}, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 seleznevae
					seleznevae