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)