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 TopMateDrinkers(TestCase):
26 def test_top_mate_drinkers(self):
28 g.loadTopMateDrinkers()
29 self.assertIsNotNone(g.top)
30 self.assertTrue(len(g.top) >= 0)
31 self.assertNotEqual(g.msg, "")
32 self.assertTrue(len(g.msg) >= 0)
34 def test_get_hero_comment(self):
36 self.assertNotEqual(g.getHeroComment(), "")
38 def test_get_some_smile(self):
40 self.assertNotEqual(g.getSomeSmile(), "")
41 self.assertEqual(g.getSomeSmile()[0], ":")
42 self.assertEqual(g.getSomeSmile()[-1], ":")
44 class EqualDrinkers(TestCase):
46 ("tester", 4*0.5 + 4*0.33),
50 def test_strict_drinkers_order(self):
53 g.computeEqualDrinkers()
54 for i in range(len(g.topeq) - 1):
55 for (un1, c1) in g.topeq[i]:
56 for (un2, c2) in g.topeq[i + 1]:
57 self.assertTrue(c1 > c2)
59 def test_equal_drinkers(self):
62 g.computeEqualDrinkers()
66 self.assertEqual(cc, c)
68 def test_equal_drinkers_len(self):
71 g.computeEqualDrinkers()
72 self.assertEqual(len(g.topeq), 2)
74 class DrunkSum(TestCase):
75 def test_nof_args(self):
77 self.assertRaises(ArgCountError, g.loadDrunkSum)
78 self.assertRaises(ArgCountError, g.loadDrunkSum, ["espresso"])
82 ["espresso", "2010-10-20"]
87 ["espresso", "lungo", "2010-10-20", "2020-10-20"]
90 class DrunkList(TestCase):
91 def test_nof_args(self):
93 self.assertRaises(ArgCountError, g.loadDrunkList)
94 self.assertRaises(ArgCountError, g.loadDrunkList, ["espresso"])
98 ["espresso", "2010-10-20"]
103 ["espresso", "lungo", "2010-10-20", "2020-10-20"]