Exemplo n.º 1
0
    def test_with_tzinfo(self):
        utcnow = utcdatetime(2000, 1, 1, 0, 0, 1, 1)
        tzinfo_datetimes = [
            utcdatetime(2000, 1, 1, 0, 0, 1, 0),
            utcdatetime(2000, 1, 1, 0, 0, 0, 1),
            utcdatetime(2000, 1, 1, 0, 0, 0, 0),
            utcdatetime(1999, 12, 31, 23, 59, 59, 999999),
            utcdatetime(1999, 12, 31, 23, 59, 57, 0),
        ]

        self.assertEqual(
            Seconds.filter(tzinfo_datetimes, number=5, now=utcnow),
            set([
                utcdatetime(1999, 12, 31, 23, 59, 57, 0),
                utcdatetime(1999, 12, 31, 23, 59, 59, 999999),
                utcdatetime(2000, 1, 1, 0, 0, 0, 0),
                utcdatetime(2000, 1, 1, 0, 0, 1, 0)
            ]))

        self.assertEqual(
            Seconds.filter(tzinfo_datetimes, number=6, now=utcnow),
            set([
                utcdatetime(1999, 12, 31, 23, 59, 57, 0),
                utcdatetime(1999, 12, 31, 23, 59, 59, 999999),
                utcdatetime(2000, 1, 1, 0, 0, 0, 0),
                utcdatetime(2000, 1, 1, 0, 0, 1, 0)
            ]))
Exemplo n.º 2
0
    def test_all_input(self):
        self.assertEqual(Seconds.filter(self.datetimes, number=5,
                                        now=self.now),
                         set([datetime(1999, 12, 31, 23, 59, 57, 0),
                              datetime(1999, 12, 31, 23, 59, 59, 999999),
                              datetime(2000, 1, 1, 0, 0, 0, 0),
                              datetime(2000, 1, 1, 0, 0, 1, 0)]))

        self.assertEqual(Seconds.filter(self.datetimes, number=6,
                                        now=self.now),
                         set([datetime(1999, 12, 31, 23, 59, 57, 0),
                              datetime(1999, 12, 31, 23, 59, 59, 999999),
                              datetime(2000, 1, 1, 0, 0, 0, 0),
                              datetime(2000, 1, 1, 0, 0, 1, 0)]))
Exemplo n.º 3
0
 def test_duplicates(self):
     # Ensure we get the oldest per-second datetime when there are
     # duplicates: i.e. not datetime(2000, 1, 1, 0, 0, 0, 1)
     self.assertEqual(Seconds.filter(self.datetimes, number=2,
                                     now=self.now),
                      set([datetime(2000, 1, 1, 0, 0, 0, 0),
                           datetime(2000, 1, 1, 0, 0, 1, 0)]))
Exemplo n.º 4
0
 def test_before_start(self):
     # datetime(1999, 12, 31, 23, 59, 57, 0) is too old to show up
     # in the results
     self.assertEqual(Seconds.filter(self.datetimes, number=4,
                                     now=self.now),
                      set([datetime(1999, 12, 31, 23, 59, 59, 999999),
                           datetime(2000, 1, 1, 0, 0, 0, 0),
                           datetime(2000, 1, 1, 0, 0, 1, 0)]))
Exemplo n.º 5
0
 def test_microseconds(self):
     self.assertEqual(
         Seconds.filter(self.datetimes, number=3, now=self.now),
         set([
             datetime(1999, 12, 31, 23, 59, 59, 999999),
             datetime(2000, 1, 1, 0, 0, 0, 0),
             datetime(2000, 1, 1, 0, 0, 1, 0)
         ]))
Exemplo n.º 6
0
    def test_all_input(self):
        self.assertEqual(
            Seconds.filter(self.datetimes, number=5, now=self.now),
            set([
                datetime(1999, 12, 31, 23, 59, 57, 0),
                datetime(1999, 12, 31, 23, 59, 59, 999999),
                datetime(2000, 1, 1, 0, 0, 0, 0),
                datetime(2000, 1, 1, 0, 0, 1, 0)
            ]))

        self.assertEqual(
            Seconds.filter(self.datetimes, number=6, now=self.now),
            set([
                datetime(1999, 12, 31, 23, 59, 57, 0),
                datetime(1999, 12, 31, 23, 59, 59, 999999),
                datetime(2000, 1, 1, 0, 0, 0, 0),
                datetime(2000, 1, 1, 0, 0, 1, 0)
            ]))
Exemplo n.º 7
0
 def test_duplicates(self):
     # Ensure we get the oldest per-second datetime when there are
     # duplicates: i.e. not datetime(2000, 1, 1, 0, 0, 0, 1)
     self.assertEqual(
         Seconds.filter(self.datetimes, number=2, now=self.now),
         set([
             datetime(2000, 1, 1, 0, 0, 0, 0),
             datetime(2000, 1, 1, 0, 0, 1, 0)
         ]))
