From: Jiri Vlasak Date: Thu, 28 Mar 2019 15:43:43 +0000 (+0100) Subject: Add drunk sum UT X-Git-Tag: v0.2.0~1^2~3 X-Git-Url: http://rtime.felk.cvut.cz/gitweb/hubacji1/coffee-getter.git/commitdiff_plain/ed7bf968e7d6172a35c736b6c71f08afeeb10fee Add drunk sum UT --- diff --git a/ut/test_db.py b/ut/test_db.py index 32fd3f0..ff1b652 100644 --- a/ut/test_db.py +++ b/ut/test_db.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- """Test database access.""" +from datetime import datetime, timedelta from os import path, remove from sqlite3 import connect from unittest import TestCase from cbconf import Conf -from cbdb import Db, FileNotSetError +from cbdb import ArgCountError, Db, FileNotSetError TESTDB_FILENAME = ".tmptest.db" @@ -160,3 +161,72 @@ class TopMateDrinkers(TestCase): top, topsorted ) + +class DrunkSum(TestCase): + tdy = datetime.now() + tdy += timedelta(days=1) + tdystr = tdy.strftime("%Y-%m-%d") + lw = tdy - timedelta(days=8) + lwstr = lw.strftime("%Y-%m-%d") + + def test_espresso_sum(self): + create_test_db(TESTDB_FILENAME) + try: + db = Db(TESTDB_FILENAME) + drunk = db.getDrunkSum("espresso", self.lwstr, self.tdystr) + self.assertEqual(drunk, []) + finally: + delete_test_db(TESTDB_FILENAME) + + def test_espressolungo_sum(self): + create_test_db(TESTDB_FILENAME) + try: + db = Db(TESTDB_FILENAME) + drunk = db.getDrunkSum("espresso lungo", self.lwstr, self.tdystr) + self.assertEqual(drunk, [ + ("tester", 4), + ("newer", 2), + ("clone", 2), + ]) + finally: + delete_test_db(TESTDB_FILENAME) + + def test_mate_3_sum(self): + create_test_db(TESTDB_FILENAME) + try: + db = Db(TESTDB_FILENAME) + drunk = db.getDrunkSum("Club-Mate 0,33 l", self.lwstr, self.tdystr) + self.assertEqual(drunk, [ + ("tester", 4), + ("newer", 2), + ("clone", 2), + ]) + finally: + delete_test_db(TESTDB_FILENAME) + + def test_mate_5_sum(self): + create_test_db(TESTDB_FILENAME) + try: + db = Db(TESTDB_FILENAME) + drunk = db.getDrunkSum("Club-Mate 0,5 l", self.lwstr, self.tdystr) + self.assertEqual(drunk, [ + ("tester", 4), + ]) + finally: + delete_test_db(TESTDB_FILENAME) + + def test_nof_args(self): + cfg = Conf() + db = Db(cfg.getCoffeeDbPath()) + self.assertRaises(ArgCountError, db.getDrunkSum) + self.assertRaises(ArgCountError, db.getDrunkSum, "espresso") + self.assertRaises( + ArgCountError, + db.getDrunkSum, + "espresso", "2010-10-20" + ) + self.assertRaises( + ArgCountError, + db.getDrunkSum, + "espresso", "lungo", "2010-10-20", "2020-10-20" + ) diff --git a/ut/test_getter.py b/ut/test_getter.py index 7fe5d8e..1d61f7d 100644 --- a/ut/test_getter.py +++ b/ut/test_getter.py @@ -2,6 +2,7 @@ """Test Coffeebot Getter.""" from requests import Response from unittest import TestCase +from cbdb import ArgCountError from cbgetter import CoffeebotGetter class SuccessInit(TestCase): @@ -69,3 +70,19 @@ class EqualDrinkers(TestCase): g.top = self.TOP g.computeEqualDrinkers() self.assertEqual(len(g.topeq), 2) + +class DrunkSum(TestCase): + def test_nof_args(self): + g = CoffeebotGetter() + self.assertRaises(ArgCountError, g.loadDrunkSum) + self.assertRaises(ArgCountError, g.loadDrunkSum, ["espresso"]) + self.assertRaises( + ArgCountError, + g.loadDrunkSum, + ["espresso", "2010-10-20"] + ) + self.assertRaises( + ArgCountError, + g.loadDrunkSum, + ["espresso", "lungo", "2010-10-20", "2020-10-20"] + )