1 from unittest import TestCase
2 from coffee_getter.bot import Bot
3 from ut.test_db import TESTDB_PATH, create_test_db, delete_test_db
6 class CoffeeGetterBotTests(TestCase):
8 ("tester", 4*0.5 + 4*0.33),
13 create_test_db(TESTDB_PATH)
14 self.b = Bot(TESTDB_PATH)
17 delete_test_db(TESTDB_PATH)
19 def test_blank_bot(self):
21 assert self.b.msg == ""
22 assert self.b.get_msg() == ""
23 assert self.b.top == []
25 def test_text_related_methods(self):
26 self.assertRaises(ValueError, self.b.send_msg_to, "test")
27 assert self.b.get_hero_comment() != ""
28 assert self.b.get_some_smile()[0] == ":"
29 assert self.b.get_some_smile()[-1] == ":"
32 self.b.load_top_drinks()
33 assert len(self.b.top) > 0
34 assert len(self.b.msg) > 0
35 self.b.load_top_mate_drinkers()
36 assert len(self.b.top) > 0
37 assert len(self.b.msg) > 0
38 self.b.load_top_tea_drinkers()
39 assert len(self.b.top) > 0
40 assert len(self.b.msg) > 0
42 def test_drink_smile(self):
45 "espresso": ":coffee:",
46 "espresso lungo": ":owl:",
47 "cappuccino": ":flara:",
48 "latte macchiato": ":baby_bottle:",
49 "Club-Mate 0,5 l": ":club-mate:",
50 "Club-Mate 0,33 l": ":club-mate_cola:",
52 for (d, s) in smiles.items():
53 assert self.b.get_drink_smile(d) == s
55 def test_strict_drinkers_order(self):
57 self.b.compute_equal_drinkers()
58 for i in range(len(self.b.topeq) - 1):
59 for (un1, c1) in self.b.topeq[i]:
60 for (un2, c2) in self.b.topeq[i + 1]:
61 self.assertTrue(c1 > c2)
63 def test_equal_drinkers(self):
65 self.b.compute_equal_drinkers()
66 for i in self.b.topeq:
71 def test_equal_drinkers_len(self):
73 self.b.compute_equal_drinkers()
74 assert len(self.b.topeq) == 2
76 def test_nof_args(self):
77 self.assertRaises(TypeError, self.b.load_drunk_sum)
78 self.assertRaises(TypeError, self.b.load_drunk_sum, ["espresso"])
81 self.b.load_drunk_sum,
82 ["espresso", "2010-10-20"])
85 self.b.load_drunk_sum,
86 ["espresso", "lungo", "2010-10-20", "2020-10-20"])
87 self.assertRaises(TypeError, self.b.load_drunk_list)
88 self.assertRaises(TypeError, self.b.load_drunk_list, ["espresso"])
91 self.b.load_drunk_list,
92 ["espresso", "2010-10-20"])
95 self.b.load_drunk_list,
96 ["espresso", "lungo", "2010-10-20", "2020-10-20"])