def test_works_with_lists(self): """Test that the construct_condition method works with a list of Constraints. """ plugin = WeatherSymbols() constraint_list = [ iris.Constraint( name='probability_of_lwe_snowfall_rate_above_threshold', coord_values={'threshold': 0.03}), iris.Constraint( name='probability_of_rainfall_rate_above_threshold', coord_values={'threshold': 0.03}) ] condition = '<' prob_threshold = 0.5 gamma = 0.7 expected = ("(cubes.extract(Constraint(name=" "'probability_of_lwe_snowfall_rate_above_threshold', " "coord_values={'threshold': 0.03}))[0].data - " "cubes.extract(Constraint(name=" "'probability_of_rainfall_rate_above_threshold', " "coord_values={'threshold': 0.03}))[0].data * 0.7) < 0.5") result = plugin.construct_condition(constraint_list, condition, prob_threshold, gamma) self.assertIsInstance(result, str) self.assertEqual(result, expected)
def test_basic(self): """Test that the construct_condition method returns a string.""" plugin = WeatherSymbols() constraint_value = iris.Constraint(name='probability_of_rainfall_rate', coord_values={'threshold': 0.03}) condition = '<' prob_threshold = 0.5 gamma = None expected = ("cubes.extract(Constraint(name=" "'probability_of_rainfall_rate'," " coord_values={'threshold': 0.03})" ")[0].data < 0.5") result = plugin.construct_condition(constraint_value, condition, prob_threshold, gamma) self.assertIsInstance(result, str) self.assertEqual(result, expected)