Author: bugman Date: Fri Mar 8 10:20:41 2013 New Revision: 18692 URL: http://svn.gna.org/viewcvs/relax?rev=18692&view=rev Log: Created a unit test for the lib.text.table.format_table() function to test multiple column support. Support for content spanning multiple cells is yet to be implemented. Modified: trunk/test_suite/unit_tests/_lib/_text/test_table.py Modified: trunk/test_suite/unit_tests/_lib/_text/test_table.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/unit_tests/_lib/_text/test_table.py?rev=18692&r1=18691&r2=18692&view=diff ============================================================================== --- trunk/test_suite/unit_tests/_lib/_text/test_table.py (original) +++ trunk/test_suite/unit_tests/_lib/_text/test_table.py Fri Mar 8 10:20:41 2013 @@ -23,7 +23,7 @@ from unittest import TestCase # relax module imports. -from lib.text.table import format_table +from lib.text.table import format_table, MULTI_COL class Test_table(TestCase): @@ -116,3 +116,51 @@ self.assertEqual(len(true_table), len(table_lines)) for i in range(len(table_lines)): self.assertEqual(true_table[i], table_lines[i]) + + + def test_format_table3(self): + """Test 3 of the lib.text.table.format_table() function.""" + + # The table data. + headings = [ + ['Column 1', 'Long text span test', MULTI_COL], + ['Column 1', 'Column 2', 'Column 3'] + ] + contents = [ + ['A', '2', '3.456'], + ['B', '2', '4.567'] + ] + + # Create the table. + table = format_table(headings=headings, contents=contents, spacing=True, debug=True) + table_lines = table.split('\n') + + # The true table. + true_table = [ + " ________________________________ ", + " ", + " Long text span test ", + " ", + " Column 1 Column 2 Column 3 ", + " ________________________________ ", + " ", + " A 2 3.456 ", + " ", + " B 2 4.567 ", + " ________________________________ ", + " ", + "" # This is because split combined with a final \n character. + ] + + # Printout. + print("The formatted table:") + for i in range(len(table_lines)): + print("'%s'" % table_lines[i]) + print("\nWhat the table should look like:") + for i in range(len(true_table)): + print("'%s'" % true_table[i]) + + # Check the table. + self.assertEqual(len(true_table), len(table_lines)) + for i in range(len(table_lines)): + self.assertEqual(true_table[i], table_lines[i])