('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()
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
+ )