コード例 #1
0
 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)
コード例 #2
0
    def test_checkout(self):
        self.assertEqual(checkout('AAABBCD'), 210)

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

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

        self.assertEqual(checkout('CCC'), 60)
コード例 #3
0
 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)
コード例 #4
0
 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)
コード例 #5
0
 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)
コード例 #6
0
 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)
コード例 #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)
コード例 #8
0
 def test_checkout(self):
     assert checkout("FFFFFF") == 40
コード例 #9
0
 def test_checkout(self):
     assert checkout("AC") == 70
コード例 #10
0
 def test_checkout(self):
     assert checkout("EE") == 80
コード例 #11
0
 def test_checkout(self):
     assert checkout("BBB") == 75
コード例 #12
0
 def test_checkout(self):
     assert checkout("A") == 50
コード例 #13
0
 def test_checkout(self):
     assert checkout("ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ") == 1602
コード例 #14
0
 def test_checkout_illegal(self):
     self.assertEqual(checkout(15), -1)
コード例 #15
0
 def test_checkout_empty_str(self):
     self.assertEqual(checkout(""), -1)
コード例 #16
0
 def test_checkout(self):
     assert checkout("ZZZ") == 45
コード例 #17
0
 def test_checkout(self):
     assert checkout("STXZ") == 62
コード例 #18
0
 def test_checkout(self):
     self.assertEqual(checkout("AABC"), 150)
コード例 #19
0
 def test_checkout(self):
     assert checkout(None) == 0
コード例 #20
0
 def test_checkout(self):
     assert checkout("CDFFAECBDEAB") == 300
コード例 #21
0
 def test_checkout(self):
     assert checkout("ACBxA") == -1
コード例 #22
0
 def test_checkout(self):
     assert checkout("RRRQ") == 150
コード例 #23
0
 def test_checkout(self):
     assert checkout("BBCB") == 95
コード例 #24
0
 def test_checkout(self):
     assert checkout("NNNM") == 120
コード例 #25
0
 def test_checkout(self):
     assert checkout("EEEB") == 120
コード例 #26
0
 def test_checkout(self):
     assert checkout("STXYZS") == 90
コード例 #27
0
 def test_checkout(self):
     assert checkout("AAAAA") == 200
コード例 #28
0
 def test_checkout(self):
     assert checkout("SSS") == 45
コード例 #29
0
 def test_checkout(self):
     assert checkout("ABCDEFABCDEF") == 300
コード例 #30
0
 def test_checkout(self):
     assert checkout("SSSZ") == 65