def test_from_events_invalid(self):
     """Tests from_events() with invalid situations."""
     # No start.
     events = [Event(0, False)]
     expected = [TimePeriod(None, 0)]
     self.assertEqual(
         expected,
         TimePeriod.from_events(events, self.is_start_func,
                                self.is_end_func))
     # No end.
     events = [Event(0, True)]
     expected = [TimePeriod(0, None)]
     self.assertEqual(
         expected,
         TimePeriod.from_events(events, self.is_start_func,
                                self.is_end_func))
     # Multiple start.
     events = [Event(0, True), Event(1, True), Event(2, False)]
     expected = [TimePeriod(0, 2)]
     self.assertEqual(
         expected,
         TimePeriod.from_events(events, self.is_start_func,
                                self.is_end_func))
     # Multiple end.
     events = [Event(0, True), Event(1, False), Event(2, False)]
     expected = [TimePeriod(0, 1)]
     self.assertEqual(
         expected,
         TimePeriod.from_events(events, self.is_start_func,
                                self.is_end_func))
 def test_from_events(self):
     """Tests from_events()."""
     # No periods.
     events = []
     expected = []
     self.assertEqual(
         expected,
         TimePeriod.from_events(events, self.is_start_func,
                                self.is_end_func))
     # Standard period.
     events = [Event(0, True), Event(1, False)]
     expected = [TimePeriod(0, 1)]
     self.assertEqual(
         expected,
         TimePeriod.from_events(events, self.is_start_func,
                                self.is_end_func))
     # Multiple periods.
     events = [
         Event(0, True),
         Event(1, False),
         Event(2, True),
         Event(3, False)
     ]
     expected = [TimePeriod(0, 1), TimePeriod(2, 3)]
     self.assertEqual(
         expected,
         TimePeriod.from_events(events, self.is_start_func,
                                self.is_end_func))
Beispiel #3
0
 def test_from_events_invalid(self):
     """Tests from_events() with invalid situations."""
     # No start.
     events = [Event(0, False)]
     expected = [TimePeriod(None, 0)]
     self.assertEqual(expected,
                      TimePeriod.from_events(events, self.is_start_func,
                                             self.is_end_func))
     # No end.
     events = [Event(0, True)]
     expected = [TimePeriod(0, None)]
     self.assertEqual(expected,
                      TimePeriod.from_events(events, self.is_start_func,
                                             self.is_end_func))
     # Multiple start.
     events = [Event(0, True), Event(1, True), Event(2, False)]
     expected = [TimePeriod(0, 2)]
     self.assertEqual(expected,
                      TimePeriod.from_events(events, self.is_start_func,
                                             self.is_end_func))
     # Multiple end.
     events = [Event(0, True), Event(1, False), Event(2, False)]
     expected = [TimePeriod(0, 1)]
     self.assertEqual(expected,
                      TimePeriod.from_events(events, self.is_start_func,
                                             self.is_end_func))
Beispiel #4
0
    def flights(cls, user):
        """Gets the time periods for which the given user was in flight.

        Args:
            user: The user for which to get flight periods for.
        Returns:
            A list of TimePeriod objects corresponding to individual flights.
        """
        return TimePeriod.from_events(TakeoffOrLandingEvent.by_user(user),
                                      is_start_func=lambda x: x.uas_in_air,
                                      is_end_func=lambda x: not x.uas_in_air)
Beispiel #5
0
 def test_from_events(self):
     """Tests from_events()."""
     # No periods.
     events = []
     expected = []
     self.assertEqual(expected,
                      TimePeriod.from_events(events, self.is_start_func,
                                             self.is_end_func))
     # Standard period.
     events = [Event(0, True), Event(1, False)]
     expected = [TimePeriod(0, 1)]
     self.assertEqual(expected,
                      TimePeriod.from_events(events, self.is_start_func,
                                             self.is_end_func))
     # Multiple periods.
     events = [Event(0, True), Event(1, False), Event(2, True),
               Event(3, False)]
     expected = [TimePeriod(0, 1), TimePeriod(2, 3)]
     self.assertEqual(expected,
                      TimePeriod.from_events(events, self.is_start_func,
                                             self.is_end_func))