Beispiel #1
0
 def test_attributes_deleted_when_not_present(self):
     """Test _update_attribute copes when an attribute is requested to be
     deleted, but this attribute is not available on the input cube."""
     attribute_name = 'invalid_name'
     changes = 'delete'
     result = _update_attribute(self.cube, attribute_name, changes)
     self.assertFalse('invalid_name' in result.attributes)
Beispiel #2
0
 def test_basic(self):
     """Test that _update_attribute returns a Cube and updates OK and does
     not modify the input cube. """
     original_cube = self.cube.copy()
     attribute_name = 'attribute_to_update'
     changes = 'second_value'
     result = _update_attribute(self.cube, attribute_name, changes)
     self.assertIsInstance(result, Cube)
     self.assertEqual(result.attributes['attribute_to_update'],
                      'second_value')
     self.assertEqual(self.cube.metadata, original_cube.metadata)
Beispiel #3
0
 def test_attributes_deleted_warnings(self, warning_list=None):
     """Test _update_attribute deletes and gives warning. """
     attribute_name = 'attribute_to_update'
     changes = 'delete'
     warning_msg = "Deleted attribute"
     result = _update_attribute(self.cube,
                                attribute_name,
                                changes,
                                warnings_on=True)
     self.assertTrue(
         any(item.category == UserWarning for item in warning_list))
     self.assertTrue(any(warning_msg in str(item) for item in warning_list))
     self.assertFalse('attribute_to_update' in result.attributes)
Beispiel #4
0
 def test_attributes_updated_warnings(self, warning_list=None):
     """Test _update_attribute updates attributes and gives warning. """
     attribute_name = 'attribute_to_update'
     changes = 'second_value'
     warning_msg = "Adding or updating attribute"
     result = _update_attribute(self.cube,
                                attribute_name,
                                changes,
                                warnings_on=True)
     self.assertTrue(
         any(item.category == UserWarning for item in warning_list))
     self.assertTrue(any(warning_msg in str(item) for item in warning_list))
     self.assertEqual(result.attributes['attribute_to_update'],
                      'second_value')
Beispiel #5
0
 def test_attributes_deleted(self):
     """Test _update_attribute deletes attribute OK. """
     attribute_name = 'attribute_to_update'
     changes = 'delete'
     result = _update_attribute(self.cube, attribute_name, changes)
     self.assertFalse('attribute_to_update' in result.attributes)
Beispiel #6
0
 def test_attributes_added(self):
     """Test _update_attribute adds attribute OK. """
     attribute_name = 'new_attribute'
     changes = 'new_value'
     result = _update_attribute(self.cube, attribute_name, changes)
     self.assertEqual(result.attributes['new_attribute'], 'new_value')