def test_ratio_difference_zero(self): """Test difference of two identical ratios""" ingredients, _ = test_data() ratio_1 = create_ratio(ingredients, [1, 2, 3]) ratio_2 = create_ratio(ingredients, [1, 2, 3]) difference, _ = percentage_difference(ratio_1, ratio_2) self.assertEquals(0, difference)
def test_ratio_difference(self): """Test per ingredient and over all percentage difference""" ingredients, _ = test_data() ratio_1 = create_ratio(ingredients, [1, 30, 100]) ratio_2 = create_ratio(ingredients, [1, 60, 50]) difference, differences = percentage_difference(ratio_1, ratio_2) self.assertAlmostEquals(0.496, difference, 2) self.assertAlmostEquals(differences[1][0], 0.81, 2) self.assertEquals(differences[1][1], EGG) self.assertAlmostEquals(differences[0][0], 0.17, 2) self.assertEquals(differences[0][1], FLOUR)
def main(self, show_percentage_change, precision): """Entry method for script""" self.number_template = "%%0.%df" % precision output = Output() self.print_ratios(output) diff_info = percentage_difference(self.ratio1, self.ratio2) mean_difference, differences = diff_info if show_percentage_change is False: self.print_percentage_difference(output, differences) else: self.print_percentage_change(output) self.print_overall_percentage_diff(output, mean_difference) return str(output)