def test_cubelist_no_history_removal(self): """Test that the utility does not remove history attribute, if they are the same. """ cube1 = self.cube.copy() cube2 = self.cube.copy() cubelist = iris.cube.CubeList([cube1, cube2]) equalise_cube_attributes(cubelist) self.assertIn("history", cubelist[0].attributes.keys()) self.assertIn("history", cubelist[1].attributes.keys())
def test_cubelist_history_removal(self): """Test that the utility removes history attribute, if they are different. """ cube1 = self.cube.copy() cube2 = self.cube.copy() cube2.attributes["history"] = "2017-01-19T08:59:53: StaGE Decoupler" cubelist = iris.cube.CubeList([cube1, cube2]) equalise_cube_attributes(cubelist, silent="history") self.assertNotIn("history", cubelist[0].attributes.keys()) self.assertNotIn("history", cubelist[1].attributes.keys())
def test_unknown_attribute(self, warning_list=None): """Test that the utility raises warning when removing a non-silent mismatched attribute.""" cube1 = self.cube.copy() cube2 = self.cube.copy() cube2.attributes.update({'unknown_attribute': '2'}) cubelist = iris.cube.CubeList([cube1, cube2]) equalise_cube_attributes(cubelist) self.assertTrue( any(item.category == UserWarning for item in warning_list)) warning_msg = "Deleting unmatched attribute " self.assertTrue(any(warning_msg in str(item) for item in warning_list)) self.assertNotIn("unknown_attribute", cubelist[0].attributes.keys()) self.assertNotIn("unknown_attribute", cubelist[1].attributes.keys())