Пример #1
0
    def test_no_match(self):
        """
        Test limit situations where no harmonization should happen
        """

        # model provided does not convert from the native magnitude scale
        for measure in self.measures:
            measure.scale = "fake scale"

        h = Harmoniser(target_scale=self.target_scale)
        h.add_conversion_formula_from_model(self.a_model)
        converted, unconverted = h.harmonise(self.measures)
        self.assertEqual(0, len(converted))
        self.assertEqual(self.number_of_measures, len(unconverted))

        # no model are provided
        h = Harmoniser(target_scale=self.target_scale)
        converted, unconverted = h.harmonise(self.measures)
        self.assertEqual(0, len(converted))
        self.assertEqual(self.number_of_measures, len(unconverted))

        # no model matches the target scale
        h = Harmoniser(target_scale="wrong scale")
        h.add_conversion_formula_from_model(self.a_model)
        converted, unconverted = h.harmonise(self.measures)
        self.assertEqual(0, len(converted))
        self.assertEqual(self.number_of_measures, len(unconverted))
Пример #2
0
    def test_disallow_trivial_conversion(self):
        h = Harmoniser(target_scale=self.target_scale)
        h.add_conversion_formula_from_model(self.a_model)
        h.add_conversion_formula_from_model(self.ya_model)
        converted, unconverted = h.harmonise(self.measures,
            allow_trivial_conversion=False)

        self.assertConversion(converted, 20, unconverted, 10)
Пример #3
0
    def test_more_model(self):
        h = Harmoniser(target_scale=self.target_scale)

        h.add_conversion_formula_from_model(self.a_model)
        h.add_conversion_formula_from_model(self.ya_model)
        converted, unconverted = h.harmonise(self.measures)

        self.assertConversion(converted, self.number_of_measures,
                              unconverted, 0)
    def test_disallow_trivial_conversion(self):
        h = Harmoniser(target_scale=self.target_scale)
        h.add_conversion_formula_from_model(self.a_model,
                                            C(scale=self.a_native_scale))
        h.add_conversion_formula_from_model(self.ya_model,
                                            C(scale=self.ya_native_scale))
        result = h.harmonise(self.measures, allow_trivial_conversion=False)

        self.assertConversion(result, 20, 10)
    def test_more_model(self):
        h = Harmoniser(target_scale=self.target_scale)

        h.add_conversion_formula_from_model(self.a_model,
                                            C(scale=self.a_native_scale))
        h.add_conversion_formula_from_model(self.ya_model,
                                            C(scale=self.ya_native_scale))
        result = h.harmonise(self.measures)

        self.assertConversion(result, self.number_of_measures, 0)
Пример #6
0
    def test_one_model(self):
        """
        Test with one model. Given a target scale, a list of measures
        (in a single magnitude scales), and an empirical magnitude
        scaling relationship (between a native scale mb and the
        considered target scale), an Harmoniser should convert to the
        target scale only the measure in that native scale
        """

        mismatches = self.number_of_measures / 3

        h = Harmoniser(target_scale=self.target_scale)
        h.add_conversion_formula_from_model(self.a_model)
        converted, unconverted = h.harmonise(self.measures)

        self.assertConversion(converted, self.number_of_measures - mismatches,
                              unconverted, mismatches)