Exemplo n.º 8
0
 def test_before_start(self):
     # datetime(1999, 12, 31, 23, 59, 57, 0) is too old to show up
     # in the results
     self.assertEqual(
         Seconds.filter(self.datetimes, number=4, now=self.now),
         set([
             datetime(1999, 12, 31, 23, 59, 59, 999999),
             datetime(2000, 1, 1, 0, 0, 0, 0),
             datetime(2000, 1, 1, 0, 0, 1, 0)
         ]))
Exemplo n.º 9
0
    def test_with_tzinfo(self):
        utcnow = utcdatetime(2000, 1, 1, 0, 0, 1, 1)
        tzinfo_datetimes = [
            utcdatetime(2000, 1, 1, 0, 0, 1, 0),
            utcdatetime(2000, 1, 1, 0, 0, 0, 1),
            utcdatetime(2000, 1, 1, 0, 0, 0, 0),
            utcdatetime(1999, 12, 31, 23, 59, 59, 999999),
            utcdatetime(1999, 12, 31, 23, 59, 57, 0),
        ]

        self.assertEqual(Seconds.filter(tzinfo_datetimes, number=5,
                                        now=utcnow),
                         set([utcdatetime(1999, 12, 31, 23, 59, 57, 0),
                              utcdatetime(1999, 12, 31, 23, 59, 59, 999999),
                              utcdatetime(2000, 1, 1, 0, 0, 0, 0),
                              utcdatetime(2000, 1, 1, 0, 0, 1, 0)]))

        self.assertEqual(Seconds.filter(tzinfo_datetimes, number=6,
                                        now=utcnow),
                         set([utcdatetime(1999, 12, 31, 23, 59, 57, 0),
                              utcdatetime(1999, 12, 31, 23, 59, 59, 999999),
                              utcdatetime(2000, 1, 1, 0, 0, 0, 0),
                              utcdatetime(2000, 1, 1, 0, 0, 1, 0)]))
Exemplo n.º 10
0
 def test_mask(self):
     self.assertEqual(
         Seconds.mask(datetime(1999, 12, 31, 23, 59, 59, 999999)),
         datetime(1999, 12, 31, 23, 59, 59, 0)
     )
Exemplo n.º 11
0
 def test_no_input(self):
     self.assertEqual(Seconds.filter([], number=1, now=self.now),
                      set())
Exemplo n.º 12
0
 def test_current(self):
     self.assertEqual(
         Seconds.filter(self.datetimes, number=1, now=self.now),
         set([datetime(2000, 1, 1, 0, 0, 1, 0)]))
Exemplo n.º 13
0
 def test_no_results(self):
     self.assertEqual(Seconds.filter([self.now], number=0, now=self.now),
                      set())
     self.assertEqual(
         Seconds.filter(self.datetimes, number=0, now=self.now), set())
Exemplo n.º 14
0
 def test_no_input(self):
     self.assertEqual(Seconds.filter([], number=1, now=self.now), set())
Exemplo n.º 15
0
 def test_future(self):
     datetimes = [datetime(2010, 1, 15, 0, 0, 0, 0)]  # Wikipedia
     self.assertEqual(Seconds.filter(datetimes, number=0, now=self.now),
                      set(datetimes))
     self.assertEqual(Seconds.filter(datetimes, number=1, now=self.now),
                      set(datetimes))
Exemplo n.º 16
0
 def test_mask(self):
     self.assertEqual(
         Seconds.mask(datetime(1999, 12, 31, 23, 59, 59, 999999)),
         datetime(1999, 12, 31, 23, 59, 59, 0))
Exemplo n.º 17
0
 def test_future(self):
     datetimes = [datetime(2010, 1, 15, 0, 0, 0, 0)]  # Wikipedia
     self.assertEqual(Seconds.filter(datetimes, number=0, now=self.now),
                      set(datetimes))
     self.assertEqual(Seconds.filter(datetimes, number=1, now=self.now),
                      set(datetimes))
Exemplo n.º 18
0
 def test_no_results(self):
     self.assertEqual(Seconds.filter([self.now], number=0, now=self.now),
                      set())
     self.assertEqual(Seconds.filter(self.datetimes, number=0,
                                     now=self.now),
                      set())
Exemplo n.º 19
0
 def test_current(self):
     self.assertEqual(Seconds.filter(self.datetimes, number=1,
                                     now=self.now),
                      set([datetime(2000, 1, 1, 0, 0, 1, 0)]))
Exemplo n.º 20
0
 def test_microseconds(self):
     self.assertEqual(Seconds.filter(self.datetimes, number=3,
                                     now=self.now),
                      set([datetime(1999, 12, 31, 23, 59, 59, 999999),
                           datetime(2000, 1, 1, 0, 0, 0, 0),
                           datetime(2000, 1, 1, 0, 0, 1, 0)]))