@@ -595,26 +595,15 @@ def test_calendar(self):
595595 dt = datetime (2014 , 1 , 17 )
596596 assertEq (CDay (calendar = calendar ), dt , datetime (2014 , 1 , 21 ))
597597
598- class TestCustomBusinessMonthEnd ( TestBase ):
598+ class CustomBusinessMonthBase ( object ):
599599 _multiprocess_can_split_ = True
600600
601601 def setUp (self ):
602602 self .d = datetime (2008 , 1 , 1 )
603603
604604 _skip_if_no_cday ()
605- self .offset = CBMonthEnd ()
606- self .offset2 = CBMonthEnd (2 )
607-
608- def test_different_normalize_equals (self ):
609- # equivalent in this special case
610- offset = CBMonthEnd ()
611- offset2 = CBMonthEnd ()
612- offset2 .normalize = True
613- self .assertEqual (offset , offset2 )
614-
615- def test_repr (self ):
616- assert repr (self .offset ) == '<CustomBusinessMonthEnd>'
617- assert repr (self .offset2 ) == '<2 * CustomBusinessMonthEnds>'
605+ self .offset = self ._object ()
606+ self .offset2 = self ._object (2 )
618607
619608 def testEQ (self ):
620609 self .assertEqual (self .offset2 , self .offset2 )
@@ -625,9 +614,6 @@ def test_mul(self):
625614 def test_hash (self ):
626615 self .assertEqual (hash (self .offset2 ), hash (self .offset2 ))
627616
628- def testCall (self ):
629- self .assertEqual (self .offset2 (self .d ), datetime (2008 , 2 , 29 ))
630-
631617 def testRAdd (self ):
632618 self .assertEqual (self .d + self .offset2 , self .offset2 + self .d )
633619
@@ -637,18 +623,40 @@ def testSub(self):
637623 self .assertEqual (2 * off - off , off )
638624
639625 self .assertEqual (self .d - self .offset2 ,
640- self .d + CBMonthEnd (- 2 ))
626+ self .d + self . _object (- 2 ))
641627
642628 def testRSub (self ):
643629 self .assertEqual (self .d - self .offset2 , (- self .offset2 ).apply (self .d ))
644630
645631 def testMult1 (self ):
646632 self .assertEqual (self .d + 10 * self .offset ,
647- self .d + CBMonthEnd (10 ))
633+ self .d + self . _object (10 ))
648634
649635 def testMult2 (self ):
650- self .assertEqual (self .d + (- 5 * CBMonthEnd (- 10 )),
651- self .d + CBMonthEnd (50 ))
636+ self .assertEqual (self .d + (- 5 * self ._object (- 10 )),
637+ self .d + self ._object (50 ))
638+
639+ def test_offsets_compare_equal (self ):
640+ offset1 = self ._object ()
641+ offset2 = self ._object ()
642+ self .assertFalse (offset1 != offset2 )
643+
644+ class TestCustomBusinessMonthEnd (CustomBusinessMonthBase , TestBase ):
645+ _object = CBMonthEnd
646+
647+ def test_different_normalize_equals (self ):
648+ # equivalent in this special case
649+ offset = CBMonthEnd ()
650+ offset2 = CBMonthEnd ()
651+ offset2 .normalize = True
652+ self .assertEqual (offset , offset2 )
653+
654+ def test_repr (self ):
655+ assert repr (self .offset ) == '<CustomBusinessMonthEnd>'
656+ assert repr (self .offset2 ) == '<2 * CustomBusinessMonthEnds>'
657+
658+ def testCall (self ):
659+ self .assertEqual (self .offset2 (self .d ), datetime (2008 , 2 , 29 ))
652660
653661 def testRollback1 (self ):
654662 self .assertEqual (
@@ -734,11 +742,6 @@ def test_apply_large_n(self):
734742 xp = datetime (2012 , 5 , 31 )
735743 self .assertEqual (rs , xp )
736744
737- def test_offsets_compare_equal (self ):
738- offset1 = CBMonthEnd ()
739- offset2 = CBMonthEnd ()
740- self .assertFalse (offset1 != offset2 )
741-
742745 def test_holidays (self ):
743746 # Define a TradingDay offset
744747 holidays = ['2012-01-31' , datetime (2012 , 2 , 28 ),
@@ -753,16 +756,8 @@ def test_datetimeindex(self):
753756 self .assertEqual (DatetimeIndex (start = '20120101' ,end = '20130101' ,freq = CBMonthEnd (calendar = USFederalHolidayCalendar ())).tolist ()[0 ],
754757 datetime (2012 ,1 ,31 ))
755758
756-
757- class TestCustomBusinessMonthBegin (TestBase ):
758- _multiprocess_can_split_ = True
759-
760- def setUp (self ):
761- self .d = datetime (2008 , 1 , 1 )
762-
763- _skip_if_no_cday ()
764- self .offset = CBMonthBegin ()
765- self .offset2 = CBMonthBegin (2 )
759+ class TestCustomBusinessMonthBegin (CustomBusinessMonthBase , TestBase ):
760+ _object = CBMonthBegin
766761
767762 def test_different_normalize_equals (self ):
768763 # equivalent in this special case
@@ -775,40 +770,9 @@ def test_repr(self):
775770 assert repr (self .offset ) == '<CustomBusinessMonthBegin>'
776771 assert repr (self .offset2 ) == '<2 * CustomBusinessMonthBegins>'
777772
778- def testEQ (self ):
779- self .assertEqual (self .offset2 , self .offset2 )
780-
781- def test_mul (self ):
782- pass
783-
784- def test_hash (self ):
785- self .assertEqual (hash (self .offset2 ), hash (self .offset2 ))
786-
787773 def testCall (self ):
788774 self .assertEqual (self .offset2 (self .d ), datetime (2008 , 3 , 3 ))
789775
790- def testRAdd (self ):
791- self .assertEqual (self .d + self .offset2 , self .offset2 + self .d )
792-
793- def testSub (self ):
794- off = self .offset2
795- self .assertRaises (Exception , off .__sub__ , self .d )
796- self .assertEqual (2 * off - off , off )
797-
798- self .assertEqual (self .d - self .offset2 ,
799- self .d + CBMonthBegin (- 2 ))
800-
801- def testRSub (self ):
802- self .assertEqual (self .d - self .offset2 , (- self .offset2 ).apply (self .d ))
803-
804- def testMult1 (self ):
805- self .assertEqual (self .d + 10 * self .offset ,
806- self .d + CBMonthBegin (10 ))
807-
808- def testMult2 (self ):
809- self .assertEqual (self .d + (- 5 * CBMonthBegin (- 10 )),
810- self .d + CBMonthBegin (50 ))
811-
812776 def testRollback1 (self ):
813777 self .assertEqual (
814778 CDay (10 ).rollback (datetime (2007 , 12 , 31 )), datetime (2007 , 12 , 31 ))
@@ -893,11 +857,6 @@ def test_apply_large_n(self):
893857 xp = datetime (2012 , 6 , 1 )
894858 self .assertEqual (rs , xp )
895859
896- def test_offsets_compare_equal (self ):
897- offset1 = CBMonthBegin ()
898- offset2 = CBMonthBegin ()
899- self .assertFalse (offset1 != offset2 )
900-
901860 def test_holidays (self ):
902861 # Define a TradingDay offset
903862 holidays = ['2012-02-01' , datetime (2012 , 2 , 2 ),
@@ -907,14 +866,11 @@ def test_holidays(self):
907866 self .assertEqual (dt + bm_offset ,datetime (2012 ,1 ,2 ))
908867 self .assertEqual (dt + 2 * bm_offset ,datetime (2012 ,2 ,3 ))
909868
910- def test_datetimindex (self ):
911- self .assertEqual (DatetimeIndex (start = '2012' ,end = '2013' ,freq = 'CBMS' ).tolist ()[0 ],
912- datetime (2012 ,5 ,1 ))
869+ def test_datetimeindex (self ):
913870 self .assertEqual (DatetimeIndex (start = '20120101' ,end = '20130101' ,freq = CBMonthBegin (calendar = USFederalHolidayCalendar ())).tolist ()[0 ],
914871 datetime (2012 ,1 ,3 ))
915872
916873
917-
918874def assertOnOffset (offset , date , expected ):
919875 actual = offset .onOffset (date )
920876 assert actual == expected , ("\n Expected: %s\n Actual: %s\n For Offset: %s)"
0 commit comments