]> rtime.felk.cvut.cz Git - hubacji1/coffee-getter.git/blob - ut/test_getter.py
Make UT of equal drinkers independent
[hubacji1/coffee-getter.git] / ut / test_getter.py
1 # -*- coding: utf-8 -*-
2 """Test Coffeebot Getter."""
3 from requests import Response
4 from unittest import TestCase
5 from cbgetter import CoffeebotGetter
6
7 class SuccessInit(TestCase):
8     def test_not_blank(self):
9         g = CoffeebotGetter()
10         self.assertIsNotNone(g.cfg)
11         self.assertIsNotNone(g.db)
12         self.assertEqual(g.msg, "")
13         self.assertEqual(g.top, [])
14
15     def test_msg_getter_is_blank_by_default(self):
16         g = CoffeebotGetter()
17         self.assertEqual(g.getMsg(), "")
18
19     def test_msg_sent_to_slack(self):
20         g = CoffeebotGetter()
21         r = g.sendMsgToSlack()
22         self.assertIsInstance(r, Response)
23
24 class TopMateDrinkers(TestCase):
25     def test_top_mate_drinkers(self):
26         g = CoffeebotGetter()
27         g.loadTopMateDrinkers()
28         self.assertIsNotNone(g.top)
29         self.assertTrue(len(g.top) >= 0)
30         self.assertNotEqual(g.msg, "")
31         self.assertTrue(len(g.msg) >= 0)
32
33     def test_get_hero_comment(self):
34         g = CoffeebotGetter()
35         self.assertNotEqual(g.getHeroComment(), "")
36
37     def test_get_some_smile(self):
38         g = CoffeebotGetter()
39         self.assertNotEqual(g.getSomeSmile(), "")
40         self.assertEqual(g.getSomeSmile()[0], ":")
41         self.assertEqual(g.getSomeSmile()[-1], ":")
42
43 class EqualDrinkers(TestCase):
44     def test_strict_drinkers_order(self):
45         g = CoffeebotGetter()
46         g.top = [
47             ("tester", 4*0.5 + 4*0.33),
48             ("newer", 2*0.33),
49             ("clone", 2*0.33),
50         ]
51         g.computeEqualDrinkers()
52         for i in range(len(g.topeq) - 1):
53             for (un1, c1) in g.topeq[i]:
54                 for (un2, c2) in g.topeq[i + 1]:
55                     self.assertTrue(c1 > c2)
56
57     def test_equal_drinkers(self):
58         g = CoffeebotGetter()
59         g.top = [
60             ("tester", 4*0.5 + 4*0.33),
61             ("newer", 2*0.33),
62             ("clone", 2*0.33),
63         ]
64         g.computeEqualDrinkers()
65         for l in g.topeq:
66             cc = l[0][1]
67             for (un, c) in l:
68                self.assertEqual(cc, c)