3131import org .mobilitydata .gtfsvalidator .validator .FeedExpirationDateValidator .FeedExpirationDate7DaysNotice ;
3232
3333public class FeedExpirationDateValidatorTest {
34- private static final LocalDate TEST_NOW = LocalDate .of (2021 , 1 , 1 );
34+ // Use a date in later in the month to test the rollover from month to month also.
35+ private static final GtfsDate TEST_NOW = GtfsDate .fromLocalDate (LocalDate .of (2021 , 1 , 25 ));
3536
3637 private List <ValidationNotice > validateFeedInfo (GtfsFeedInfo feedInfo ) {
3738 NoticeContainer container = new NoticeContainer ();
38- new FeedExpirationDateValidator (new DateForValidation (TEST_NOW )).validate (feedInfo , container );
39+ new FeedExpirationDateValidator (new DateForValidation (TEST_NOW .getLocalDate ()))
40+ .validate (feedInfo , container );
3941 return container .getValidationNotices ();
4042 }
4143
@@ -50,52 +52,42 @@ private GtfsFeedInfo createFeedInfo(GtfsDate feedEndDate) {
5052 }
5153
5254 @ Test
53- public void feedExpiringInFiveDaysFromNowShouldGenerateNotice () {
54- assertThat (validateFeedInfo (createFeedInfo (GtfsDate .fromLocalDate (TEST_NOW .plusDays (3 )))))
55+ public void feedExpiringInSixDaysFromNowShouldGenerate7DaysNotice () {
56+ List <ValidationNotice > notices = validateFeedInfo (createFeedInfo (TEST_NOW .plusDays (6 )));
57+ assertThat (notices )
5558 .containsExactly (
5659 new FeedExpirationDate7DaysNotice (
57- 1 ,
58- GtfsDate .fromLocalDate (TEST_NOW ),
59- GtfsDate .fromLocalDate (TEST_NOW .plusDays (3 )),
60- GtfsDate .fromLocalDate (TEST_NOW .plusDays (7 ))));
60+ 1 , TEST_NOW , TEST_NOW .plusDays (6 ), TEST_NOW .plusDays (7 )));
6161 }
6262
6363 @ Test
64- public void feedExpiringInSevenDaysFromNowShouldGenerateNotice () {
65- assertThat (validateFeedInfo (createFeedInfo (GtfsDate .fromLocalDate (TEST_NOW .plusDays (7 )))))
64+ public void feedExpiringInSevenDaysFromNowShouldGenerate30DaysNotice () {
65+ List <ValidationNotice > notices = validateFeedInfo (createFeedInfo (TEST_NOW .plusDays (7 )));
66+ assertThat (notices )
6667 .containsExactly (
67- new FeedExpirationDate7DaysNotice (
68- 1 ,
69- GtfsDate .fromLocalDate (TEST_NOW ),
70- GtfsDate .fromLocalDate (TEST_NOW .plusDays (7 )),
71- GtfsDate .fromLocalDate (TEST_NOW .plusDays (7 ))));
68+ new FeedExpirationDate30DaysNotice (
69+ 1 , TEST_NOW , TEST_NOW .plusDays (7 ), TEST_NOW .plusDays (30 )));
7270 }
7371
7472 @ Test
75- public void feedExpiring7to30DaysFromNowShouldGenerateNotice () {
76- assertThat (validateFeedInfo (createFeedInfo (GtfsDate . fromLocalDate ( TEST_NOW .plusDays (23 ) ))))
73+ public void feedExpiring7to30DaysFromNowShouldGenerate30DaysNotice () {
74+ assertThat (validateFeedInfo (createFeedInfo (TEST_NOW .plusDays (29 ))))
7775 .containsExactly (
7876 new FeedExpirationDate30DaysNotice (
79- 1 ,
80- GtfsDate .fromLocalDate (TEST_NOW ),
81- GtfsDate .fromLocalDate (TEST_NOW .plusDays (23 )),
82- GtfsDate .fromLocalDate (TEST_NOW .plusDays (30 ))));
77+ 1 , TEST_NOW , TEST_NOW .plusDays (29 ), TEST_NOW .plusDays (30 )));
8378 }
8479
8580 @ Test
86- public void feedExpiring30DaysFromNowShouldGenerateNotice () {
87- assertThat (validateFeedInfo (createFeedInfo (GtfsDate .fromLocalDate (TEST_NOW .plusDays (30 )))))
88- .containsExactly (
89- new FeedExpirationDate30DaysNotice (
90- 1 ,
91- GtfsDate .fromLocalDate (TEST_NOW ),
92- GtfsDate .fromLocalDate (TEST_NOW .plusDays (30 )),
93- GtfsDate .fromLocalDate (TEST_NOW .plusDays (30 ))));
81+ public void feedExpiring30DaysFromNowShouldNotGenerateNotice () {
82+ assertThat (validateFeedInfo (createFeedInfo (TEST_NOW .plusDays (30 )))).isEmpty ();
9483 }
9584
9685 @ Test
97- public void feedExpiringInMoreThan30DaysFromNowShouldNotGenerateNotice () {
98- assertThat (validateFeedInfo (createFeedInfo (GtfsDate .fromLocalDate (TEST_NOW .plusDays (45 )))))
99- .isEmpty ();
86+ public void feedExpiringInThePastShouldGenerate7DaysNotice () {
87+ List <ValidationNotice > notices = validateFeedInfo (createFeedInfo (TEST_NOW .plusDays (-1 )));
88+ assertThat (notices )
89+ .containsExactly (
90+ new FeedExpirationDate7DaysNotice (
91+ 1 , TEST_NOW , TEST_NOW .plusDays (-1 ), TEST_NOW .plusDays (7 )));
10092 }
10193}
0 commit comments