def test_pricing_free_B(self):
     # We need to test that we don't get more than the number of B that are in the checkout
     self.assertEqual(checkout("EEB"), 40 + 40)
     self.assertEqual(checkout("EE"), 40 + 40)
     self.assertEqual(checkout("EEEEEEB"), 40 * 6)
     self.assertEqual(checkout("EEBB"), 40 + 40 + 30)
     self.assertEqual(checkout("EEBBBB"), 40 + 40 + 45 + 30)
    def test_checkout(self):
        self.assertEqual(checkout('AAABBCD'), 210)

        self.assertEqual(checkout('AAAABBC'), 245)

        self.assertEqual(checkout('&'), -1)

        self.assertEqual(checkout('CCC'), 60)
 def test_group_discount(self):
     self.assertEqual(checkout('ST'), 40)
     self.assertEqual(checkout('TY'), 40)
     self.assertEqual(checkout('ZZS'), 45)
     self.assertEqual(checkout('TTX'), 45)
     self.assertEqual(checkout('XXX'), 45)
     self.assertEqual(checkout('TXY'), 45)
     self.assertEqual(checkout('TXYS'), 62)
     self.assertEqual(checkout('ZSTY'), 65)
     self.assertEqual(checkout('ZZZY'), 65)
     self.assertEqual(checkout('ZXZZ'), 62)
 def test_A_new_discount(self):
     self.assertEqual(checkout('AAAA'), 180)
     self.assertEqual(checkout('AAAAA'), 200)
     self.assertEqual(checkout('AAAAAA'), 250)
     self.assertEqual(checkout('AAAAAAA'), 300)
     self.assertEqual(checkout('AAAAAAAA'), 330)
     self.assertEqual(checkout('AAAAAAAAA'), 380)
     self.assertEqual(checkout('AAAAAAAAAA'), 400)
 def test_F_discount(self):
     self.assertEqual(checkout('F'), 10)
     self.assertEqual(checkout('FF'), 20)
     self.assertEqual(checkout('FFF'), 20)
     self.assertEqual(checkout('FFFF'), 30)
     self.assertEqual(checkout('FFFFF'), 40)
     self.assertEqual(checkout('FFFFFF'), 40)
 def test_pricing_multi_A(self):
     self.assertEqual(checkout("AAA"), 130)
     self.assertEqual(checkout("AABA"), 130 + 30)
     self.assertEqual(checkout("BACDAA"), 130 + 30 + 20 + 15)
     self.assertEqual(checkout("AAAAA"), 200)
     self.assertEqual(checkout("AAAAAAAAAA"), 400)
     self.assertEqual(checkout("AAAAAAAAAAAAA"), 530)
Esempio n. 7
0
    def test_checkout_single_b(self):
        self.assertEqual(checkout("B"), 30)

        def test_checkout_list_input(self):
            self.assertEqual(checkout(["B"]), 30)

        def test_checkout_lower_input(self):
            self.assertEqual(checkout("b"), -1)

        def test_checkout_mixed_input(self):
            self.assertEqual(checkout("AbC"), -1)

        def test_checkout_punct(self):
            self.assertEqual(checkout("!,."), -1)
 def test_checkout(self):
     assert checkout("FFFFFF") == 40
 def test_checkout(self):
     assert checkout("AC") == 70
Esempio n. 10
0
 def test_checkout(self):
     assert checkout("EE") == 80
Esempio n. 11
0
 def test_checkout(self):
     assert checkout("BBB") == 75
Esempio n. 12
0
 def test_checkout(self):
     assert checkout("A") == 50
Esempio n. 13
0
 def test_checkout(self):
     assert checkout("ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ") == 1602
Esempio n. 14
0
 def test_checkout_illegal(self):
     self.assertEqual(checkout(15), -1)
Esempio n. 15
0
 def test_checkout_empty_str(self):
     self.assertEqual(checkout(""), -1)
Esempio n. 16
0
 def test_checkout(self):
     assert checkout("ZZZ") == 45
Esempio n. 17
0
 def test_checkout(self):
     assert checkout("STXZ") == 62
Esempio n. 18
0
 def test_checkout(self):
     self.assertEqual(checkout("AABC"), 150)
Esempio n. 19
0
 def test_checkout(self):
     assert checkout(None) == 0
Esempio n. 20
0
 def test_checkout(self):
     assert checkout("CDFFAECBDEAB") == 300
Esempio n. 21
0
 def test_checkout(self):
     assert checkout("ACBxA") == -1
Esempio n. 22
0
 def test_checkout(self):
     assert checkout("RRRQ") == 150
Esempio n. 23
0
 def test_checkout(self):
     assert checkout("BBCB") == 95
Esempio n. 24
0
 def test_checkout(self):
     assert checkout("NNNM") == 120
Esempio n. 25
0
 def test_checkout(self):
     assert checkout("EEEB") == 120
Esempio n. 26
0
 def test_checkout(self):
     assert checkout("STXYZS") == 90
Esempio n. 27
0
 def test_checkout(self):
     assert checkout("AAAAA") == 200
Esempio n. 28
0
 def test_checkout(self):
     assert checkout("SSS") == 45
Esempio n. 29
0
 def test_checkout(self):
     assert checkout("ABCDEFABCDEF") == 300
Esempio n. 30
0
 def test_checkout(self):
     assert checkout("SSSZ") == 65