Пример #1
0
    def test_interval_constructor(self):
        i1 = Interval('1/1/2005', freq='M')
        i2 = Interval('Jan 2005')

        self.assertEquals(i1, i2)

        i1 = Interval('2005', freq='A')
        i2 = Interval('2005')
        i3 = Interval('2005', freq='a')

        self.assertEquals(i1, i2)
        self.assertEquals(i1, i3)

        i4 = Interval('2005', freq='M')
        i5 = Interval('2005', freq='m')

        self.assert_(i1 != i4)
        self.assertEquals(i4, i5)

        i1 = Interval.now('Q')
        i2 = Interval(datetime.now(), freq='Q')
        i3 = Interval.now('q')

        self.assertEquals(i1, i2)
        self.assertEquals(i1, i3)

        # Biz day construction, roll forward if non-weekday
        i1 = Interval('3/10/12', freq='B')
        i2 = Interval('3/12/12', freq='D')
        self.assertEquals(i1, i2.resample('B'))

        i3 = Interval('3/10/12', freq='b')
        self.assertEquals(i1, i3)

        i1 = Interval(year=2005, quarter=1, freq='Q')
        i2 = Interval('1/1/2005', freq='Q')
        self.assertEquals(i1, i2)

        i1 = Interval(year=2005, quarter=3, freq='Q')
        i2 = Interval('9/1/2005', freq='Q')
        self.assertEquals(i1, i2)

        i1 = Interval(year=2005, month=3, day=1, freq='D')
        i2 = Interval('3/1/2005', freq='D')
        self.assertEquals(i1, i2)

        i3 = Interval(year=2005, month=3, day=1, freq='d')
        self.assertEquals(i1, i3)

        i1 = Interval(year=2012, month=3, day=10, freq='B')
        i2 = Interval('3/12/12', freq='B')
        self.assertEquals(i1, i2)

        i1 = Interval('2005Q1')
        i2 = Interval(year=2005, quarter=1, freq='Q')
        i3 = Interval('2005q1')
        self.assertEquals(i1, i2)
        self.assertEquals(i1, i3)

        i1 = Interval('05Q1')
        self.assertEquals(i1, i2)
        lower = Interval('05q1')
        self.assertEquals(i1, lower)

        i1 = Interval('1Q2005')
        self.assertEquals(i1, i2)
        lower = Interval('1q2005')
        self.assertEquals(i1, lower)

        i1 = Interval('1Q05')
        self.assertEquals(i1, i2)
        lower = Interval('1q05')
        self.assertEquals(i1, lower)

        i1 = Interval('4Q1984')
        self.assertEquals(i1.year, 1984)
        lower = Interval('4q1984')
        self.assertEquals(i1, lower)

        i1 = Interval('1982', freq='min')
        i2 = Interval('1982', freq='MIN')
        self.assertEquals(i1, i2)
        i2 = Interval('1982', freq=('Min', 1))
        self.assertEquals(i1, i2)