def test_compare_events(self): smaller = Event(name="Some Event", start_time=self.before) bigger = Event(name="Some Event", start_time=self.after) equal = Event(name="Some Event", start_time=self.before) if not smaller < bigger: self.fail( # pragma: no cover "Events don't compare properly. Operator: <") if not bigger > smaller: self.fail( # pragma: no cover "Events don't compare properly. Operator: >") if not smaller == equal: self.fail( # pragma: no cover "Events don't compare properly. Operator: ==") if not smaller <= bigger: self.fail( # pragma: no cover "Events don't compare properly. Operator: <=") if not bigger >= smaller: self.fail( # pragma: no cover "Events don't compare properly. Operator: >=") if not smaller != bigger: self.fail( # pragma: no cover "Events don't compare properly. Operator: !=")
def test_alarm(self): # pragma: no cover event = Event( name="Some Event", reminder=timedelta(hours=0), start_time=datetime.now() + timedelta(seconds=2), duration=timedelta(seconds=30)) self.schedule_alarm(event) self.sched.add_date_job( self.play_alarms, event.get_alarm_time() + timedelta(seconds=1))
def test_alarm(self): # pragma: no cover event = Event(name="Some Event", reminder=timedelta(hours=0), start_time=datetime.now() + timedelta(seconds=2), duration=timedelta(seconds=30)) self.schedule_alarm(event) self.sched.add_date_job(self.play_alarms, event.get_alarm_time() + timedelta(seconds=1))
def setUp(self): self.starttime = datetime(year=2013, month=3, day=5) self.before = datetime(year=2013, month=3, day=4) self.after = datetime(year=2013, month=3, day=6) self.event_without_reminder = Event(name="Some Event", start_time=self.starttime) self.event_with_reminder = Event(name="Some Event", start_time=self.starttime, reminder=timedelta(minutes=45))
def collect(self): for alarm in self.settings['alarms']: if alarm['enabled'] and date.today().weekday() in alarm['weekdays']: # pylint: disable=line-too-long start_time = datetime.combine( date.today(), time(alarm['time'][0], alarm['time'][1])) yield Event(name="Daily Alarm", start_time=start_time, reminder=timedelta(seconds=0))
def setUp(self): self.starttime = datetime(year=2013, month=3, day=5) self.before = datetime(year=2013, month=3, day=4) self.after = datetime(year=2013, month=3, day=6) self.event_without_reminder = Event( name="Some Event", start_time=self.starttime) self.event_with_reminder = Event( name="Some Event", start_time=self.starttime, reminder=timedelta(minutes=45))
def test_collect(self): start_time = datetime.combine(date.today(), time(8, 0)) events = list(self.plugin.collect()) self.assertTrue(events, "collect should return an event.") self.assertEquals( events[0], Event(name="Daily Alarm", start_time=start_time), "Should return an event with name Daily Alarm and start_time 8:00")
class TestEvent(TestCase): def setUp(self): self.starttime = datetime(year=2013, month=3, day=5) self.before = datetime(year=2013, month=3, day=4) self.after = datetime(year=2013, month=3, day=6) self.event_without_reminder = Event( name="Some Event", start_time=self.starttime) self.event_with_reminder = Event( name="Some Event", start_time=self.starttime, reminder=timedelta(minutes=45)) def test_to_string(self): val = self.event_without_reminder.__str__() if not isinstance(val, str): self.fail("Not a String.") # pragma: no cover if not str(self.event_without_reminder): self.fail("String is empty.") # pragma: no cover def test_compare_events(self): smaller = Event(name="Some Event", start_time=self.before) bigger = Event(name="Some Event", start_time=self.after) equal = Event(name="Some Event", start_time=self.before) if not smaller < bigger: self.fail( # pragma: no cover "Events don't compare properly. Operator: <") if not bigger > smaller: self.fail( # pragma: no cover "Events don't compare properly. Operator: >") if not smaller == equal: self.fail( # pragma: no cover "Events don't compare properly. Operator: ==") if not smaller <= bigger: self.fail( # pragma: no cover "Events don't compare properly. Operator: <=") if not bigger >= smaller: self.fail( # pragma: no cover "Events don't compare properly. Operator: >=") if not smaller != bigger: self.fail( # pragma: no cover "Events don't compare properly. Operator: !=")
def test_get_text_backlight(self): notification = self.plugin.get_text() self.assertIs(notification, None, "get_text must return None if alarm isn't on.") backlight = self.plugin.backlight() self.assertIs(backlight, None, "backlight must return None if alarm isn't on.") self.plugin.begin(Event(name="Some Event", start_time=datetime.now())) self.plugin.play() notification = self.plugin.get_text() self.assertIsInstance( notification, str, "get_text must return a string when alarm is on.") backlight = self.plugin.backlight() backlight2 = self.plugin.backlight() self.assertIsNot(backlight, backlight2, "backlight should toggle when alarm is on.")
class TestEvent(TestCase): def setUp(self): self.starttime = datetime(year=2013, month=3, day=5) self.before = datetime(year=2013, month=3, day=4) self.after = datetime(year=2013, month=3, day=6) self.event_without_reminder = Event(name="Some Event", start_time=self.starttime) self.event_with_reminder = Event(name="Some Event", start_time=self.starttime, reminder=timedelta(minutes=45)) def test_to_string(self): val = self.event_without_reminder.__str__() if not isinstance(val, str): self.fail("Not a String.") # pragma: no cover if not str(self.event_without_reminder): self.fail("String is empty.") # pragma: no cover def test_compare_events(self): smaller = Event(name="Some Event", start_time=self.before) bigger = Event(name="Some Event", start_time=self.after) equal = Event(name="Some Event", start_time=self.before) if not smaller < bigger: self.fail( # pragma: no cover "Events don't compare properly. Operator: <") if not bigger > smaller: self.fail( # pragma: no cover "Events don't compare properly. Operator: >") if not smaller == equal: self.fail( # pragma: no cover "Events don't compare properly. Operator: ==") if not smaller <= bigger: self.fail( # pragma: no cover "Events don't compare properly. Operator: <=") if not bigger >= smaller: self.fail( # pragma: no cover "Events don't compare properly. Operator: >=") if not smaller != bigger: self.fail( # pragma: no cover "Events don't compare properly. Operator: !=")
def feed_to_events(self, feed): for event in feed.entry: for when in event.when: try: start_time = datetime.strptime( when.start_time.split(".")[0], "%Y-%m-%dT%H:%M:%S") end_time = datetime.strptime( when.end_time.split(".")[0], "%Y-%m-%dT%H:%M:%S") except ValueError: # pragma: no cover # ValueError happens on parsing error. Parsing errors # usually happen for "all day" events since they have # not time, but we do not care about this events. continue event_dict = { 'name': event.title.text, 'start_time': start_time, 'duration': end_time - start_time } reminders = [] for reminder in when.reminder: if reminder.method == "alert": reminders.append( timedelta(minutes=int(reminder.minutes))) if reminders: reminders.sort() event_dict['reminder'] = reminders[-1] for where in event.where: if not where.value_string is None: event_dict['location'] = where.value_string yield Event(**event_dict)
from unittest import TestCase from mock import MagicMock from datetime import datetime, timedelta from smartclock.plugins.alarmmanager import AlarmManager from smartclock.hardware.bedsensor import Bedsensor from smartclock.plugins.pluginlib import Event mockevent = Event(name="Mock Event", start_time=datetime.now(), reminder=timedelta(hours=0)) class MockEventCollector(object): def collect(self): yield mockevent class MockEventProcessor(object): def process(self, event): event.mock = True return event class AlarmManagerTestCase(TestCase): def setUp(self): self.alarm_manager = AlarmManager( self.mock_get_plugins, MagicMock(return_value=Bedsensor.PRESSED)) self.alarm = MagicMock() self.alarm.begin = MagicMock(name="begin")
def setUp(self): self.plugin = IAlarmPlugin() self.plugin._play = MagicMock() self.plugin._pause = MagicMock() self.plugin._interval = MagicMock() self.event = Event(name="Some Event", start_time=datetime.now())