def test_get(self): """Test the get method for named fields.""" gf1 = griddedfield.GriddedField1( grids=[['foo', 'bar']], data=np.array([42, 13]), ) assert gf1.get('foo') == np.array([42])
def test_get_nofieldnames(self): """Test behavior if first grids is not ArrayOfString.""" gf1 = griddedfield.GriddedField1( grids=[[0]], data=np.array([0]), ) with pytest.raises(TypeError): gf1.get(0)
def test_get_keepdims(self): """Test the dimension handling of the GriddedField.get().""" gf1 = griddedfield.GriddedField1( grids=[['foo', 'bar']], data=np.array([42, 13]), ) assert gf1.get('foo').shape == (1, ) assert gf1.get('foo', keep_dims=False).shape == tuple()
def test_set(self): """Test the set method for named fields.""" gf1 = griddedfield.GriddedField1( grids=[['zero', 'one']], data=np.array([0, 0]), ) gf1.set('one', 1) assert gf1.data[1] == np.array([1])
def test_integer_scaling(self): """Test the scaling of integer data in named fields.""" gf1 = griddedfield.GriddedField1( grids=[['first_field', 'second_field']], data=np.array([1, 1]), ) gf1.scale('second_field', 0.1) # Check if values if *only* values of the second fields are scaled. assert gf1.data[0] == np.array([1]) assert gf1.data[1] == np.array([0.1])
def test_get_default(self): """Test the GriddedField.get() behavior for non-existing fieldnames.""" gf1 = griddedfield.GriddedField1( grids=[['dummy']], data=np.array([0]), ) # Return given default, if a name is not existing. assert gf1.get('nonexisting', 42) == 42 # If no default is specified, return `None`. assert gf1.get('nonexisting') is None
def test_name_setter(self): """Test name setter and getter.""" reference = 'TestName' gf = griddedfield.GriddedField1() gf.name = reference assert gf.name == reference
def test_repr_empty(self): """Test string represenation of empty GriddedField objects.""" str(griddedfield.GriddedField1())
def test_name_type(self, nametype): """Test if only names of type str are accepted.""" with pytest.raises(TypeError): gf = griddedfield.GriddedField1() gf.name = nametype