From a5633185952c2324f7b67d4efbb7d0280afb6cdb Mon Sep 17 00:00:00 2001 From: Jiri Vlasak Date: Wed, 20 Mar 2019 17:20:12 +0100 Subject: [PATCH] Add top mate drinkers UT --- ut/test_db.py | 60 +++++++++++++++++++++++++++++++++++++++++++++-- ut/test_getter.py | 20 ++++++++++++++++ 2 files changed, 78 insertions(+), 2 deletions(-) diff --git a/ut/test_db.py b/ut/test_db.py index c1577f4..6ea6952 100644 --- a/ut/test_db.py +++ b/ut/test_db.py @@ -67,10 +67,8 @@ INSERT INTO coffees (id, flavor, time) VALUES ('1111', 'Club-Mate 0,5 l', datetime('now', 'localtime', '-85 second')), ('1111', 'Club-Mate 0,33 l', datetime('now', 'localtime', '-85 second')), ('2222', 'espresso lungo', datetime('now', 'localtime', '-99 seconds')), -('2222', 'Club-Mate 0,5 l', datetime('now', 'localtime', '-99 seconds')), ('2222', 'Club-Mate 0,33 l', datetime('now', 'localtime', '-99 seconds')), ('2222', 'espresso lungo', datetime('now', 'localtime', '-95 second')), -('2222', 'Club-Mate 0,5 l', datetime('now', 'localtime', '-95 second')), ('2222', 'Club-Mate 0,33 l', datetime('now', 'localtime', '-95 second')); """) con.close() @@ -98,3 +96,61 @@ class CoffeeDb(TestCase): class FailCoffeeDb(TestCase): def test_db_path_not_set(self): self.assertRaises(FileNotSetError, Db) + +class TopMateDrinkers(TestCase): + def test_test_top_mate_drinkers(self): + create_test_db(TESTDB_FILENAME) + try: + db = Db(TESTDB_FILENAME) + top = db.getTopMateDrinkers() + self.assertEqual( + top, + [ + ("tester", 4*0.5 + 4*0.33), + ("newer", 2*0.33) + ] + ) + finally: + delete_test_db(TESTDB_FILENAME) + + def test_test_top_mate_drinkers_len(self): + create_test_db(TESTDB_FILENAME) + try: + db = Db(TESTDB_FILENAME) + top = db.getTopMateDrinkers() + self.assertIsNotNone(top) + self.assertEqual(len(top), 2) + finally: + delete_test_db(TESTDB_FILENAME) + + def test_top_mate_drinkers_len(self): + cfg = Conf() + db = Db(cfg.getCoffeeDbPath()) + top = db.getTopMateDrinkers() + self.assertIsNotNone(top) + self.assertTrue(0 <= len(top)) + + def test_test_top_mate_drinkers_order(self): + create_test_db(TESTDB_FILENAME) + try: + db = Db(TESTDB_FILENAME) + top = db.getTopMateDrinkers() + topsorted = list(top) + topsorted.sort(key=lambda x: x[1], reverse=True) + self.assertEqual( + top, + topsorted + ) + finally: + delete_test_db(TESTDB_FILENAME) + + def test_top_mate_drinkers_order(self): + cfg = Conf() + db = Db(cfg.getCoffeeDbPath()) + top = db.getTopMateDrinkers() + topsorted = list(top) + topsorted.sort(key=lambda x: x[1], reverse=True) + self.assertEqual( + top, + topsorted + ) diff --git a/ut/test_getter.py b/ut/test_getter.py index 68a746d..e59c4e9 100644 --- a/ut/test_getter.py +++ b/ut/test_getter.py @@ -10,6 +10,7 @@ class SuccessInit(TestCase): self.assertIsNotNone(g.cfg) self.assertIsNotNone(g.db) self.assertEqual(g.msg, "") + self.assertEqual(g.top, []) def test_msg_getter_is_blank_by_default(self): g = CoffeebotGetter() @@ -19,3 +20,22 @@ class SuccessInit(TestCase): g = CoffeebotGetter() r = g.sendMsgToSlack() self.assertIsInstance(r, Response) + +class TopMateDrinkers(TestCase): + def test_top_mate_drinkers(self): + g = CoffeebotGetter() + g.loadTopMateDrinkers() + self.assertIsNotNone(g.top) + self.assertTrue(len(g.top) >= 0) + self.assertNotEqual(g.msg, "") + self.assertTrue(len(g.msg) >= 0) + + def test_get_hero_comment(self): + g = CoffeebotGetter() + self.assertNotEqual(g.getHeroComment(), "") + + def test_get_some_smile(self): + g = CoffeebotGetter() + self.assertNotEqual(g.getSomeSmile(), "") + self.assertEqual(g.getSomeSmile()[0], ":") + self.assertEqual(g.getSomeSmile()[-1], ":") -- 2.39.2