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_get_nofieldnames(self): """Test behavior if first grids is not ArrayOfString.""" gf1 = griddedfield.GriddedField1( grids = [[0]], data = np.array([0]), ) # This line should raise a TypeError. gf1.get(0)
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_add_offset(self): """Test adding of offset to data in named fields.""" gf1 = griddedfield.GriddedField1( grids=[['first_field', 'second_field']], data=np.array([1., 1.]), ) gf1.add('second_field', 0.5) # 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([1.5])
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
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 _set_name_of_type(self, name_type): gf = griddedfield.GriddedField1() gf.name = name_type