class Test__make_header(tests.IrisTest): def setUp(self): self.cube = stock.simple_3d() self.representer = CubeRepresentation(self.cube) self.representer._get_bits(self.representer._get_lines()) self.header_emts = self.representer._make_header().split('\n') def test_name_and_units(self): # Check the correct name and units are being written into the top-left # table cell. # This is found in the first cell after the `<th>` is defined. name_and_units_cell = self.header_emts[1] expected = '{name} ({units})'.format(name=self.cube.name(), units=self.cube.units) self.assertIn(expected.lower(), name_and_units_cell.lower()) def test_number_of_columns(self): # There should be one headings column, plus a column per dimension. # Ignore opening and closing <tr> tags. result_cols = self.header_emts[1:-1] expected = self.cube.ndim + 1 self.assertEqual(len(result_cols), expected) def test_row_headings(self): # Get only the dimension heading cells and not the headings column. dim_coord_names = [c.name() for c in self.cube.coords(dim_coords=True)] dim_col_headings = self.header_emts[2:-1] for coord_name, col_heading in zip(dim_coord_names, dim_col_headings): self.assertIn(coord_name, col_heading)
class Test__make_header(tests.IrisTest): def setUp(self): self.cube = stock.simple_3d() self.representer = CubeRepresentation(self.cube) self.representer._get_bits(self.representer._get_lines()) self.header_emts = self.representer._make_header().split('\n') def test_name_and_units(self): # Check the correct name and units are being written into the top-left # table cell. # This is found in the first cell after the `<th>` is defined. name_and_units_cell = self.header_emts[1] expected = '{name} ({units})'.format(name=self.cube.name(), units=self.cube.units) self.assertIn(expected.lower(), name_and_units_cell.lower()) def test_number_of_columns(self): # There should be one headings column, plus a column per dimension. # Ignore opening and closing <tr> tags. result_cols = self.header_emts[1:-1] expected = self.cube.ndim + 1 self.assertEqual(len(result_cols), expected) def test_row_headings(self): # Get only the dimension heading cells and not the headings column. dim_coord_names = [c.name() for c in self.cube.coords(dim_coords=True)] dim_col_headings = self.header_emts[2:-1] for coord_name, col_heading in zip(dim_coord_names, dim_col_headings): self.assertIn(coord_name, col_heading)
class TestScalarCube(tests.IrisTest): def setUp(self): self.cube = stock.realistic_3d()[0, 0, 0] self.representer = CubeRepresentation(self.cube) self.representer.repr_html() def test_identfication(self): # Is this scalar cube accurately identified? self.assertTrue(self.representer.scalar_cube) def test_header__name(self): header = self.representer._make_header() expected_name = escape(self.cube.name().title().replace('_', ' ')) self.assertIn(expected_name, header) def test_header__units(self): header = self.representer._make_header() expected_units = escape(self.cube.units.symbol) self.assertIn(expected_units, header) def test_header__scalar_str(self): # Check that 'scalar cube' is placed in the header. header = self.representer._make_header() expected_str = '(scalar cube)' self.assertIn(expected_str, header) def test_content__scalars(self): # Check an element "Scalar coordinates" is present in the main content. content = self.representer._make_content() expected_str = 'Scalar coordinates' self.assertIn(expected_str, content) def test_content__specific_scalar_coord(self): # Check a specific scalar coord is present in the main content. content = self.representer._make_content() expected_coord = self.cube.coords()[0] expected_coord_name = escape(expected_coord.name()) self.assertIn(expected_coord_name, content) expected_coord_val = escape(str(expected_coord.points[0])) self.assertIn(expected_coord_val, content) def test_content__attributes(self): # Check an element "attributes" is present in the main content. content = self.representer._make_content() expected_str = 'Attributes' self.assertIn(expected_str, content)
class TestScalarCube(tests.IrisTest): def setUp(self): self.cube = stock.realistic_3d()[0, 0, 0] self.representer = CubeRepresentation(self.cube) self.representer.repr_html() def test_identfication(self): # Is this scalar cube accurately identified? self.assertTrue(self.representer.scalar_cube) def test_header__name(self): header = self.representer._make_header() expected_name = self.cube.name().title().replace('_', ' ') self.assertIn(expected_name, header) def test_header__units(self): header = self.representer._make_header() expected_units = self.cube.units.symbol self.assertIn(expected_units, header) def test_header__scalar_str(self): # Check that 'scalar cube' is placed in the header. header = self.representer._make_header() expected_str = '(scalar cube)' self.assertIn(expected_str, header) def test_content__scalars(self): # Check an element "Scalar coordinates" is present in the main content. content = self.representer._make_content() expected_str = 'Scalar coordinates' self.assertIn(expected_str, content) def test_content__specific_scalar_coord(self): # Check a specific scalar coord is present in the main content. content = self.representer._make_content() expected_coord = self.cube.coords()[0] expected_coord_name = expected_coord.name() self.assertIn(expected_coord_name, content) expected_coord_val = str(expected_coord.points[0]) self.assertIn(expected_coord_val, content) def test_content__attributes(self): # Check an element "attributes" is present in the main content. content = self.representer._make_content() expected_str = 'Attributes' self.assertIn(expected_str, content)