Example #1
0
class FoodTasteTest(unittest.TestCase):
    def setUp(self):
        self.food_taste = FoodTaste()
        self.food_taste.preferences({
            'item1': 1,
            'item2': 2,
            'item3': 3,
            'item4': 4,
            'item5': 5,
            'item6_part1 item6_part2': 6
        })

    def test_unknown_food_one_item_menu(self):
        self.assertEqual(0, self.food_taste.rate('unknown_item'))

    def test_known_food_one_item_menu(self):
        self.assertEqual(3, self.food_taste.rate('item3'))

    def test_composite_menu_some_parts_unknown_highest_rating_is_chosen(self):
        self.assertEqual(
            4, self.food_taste.rate('item3 item4 then also something else'))

    def test_composite_menu_all_parts_unknown(self):
        self.assertEqual(4, self.food_taste.rate('item3 item4 item2'))

    def test_empty_menu_rating_is_zero(self):
        self.assertEqual(0, self.food_taste.rate(''))

    def test_repeating_item_on_menu_does_not_change_rating(self):
        self.assertEqual(1,
                         self.food_taste.rate('item1 item1 item1 item1 item1'))

    def test_no_preferences_configured(self):
        self.food_taste = FoodTaste()
        self.assertEqual(0, self.food_taste.rate('item1'))

    def test_spaces_in_preferences(self):
        self.assertEqual(
            6, self.food_taste.rate('item6_part1 item6_part2 something else'))

    def test_case_in_menu_is_ignored(self):
        self.assertEqual(1, self.food_taste.rate('iTeM1'))
class FoodTasteTest(unittest.TestCase):

    def setUp(self):
        self.food_taste = FoodTaste()
        self.food_taste.preferences({
            'item1': 1,
            'item2': 2,
            'item3': 3,
            'item4': 4,
            'item5': 5,
            'item6_part1 item6_part2': 6
        })

    def test_unknown_food_one_item_menu(self):
        self.assertEqual(0, self.food_taste.rate('unknown_item'))

    def test_known_food_one_item_menu(self):
        self.assertEqual(3, self.food_taste.rate('item3'))

    def test_composite_menu_some_parts_unknown_highest_rating_is_chosen(self):
        self.assertEqual(4, self.food_taste.rate('item3 item4 then also something else'))

    def test_composite_menu_all_parts_unknown(self):
        self.assertEqual(4, self.food_taste.rate('item3 item4 item2'))

    def test_empty_menu_rating_is_zero(self):
        self.assertEqual(0, self.food_taste.rate(''))

    def test_repeating_item_on_menu_does_not_change_rating(self):
        self.assertEqual(1, self.food_taste.rate('item1 item1 item1 item1 item1'))

    def test_no_preferences_configured(self):
        self.food_taste = FoodTaste()
        self.assertEqual(0, self.food_taste.rate('item1'))

    def test_spaces_in_preferences(self):
        self.assertEqual(6, self.food_taste.rate('item6_part1 item6_part2 something else'))

    def test_case_in_menu_is_ignored(self):
        self.assertEqual(1, self.food_taste.rate('iTeM1'))