From 445ca84834e4f31e937c2411acb6e2b4a629b25f Mon Sep 17 00:00:00 2001 From: Stijn De Clercq Date: Sun, 8 Aug 2021 20:26:53 +0200 Subject: [PATCH] Write some tests, fix imports --- data/schedule.py | 5 ++--- tests/test_data/test_schedule.py | 24 +++++++++++++++++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/data/schedule.py b/data/schedule.py index 1ff0a38..68f6fca 100644 --- a/data/schedule.py +++ b/data/schedule.py @@ -1,9 +1,8 @@ from abc import ABC, abstractmethod -import dacite -from discord import Colour, Embed from dacite import from_dict from dataclasses import dataclass, field from datetime import datetime, timedelta +from discord import Colour, Embed from enums.platform import Platform, get_platform from functions.timeFormatters import fromArray, intToWeekday, timeFromInt import json @@ -109,7 +108,7 @@ class Timeslot: end_time = slot_dict["time"]["end"] # Location can be none if a class is online-only - location = dacite.from_dict(Location, slot_dict["location"]) if "location" in slot_dict else None + location = from_dict(Location, slot_dict["location"]) if "location" in slot_dict else None # Find platform & link if this class is online online_platform: Platform = get_platform(slot_dict.get("online", None)) diff --git a/tests/test_data/test_schedule.py b/tests/test_data/test_schedule.py index 5d7d235..22916cc 100644 --- a/tests/test_data/test_schedule.py +++ b/tests/test_data/test_schedule.py @@ -1,5 +1,27 @@ +import pytz + +from data import schedule +from datetime import datetime import unittest class TestSchedule(unittest.TestCase): - pass + def test_holiday_has_passed(self): + tz = pytz.timezone("Europe/Brussels") + before = datetime(2020, 8, 8, tzinfo=tz) + during = datetime(2021, 6, 2, tzinfo=tz) + after = datetime(2021, 8, 8, tzinfo=tz) + + holiday = schedule.Holiday([1, 6, 2021], [2, 7, 2021]) + + self.assertFalse(holiday.has_passed(before)) + self.assertFalse(holiday.has_passed(during)) + self.assertTrue(holiday.has_passed(after)) + + def test_course_str(self): + course = schedule.Course("Test") + self.assertEqual(str(course), "Test") + + def test_location_str(self): + location = schedule.Location("C", "B", "R") + self.assertEqual(str(location), "C B R")