@@ -16,18 +16,13 @@ pub enum Cadence {
1616
1717impl Cadence {
1818 pub fn validate ( & self , granularity : impl Into < Granularity > ) -> Result < ( ) > {
19+ use Cadence :: * ;
20+ use Granularity :: * ;
1921 let granularity = granularity. into ( ) ;
2022 match ( self , granularity) {
21- ( Self :: BiWeekly , Granularity :: Month ) => {
22- Err ( Error :: CannotInvoiceForMonthWhenCadenceIsBiWeekly )
23- }
24- ( Self :: BiWeekly , Granularity :: Fortnight | Granularity :: Day | Granularity :: Hour ) => {
25- Ok ( ( ) )
26- }
27- (
28- Self :: Monthly ,
29- Granularity :: Fortnight | Granularity :: Day | Granularity :: Hour | Granularity :: Month ,
30- ) => Ok ( ( ) ) ,
23+ ( BiWeekly , Month ) => Err ( Error :: CannotInvoiceForMonthWhenCadenceIsBiWeekly ) ,
24+ ( BiWeekly , Fortnight | Day | Hour ) => Ok ( ( ) ) ,
25+ ( Monthly , Fortnight | Day | Hour | Month ) => Ok ( ( ) ) ,
3126 }
3227 }
3328}
@@ -61,15 +56,15 @@ mod tests {
6156 }
6257
6358 #[ test]
64- fn validate ( ) {
65- assert ! ( Sut :: sample ( ) . validate( Granularity :: Month ) . is_ok( ) ) ;
66- assert ! ( Sut :: sample ( ) . validate( Granularity :: Fortnight ) . is_ok( ) ) ;
67- assert ! ( Sut :: sample ( ) . validate( Granularity :: Day ) . is_ok( ) ) ;
68- assert ! ( Sut :: sample ( ) . validate( Granularity :: Hour ) . is_ok( ) ) ;
59+ fn validate_successful ( ) {
60+ assert ! ( Sut :: Monthly . validate( Granularity :: Month ) . is_ok( ) ) ;
61+ assert ! ( Sut :: Monthly . validate( Granularity :: Fortnight ) . is_ok( ) ) ;
62+ assert ! ( Sut :: Monthly . validate( Granularity :: Day ) . is_ok( ) ) ;
63+ assert ! ( Sut :: Monthly . validate( Granularity :: Hour ) . is_ok( ) ) ;
6964
70- assert ! ( Sut :: sample_other ( ) . validate( Granularity :: Month ) . is_err( ) ) ;
71- assert ! ( Sut :: sample_other ( ) . validate( Granularity :: Fortnight ) . is_ok( ) ) ;
72- assert ! ( Sut :: sample_other ( ) . validate( Granularity :: Day ) . is_ok( ) ) ;
73- assert ! ( Sut :: sample_other ( ) . validate( Granularity :: Hour ) . is_ok( ) ) ;
65+ assert ! ( Sut :: BiWeekly . validate( Granularity :: Month ) . is_err( ) ) ;
66+ assert ! ( Sut :: BiWeekly . validate( Granularity :: Fortnight ) . is_ok( ) ) ;
67+ assert ! ( Sut :: BiWeekly . validate( Granularity :: Day ) . is_ok( ) ) ;
68+ assert ! ( Sut :: BiWeekly . validate( Granularity :: Hour ) . is_ok( ) ) ;
7469 }
7570}
0 commit comments