1414@ RunWith (JUnit4 .class )
1515public class FareProductDefaultRiderCategoriesValidatorTest {
1616 public static GtfsFareProduct createFareProduct (
17- int csvRowNumber , String fareId , String riderCategoryId ) {
17+ int csvRowNumber , String fareId , String riderCategoryId , String fareMediaId ) {
1818 return new GtfsFareProduct .Builder ()
1919 .setCsvRowNumber (csvRowNumber )
2020 .setFareProductId (fareId )
2121 .setRiderCategoryId (riderCategoryId )
22+ .setFareMediaId (fareMediaId )
2223 .build ();
2324 }
2425
@@ -50,8 +51,8 @@ public void testMultipleDefaultRiderCategoriesShouldTriggerNotice() {
5051 riderCategories .add (createRiderCategories (2 , "rider3" , GtfsRiderFareCategory .NOT_DEFAULT ));
5152
5253 List <GtfsFareProduct > fareProducts = new ArrayList <>();
53- fareProducts .add (createFareProduct (1 , "fare1" , "rider1" ));
54- fareProducts .add (createFareProduct (2 , "fare1" , "rider2" ));
54+ fareProducts .add (createFareProduct (1 , "fare1" , "rider1" , "fareMediaId" ));
55+ fareProducts .add (createFareProduct (2 , "fare1" , "rider2" , "fareMediaId" ));
5556 assertThat (
5657 generateNotices (fareProducts , riderCategories )
5758 .contains (
@@ -67,8 +68,50 @@ public void testOneDefaultRiderCategoryShouldNotTriggerNotice() {
6768 riderCategories .add (createRiderCategories (2 , "rider3" , GtfsRiderFareCategory .NOT_DEFAULT ));
6869
6970 List <GtfsFareProduct > fareProducts = new ArrayList <>();
70- fareProducts .add (createFareProduct (1 , "fare1" , "rider1" ));
71- fareProducts .add (createFareProduct (2 , "fare1" , "rider2" ));
71+ fareProducts .add (createFareProduct (1 , "fare1" , "rider1" , "fareMediaId" ));
72+ fareProducts .add (createFareProduct (2 , "fare1" , "rider2" , "fareMediaId" ));
73+ assertThat (generateNotices (fareProducts , riderCategories ).isEmpty ());
74+ }
75+
76+ @ Test
77+ public void testDefaultRiderCategoriesWithDifferentFareProductIdsShouldNotTriggerNotice () {
78+ List <GtfsRiderCategories > riderCategories = new ArrayList <>();
79+ riderCategories .add (createRiderCategories (1 , "rider1" , GtfsRiderFareCategory .IS_DEFAULT ));
80+ riderCategories .add (createRiderCategories (2 , "rider2" , GtfsRiderFareCategory .NOT_DEFAULT ));
81+ riderCategories .add (createRiderCategories (3 , "rider3" , GtfsRiderFareCategory .NOT_DEFAULT ));
82+
83+ List <GtfsFareProduct > fareProducts = new ArrayList <>();
84+ fareProducts .add (createFareProduct (1 , "fare1" , "rider1" , "fareMediaId" ));
85+ fareProducts .add (createFareProduct (2 , "fare2" , "rider1" , "fareMediaId" ));
86+ assertThat (generateNotices (fareProducts , riderCategories ).isEmpty ());
87+ }
88+
89+ @ Test
90+ public void testDefaultRiderCategoriesWithDifferentFareProductIdsShouldTriggerNotice () {
91+ List <GtfsRiderCategories > riderCategories = new ArrayList <>();
92+ riderCategories .add (createRiderCategories (1 , "rider1" , GtfsRiderFareCategory .IS_DEFAULT ));
93+ riderCategories .add (createRiderCategories (2 , "rider2" , GtfsRiderFareCategory .IS_DEFAULT ));
94+ riderCategories .add (createRiderCategories (3 , "rider3" , GtfsRiderFareCategory .NOT_DEFAULT ));
95+
96+ List <GtfsFareProduct > fareProducts = new ArrayList <>();
97+ fareProducts .add (createFareProduct (1 , "fare1" , "rider1" ,"fareMediaId" ));
98+ fareProducts .add (createFareProduct (2 , "fare2" , "rider1" ,"fareMediaId" ));
99+ fareProducts .add (createFareProduct (3 , "fare2" , "rider2" ,"fareMediaId" ));
100+ assertThat (generateNotices (fareProducts , riderCategories ).contains (
101+ FareProductDefaultRiderCategoriesValidator
102+ .FareProductWithMultipleDefaultRiderCategoriesNotice .class ));
103+ }
104+
105+ @ Test
106+ public void testDefaultRiderCategoriesWithSameFareProductIdAndDifferentFareMediaIdsShouldNotTriggerNotice () {
107+ List <GtfsRiderCategories > riderCategories = new ArrayList <>();
108+ riderCategories .add (createRiderCategories (1 , "rider1" , GtfsRiderFareCategory .IS_DEFAULT ));
109+ riderCategories .add (createRiderCategories (2 , "rider2" , GtfsRiderFareCategory .NOT_DEFAULT ));
110+ riderCategories .add (createRiderCategories (3 , "rider3" , GtfsRiderFareCategory .NOT_DEFAULT ));
111+
112+ List <GtfsFareProduct > fareProducts = new ArrayList <>();
113+ fareProducts .add (createFareProduct (1 , "fare1" , "rider1" , "fareMediaId1" ));
114+ fareProducts .add (createFareProduct (2 , "fare1" , "rider1" , "fareMediaId2" ));
72115 assertThat (generateNotices (fareProducts , riderCategories ).isEmpty ());
73116 }
74117}
0 commit comments