1 # -*- coding: utf-8 -*-
2 """Test Coffeebot Getter."""
3 from requests import Response
4 from unittest import TestCase
5 from cbdb import ArgCountError
6 from cbgetter import CoffeebotGetter
8 class SuccessInit(TestCase):
9 def test_not_blank(self):
11 self.assertIsNotNone(g.cfg)
12 self.assertIsNotNone(g.db)
13 self.assertEqual(g.msg, "")
14 self.assertEqual(g.top, [])
16 def test_msg_getter_is_blank_by_default(self):
18 self.assertEqual(g.getMsg(), "")
20 def test_msg_sent_to_slack(self):
22 r = g.sendMsgToSlack()
23 self.assertIsInstance(r, Response)
25 class TopDrinks(TestCase):
27 self.g = CoffeebotGetter()
29 def test_top_drinks(self):
30 top = self.g.load_top_drinks()
31 self.assertIsNotNone(self.g.top)
32 self.assertTrue(len(self.g.top) >= 0)
33 self.assertNotEqual(self.g.msg, "")
34 self.assertTrue(len(self.g.msg) >= 0)
36 class TopMateDrinkers(TestCase):
37 def test_top_mate_drinkers(self):
39 g.loadTopMateDrinkers()
40 self.assertIsNotNone(g.top)
41 self.assertTrue(len(g.top) >= 0)
42 self.assertNotEqual(g.msg, "")
43 self.assertTrue(len(g.msg) >= 0)
45 def test_get_hero_comment(self):
47 self.assertNotEqual(g.getHeroComment(), "")
49 def test_get_some_smile(self):
51 self.assertNotEqual(g.getSomeSmile(), "")
52 self.assertEqual(g.getSomeSmile()[0], ":")
53 self.assertEqual(g.getSomeSmile()[-1], ":")
55 class TopTeaDrinkers(TestCase):
57 self.g = CoffeebotGetter()
59 def test_top_tea_drinkers(self):
60 top = self.g.load_top_tea_drinkers()
61 self.assertIsNotNone(self.g.top)
62 self.assertTrue(len(self.g.top) >= 0)
63 self.assertNotEqual(self.g.msg, "")
64 self.assertTrue(len(self.g.msg) >= 0)
66 class EqualDrinkers(TestCase):
68 ("tester", 4*0.5 + 4*0.33),
72 def test_strict_drinkers_order(self):
75 g.computeEqualDrinkers()
76 for i in range(len(g.topeq) - 1):
77 for (un1, c1) in g.topeq[i]:
78 for (un2, c2) in g.topeq[i + 1]:
79 self.assertTrue(c1 > c2)
81 def test_equal_drinkers(self):
84 g.computeEqualDrinkers()
88 self.assertEqual(cc, c)
90 def test_equal_drinkers_len(self):
93 g.computeEqualDrinkers()
94 self.assertEqual(len(g.topeq), 2)
96 class DrunkSum(TestCase):
97 def test_nof_args(self):
99 self.assertRaises(ArgCountError, g.loadDrunkSum)
100 self.assertRaises(ArgCountError, g.loadDrunkSum, ["espresso"])
104 ["espresso", "2010-10-20"]
109 ["espresso", "lungo", "2010-10-20", "2020-10-20"]
112 class DrunkList(TestCase):
113 def test_nof_args(self):
114 g = CoffeebotGetter()
115 self.assertRaises(ArgCountError, g.loadDrunkList)
116 self.assertRaises(ArgCountError, g.loadDrunkList, ["espresso"])
120 ["espresso", "2010-10-20"]
125 ["espresso", "lungo", "2010-10-20", "2020-10-20"]