def test_average_two_keys(self): toolbox.now = lambda: datetime(2012, 12, 13, 14, 0, 7, tzinfo=timezone.utc) yield from self.message_handler.handle({'date': toolbox.now(), 'watt': 100, 'temperature': 20.0}) self.assertEquals(0, self.message_handler.queue.qsize()) toolbox.now = lambda: datetime(2012, 12, 13, 14, 3, 0, tzinfo=timezone.utc) yield from self.message_handler.handle({'date': toolbox.now(), 'watt': 200, 'temperature': 30.0}) self.assertEquals(0, self.message_handler.queue.qsize()) toolbox.now = lambda: datetime(2012, 12, 13, 14, 10, 0, 1, tzinfo=timezone.utc) yield from self.message_handler.handle({'date': toolbox.now(), 'watt': 900, 'temperature': 10.0}) event_average = yield from asyncio.wait_for(self.message_handler.queue.get(), 1) self.assertEqual({'date': toolbox.now(), 'watt': 400.0, 'temperature': 20.0, 'nb_data': 3, 'minutes': 10}, event_average)
def test_average_one_key(self): toolbox.now = lambda: datetime(2015, 8, 21, 11, 52, 0, tzinfo=timezone.utc) self.message_handler = AverageMessageHandlerForTest(['temperature'], average_period_minutes=10) toolbox.now = lambda: datetime(2015, 8, 21, 11, 52, 4, tzinfo=timezone.utc) yield from self.message_handler.handle({'packet_length': 10, 'packet_type': 82, 'humidity_status': 0, 'temperature': 23.0, 'sub_type': 1, 'battery_signal_level': 80, 'sequence_number': 40, 'humidity': 0, 'id': '0xBB02', 'packet_type_name': 'Temperature and humidity sensors', 'signal_strength': 80, 'date': toolbox.now(), 'sub_type_name': 'THGN122/123, THGN132, THGR122/228/238/268'}) toolbox.now = lambda: datetime(2015, 8, 21, 11, 55, 6, tzinfo=timezone.utc) yield from self.message_handler.handle({'packet_length': 10, 'packet_type': 82, 'humidity_status': 0, 'temperature': 24.0, 'sub_type': 1, 'battery_signal_level': 80, 'sequence_number': 41, 'humidity': 0, 'id': '0xBB02', 'packet_type_name': 'Temperature and humidity sensors', 'signal_strength': 80, 'date': toolbox.now(), 'sub_type_name': 'THGN122/123, THGN132, THGR122/228/238/268'}) toolbox.now = lambda: datetime(2015, 8, 21, 12, 00, 8, tzinfo=timezone.utc) yield from self.message_handler.handle({'packet_length': 10, 'packet_type': 82, 'humidity_status': 0, 'temperature': 25.0, 'sub_type': 1, 'battery_signal_level': 64, 'sequence_number': 42, 'humidity': 0, 'id': '0xBB02', 'packet_type_name': 'Temperature and humidity sensors', 'signal_strength': 64, 'date': toolbox.now(), 'sub_type_name': 'THGN122/123, THGN132, THGR122/228/238/268'}) event_average = yield from asyncio.wait_for(self.message_handler.queue.get(), 1) self.assertEqual({'date': toolbox.now(), 'temperature': 24.0, 'nb_data': 3, 'minutes': 10}, event_average)