. */ namespace Tests\Support\Calendar\Periodicity; use Carbon\Carbon; use FireflyIII\Support\Calendar\Periodicity; use FireflyIII\Support\Calendar\Periodicity\Interval; class HalfYearlyTest extends IntervalTestCase { public static function factory(): Interval { return new Periodicity\HalfYearly(); } public static function provideIntervals(): array { return [ new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(6)), new IntervalProvider(Carbon::parse('2019-01-29'), Carbon::parse('2019-07-29')), new IntervalProvider(Carbon::parse('2019-01-30'), Carbon::parse('2019-07-30')), new IntervalProvider(Carbon::parse('2019-01-31'), Carbon::parse('2019-07-31')), new IntervalProvider(Carbon::parse('2018-11-01'), Carbon::parse('2019-05-01')), new IntervalProvider(Carbon::parse('2019-08-29'), Carbon::parse('2020-02-29')), new IntervalProvider(Carbon::parse('2019-08-30'), Carbon::parse('2020-02-29')), new IntervalProvider(Carbon::parse('2019-08-31'), Carbon::parse('2020-02-29')), new IntervalProvider(Carbon::parse('2020-08-29'), Carbon::parse('2021-02-28')), new IntervalProvider(Carbon::parse('2020-08-30'), Carbon::parse('2021-02-28')), ]; } }