def test_entity_activity_init_params(self):
        uuid = "ActivityUUID-321"
        start_datetime = datetime.datetime(year=2018,
                                           month=1,
                                           day=2,
                                           hour=1,
                                           minute=0,
                                           second=0)
        end_datetime = datetime.datetime(year=2018,
                                         month=1,
                                         day=2,
                                         hour=1,
                                         minute=0,
                                         second=2)
        obj = Activity(uuid=uuid,
                       start_datetime=start_datetime,
                       end_datetime=end_datetime)

        e_flag = False
        try:
            str_rep = obj.__str__()
            self.assertFalse(
                obj.in_daytime(),
                msg='activity not properly assigned to day or night time')
            self.assertEqual(
                obj.seconds,
                2,
                msg='seconds between start and end datetime calculated wrongly'
            )
        except Exception as e:
            print(e)
            e_flag = True
        self.assertFalse(e_flag, 'exception thrown')
    def test_entity_activity_init_from_sensor_logs(self):
        uuid1 = "uuid-01"
        node_id1 = 1
        event1 = 0
        ts1 = datetime.datetime(year=2018,
                                month=1,
                                day=2,
                                hour=1,
                                minute=0,
                                second=0)
        obj1 = Sensor_Log(uuid=uuid1,
                          node_id=node_id1,
                          event=event1,
                          recieved_timestamp=ts1)

        uuid2 = "uuid-02"
        node_id2 = 2
        event2 = 225
        ts2 = datetime.datetime(year=2018,
                                month=1,
                                day=2,
                                hour=1,
                                minute=0,
                                second=2)
        obj2 = Sensor_Log(uuid=uuid2,
                          node_id=node_id2,
                          event=event2,
                          recieved_timestamp=ts2)

        obja = Activity(start_log=obj1, end_log=obj2)

        e_flag = False
        try:
            str_rep = obja.__str__()
            self.assertFalse(
                obja.in_daytime(),
                msg='activity not properly assigned to day or night time')
            self.assertEqual(
                obja.seconds,
                2,
                msg='seconds between start and end datetime calculated wrongly'
            )
        except:
            e_flag = True
        self.assertFalse(e_flag, 'exception thrown')