Ejemplo n.º 1
0
class Test_is_compatible(tests.IrisTest):
    def setUp(self):
        self.ancill_var = AncillaryVariable(
            [1.0, 8.0, 22.0], standard_name="number_of_observations", units="1"
        )
        self.modified_ancill_var = self.ancill_var.copy()

    def test_not_compatible_diff_name(self):
        # Different name() - not compatible
        self.modified_ancill_var.rename("air_temperature")
        self.assertFalse(
            self.ancill_var.is_compatible(self.modified_ancill_var)
        )

    def test_not_compatible_diff_units(self):
        # Different units- not compatible
        self.modified_ancill_var.units = "m"
        self.assertFalse(
            self.ancill_var.is_compatible(self.modified_ancill_var)
        )

    def test_not_compatible_diff_common_attrs(self):
        # Different common attributes - not compatible.
        self.ancill_var.attributes["source"] = "A"
        self.modified_ancill_var.attributes["source"] = "B"
        self.assertFalse(
            self.ancill_var.is_compatible(self.modified_ancill_var)
        )

    def test_compatible_diff_data(self):
        # Different data values - compatible.
        self.modified_ancill_var.data = [10.0, 20.0, 100.0]
        self.assertTrue(
            self.ancill_var.is_compatible(self.modified_ancill_var)
        )

    def test_compatible_diff_var_name(self):
        # Different var_name (but same name()) - compatible.
        self.modified_ancill_var.var_name = "obs_num"
        self.assertTrue(
            self.ancill_var.is_compatible(self.modified_ancill_var)
        )

    def test_compatible_diff_non_common_attributes(self):
        # Different non-common attributes - compatible.
        self.ancill_var.attributes["source"] = "A"
        self.modified_ancill_var.attributes["origin"] = "B"
        self.assertTrue(
            self.ancill_var.is_compatible(self.modified_ancill_var)
        )

    def test_compatible_ignore_common_attribute(self):
        # ignore different common attributes - compatible.
        self.ancill_var.attributes["source"] = "A"
        self.modified_ancill_var.attributes["source"] = "B"
        self.assertTrue(
            self.ancill_var.is_compatible(
                self.modified_ancill_var, ignore="source"
            )
        )
Ejemplo n.º 2
0
class Test_is_compatible(tests.IrisTest):
    def setUp(self):
        self.ancill_var = AncillaryVariable(
            [1., 8., 22.], standard_name='number_of_observations', units='1')
        self.modified_ancill_var = self.ancill_var.copy()

    def test_not_compatible_diff_name(self):
        # Different name() - not compatible
        self.modified_ancill_var.rename('air_temperature')
        self.assertFalse(
            self.ancill_var.is_compatible(self.modified_ancill_var))

    def test_not_compatible_diff_units(self):
        # Different units- not compatible
        self.modified_ancill_var.units = 'm'
        self.assertFalse(
            self.ancill_var.is_compatible(self.modified_ancill_var))

    def test_not_compatible_diff_common_attrs(self):
        # Different common attributes - not compatible.
        self.ancill_var.attributes['source'] = 'A'
        self.modified_ancill_var.attributes['source'] = 'B'
        self.assertFalse(
            self.ancill_var.is_compatible(self.modified_ancill_var))

    def test_compatible_diff_data(self):
        # Different data values - compatible.
        self.modified_ancill_var.data = [10., 20., 100.]
        self.assertTrue(self.ancill_var.is_compatible(
            self.modified_ancill_var))

    def test_compatible_diff_var_name(self):
        # Different var_name (but same name()) - compatible.
        self.modified_ancill_var.var_name = 'obs_num'
        self.assertTrue(self.ancill_var.is_compatible(
            self.modified_ancill_var))

    def test_compatible_diff_non_common_attributes(self):
        # Different non-common attributes - compatible.
        self.ancill_var.attributes['source'] = 'A'
        self.modified_ancill_var.attributes['origin'] = 'B'
        self.assertTrue(self.ancill_var.is_compatible(
            self.modified_ancill_var))

    def test_compatible_ignore_common_attribute(self):
        # ignore different common attributes - compatible.
        self.ancill_var.attributes['source'] = 'A'
        self.modified_ancill_var.attributes['source'] = 'B'
        self.assertTrue(
            self.ancill_var.is_compatible(self.modified_ancill_var,
                                          ignore='source'))
Ejemplo n.º 3
0
 def test_nanpoints_eq_copy(self):
     av1 = AncillaryVariable([1.0, np.nan, 2.0])
     av2 = av1.copy()
     self.assertEqual(av1, av2)