Exemplo n.º 1
0
    def test_getRiseSet(self):

        sun = Sun()

        dt = date(2011, 12, 25)
        rise, set = sun.getRiseSet(dt)
        # 12:30 UT
        self.assertEqual(datetime(2011, 12, 25, 12,30)
                       , TimeAgent.quarter(rise)) 
        self.assertEqual(datetime(2011, 12, 25, 22, 0)
                       , TimeAgent.quarter(set)) 
        # close to the summer solstice
        dt = date(2012, 6, 25)
        rise, set = sun.getRiseSet(dt)
        # 00:45 UT ON THE NEXT DAY
        self.assertEqual(datetime(2012, 6, 25, 10, 0)
                       , TimeAgent.quarter(rise)) 
        self.assertEqual(datetime(2012, 6, 26, 0, 45)
                       , TimeAgent.quarter(set)) 

        # close to the summer solstice
        dts = (date(2012, 8, 1)
             , date(2012, 8, 2)
             , date(2012, 8, 3)
             , date(2013, 1, 29)
             , date(2013, 1, 30)
             )
        expected = ((datetime(2012, 8, 1, 10, 21, 31), datetime(2012, 8, 2, 0, 30, 12))
                  , (datetime(2012, 8, 2, 10, 22, 24), datetime(2012, 8, 3, 0, 29, 12))
                  , (datetime(2012, 8, 3, 10, 23, 16), datetime(2012, 8, 4, 0, 28, 10))
                  , (datetime(2013, 1, 29, 12, 26, 38), datetime(2013, 1, 29, 22, 38, 52))
                  , (datetime(2013, 1, 30, 12, 25, 49), datetime(2013, 1, 30, 22, 40, 0))
                    )
        for dt, (exp_rise, exp_set) in zip(dts, expected):
            rise, set = sun.getRiseSet(dt)
            self.assertEqual(exp_rise, rise) 
            self.assertEqual(exp_set, set)