def test_generate_table_data_totals(self): expected_col_totals = { b'High-Class': 3, b'Low-Class': 11, b'Mid-Class': 1, b'Unknown-Class': 5 } expected_row_totals = { b'Assessed-Class': 18, b'C-Class': 3, b'Start-Class': 11, b'Stub-Class': 4, b'Unassessed-Class': 2 } actual = tables.generate_table_data( self.stats, { 'sort_imp': self.sort_imp, 'sort_qual': self.sort_qual, 'imp_labels': {}, 'qual_labels': {} }) self.assertEqual(20, actual['total']) self.assertEqual(expected_col_totals, actual['col_totals']) self.assertEqual(expected_row_totals, actual['row_totals'])
def test_generate_table_data_ordered_cols(self): expected = [b'High-Class', b'Mid-Class', b'Low-Class', b'Unknown-Class'] actual = tables.generate_table_data( self.stats, { 'sort_imp': self.sort_imp, 'sort_qual': self.sort_qual, 'imp_labels': {}, 'qual_labels': {} }) self.assertEqual(expected, actual['ordered_cols'])
def test_generate_table_data_table_overrides(self): expected_overrides = {'foo': 'bar', 42: 'answer', 'baz': 'bang'} actual = tables.generate_table_data(self.stats, { 'sort_imp': self.sort_imp, 'sort_qual': self.sort_qual, 'imp_labels': {}, 'qual_labels': {} }, table_overrides=expected_overrides) for k, v in expected_overrides.items(): self.assertEqual(v, actual[k])
def test_generate_table_data_removes_rows(self): missing_portal = dict(self.sort_qual) del missing_portal[b'Portal-Class'] actual = tables.generate_table_data( self.stats, { 'sort_imp': missing_portal, 'sort_qual': {}, 'imp_labels': {}, 'qual_labels': {} }, {'project_display': 'Test Project'}) self.assertTrue(b'Portal-Class' not in actual['ordered_rows'])
def test_generate_table_data_removes_cols(self): missing_mid = dict(self.sort_imp) del missing_mid[b'Mid-Class'] actual = tables.generate_table_data( self.stats, { 'sort_imp': missing_mid, 'sort_qual': {}, 'imp_labels': {}, 'qual_labels': {} }) self.assertTrue(b'Mid-Class' not in actual['ordered_cols'])
def test_generate_table_data_labels(self): expected_imp_labels = {'foo': 'bar'} expected_qual_labels = {'baz': 'bang'} actual = tables.generate_table_data( self.stats, { 'sort_imp': self.sort_imp, 'sort_qual': self.sort_qual, 'imp_labels': expected_imp_labels, 'qual_labels': expected_qual_labels }) self.assertEqual(expected_imp_labels, actual['col_labels']) self.assertEqual(expected_qual_labels, actual['row_labels'])
def test_generate_table_data_ordered_rows(self): expected = [ b'C-Class', b'Start-Class', b'Stub-Class', b'Assessed-Class', b'Unassessed-Class' ] actual = tables.generate_table_data( self.stats, { 'sort_imp': self.sort_imp, 'sort_qual': self.sort_qual, 'imp_labels': {}, 'qual_labels': {} }) self.assertEqual(expected, actual['ordered_rows'])
def test_generate_table_data_adds_assessed_when_unassessed(self): actual = tables.generate_table_data( self.stats, { 'sort_imp': self.sort_imp, 'sort_qual': self.sort_qual, 'imp_labels': {}, 'qual_labels': {} }) self.assertTrue(b'Unassessed-Class' in actual['ordered_rows']) self.assertTrue(b'Assessed-Class' in actual['ordered_rows']) unassessed_idx = actual['ordered_rows'].index(b'Unassessed-Class') actual_idx = actual['ordered_rows'].index(b'Assessed-Class') self.assertEqual(1, unassessed_idx - actual_idx)
def test_generate_table_data_adds_assessed_when_no_unassessed(self): missing_unassessed = dict(self.sort_qual) del missing_unassessed[b'Unassessed-Class'] actual = tables.generate_table_data( self.stats, { 'sort_imp': self.sort_imp, 'sort_qual': missing_unassessed, 'imp_labels': {}, 'qual_labels': {} }) self.assertFalse(b'Unassessed-Class' in actual['ordered_rows']) self.assertTrue(b'Assessed-Class' in actual['ordered_rows']) self.assertEqual( len(actual['ordered_rows']) - 1, actual['ordered_rows'].index(b'Assessed-Class'))