Пример #1
0
    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])
Пример #2
0
    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)
Пример #3
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()
Пример #4
0
    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)
Пример #5
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])
Пример #6
0
    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])
Пример #7
0
    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
Пример #8
0
    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])
Пример #9
0
 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
Пример #10
0
 def test_name_setter(self):
     """Test name setter and getter."""
     reference = 'TestName'
     gf = griddedfield.GriddedField1()
     gf.name = reference
     assert gf.name == reference
Пример #11
0
 def test_repr_empty(self):
     """Test string represenation of empty GriddedField objects."""
     str(griddedfield.GriddedField1())
Пример #12
0
 def _set_name_of_type(self, name_type):
     gf = griddedfield.GriddedField1()
     gf.name = name_type