Classes

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 10 20 30 40 Line Coverage (%) Cyclomatic Complexity Stewart\Support\Schedule\EntityTime — Coverage: 100.0% | Lines: 40 | Complexity: 36 Stewart\Support\Schedule\CronSchedule — Coverage: 91.3% | Lines: 23 | Complexity: 10 Stewart\Support\Schedule\CalendarSchedule — Coverage: 95.0% | Lines: 20 | Complexity: 13 Stewart\Support\Schedule\IntervalSchedule — Coverage: 92.3% | Lines: 13 | Complexity: 8 Stewart\Support\Schedule\TimeWindow — Coverage: 100.0% | Lines: 11 | Complexity: 8 Stewart\Support\Schedule\SunEventSchedule — Coverage: 100.0% | Lines: 10 | Complexity: 8 Stewart\Support\Schedule\DelaySchedule — Coverage: 100.0% | Lines: 7 | Complexity: 7 Stewart\Support\Schedule\Collection\DayOfWeekCollection — Coverage: 0.0% | Lines: 6 | Complexity: 4 Stewart\Support\Schedule\OneShotSchedule — Coverage: 100.0% | Lines: 5 | Complexity: 6

Sorted by descending CRAP index.

Methods

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 2 4 6 8 Line Coverage (%) Cyclomatic Complexity Stewart\Support\Schedule\CronSchedule::findNextOccurrenceAfter — Coverage: 86.7% | Lines: 15 | Complexity: 5 Stewart\Support\Schedule\CalendarSchedule::findNextOccurrenceAfter — Coverage: 88.9% | Lines: 9 | Complexity: 6 Stewart\Support\Schedule\EntityTime::fromInputDatetime — Coverage: 100.0% | Lines: 8 | Complexity: 7 Stewart\Support\Schedule\CalendarSchedule::describe — Coverage: 100.0% | Lines: 7 | Complexity: 2 Stewart\Support\Schedule\EntityTime::equals — Coverage: 100.0% | Lines: 7 | Complexity: 6 Stewart\Support\Schedule\EntityTime::fromEntityState — Coverage: 100.0% | Lines: 6 | Complexity: 6 Stewart\Support\Schedule\EntityTime::fromLocalDateAndTime — Coverage: 100.0% | Lines: 6 | Complexity: 5 Stewart\Support\Schedule\IntervalSchedule::findNextDueAfter — Coverage: 100.0% | Lines: 6 | Complexity: 2 Stewart\Support\Schedule\CronSchedule::parse — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Support\Schedule\TimeWindow::between — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Support\Schedule\Collection\DayOfWeekCollection::fromDistinctDays — Coverage: 0.0% | Lines: 4 | Complexity: 2 Stewart\Support\Schedule\EntityTime::fromTimestampSensor — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Support\Schedule\SunEventSchedule::forEvent — Coverage: 100.0% | Lines: 4 | Complexity: 2 Stewart\Support\Schedule\TimeWindow::includes — Coverage: 100.0% | Lines: 4 | Complexity: 4 Stewart\Support\Schedule\EntityTime::tryParseTimeOfDay — Coverage: 100.0% | Lines: 3 | Complexity: 2 Stewart\Support\Schedule\IntervalSchedule::countMissedBetween — Coverage: 66.7% | Lines: 3 | Complexity: 2 Stewart\Support\Schedule\SunEventSchedule::describe — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Support\Schedule\DelaySchedule::findNextDueAfter — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Support\Schedule\EntityTime::requireSupportedEntity — Coverage: 100.0% | Lines: 2 | Complexity: 3 Stewart\Support\Schedule\CalendarSchedule::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\CalendarSchedule::dailyAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\CalendarSchedule::isRecurring — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\CalendarSchedule::fallsOn — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Support\Schedule\Collection\DayOfWeekCollection::containsDay — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\Collection\DayOfWeekCollection::listNames — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\CronSchedule::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\CronSchedule::describe — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\CronSchedule::isRecurring — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\DelaySchedule::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\DelaySchedule::after — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\DelaySchedule::countMissedBetween — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\DelaySchedule::describe — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\DelaySchedule::isRecurring — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\EntityTime::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\EntityTime::none — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\EntityTime::forDailyTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\EntityTime::forMoment — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\IntervalSchedule::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\IntervalSchedule::every — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\IntervalSchedule::describe — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\IntervalSchedule::isRecurring — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\OneShotSchedule::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\OneShotSchedule::fromMoment — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\OneShotSchedule::findNextOccurrenceAfter — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Support\Schedule\OneShotSchedule::describe — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\OneShotSchedule::isRecurring — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\SunEventSchedule::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\SunEventSchedule::findNextOccurrenceAfter — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\SunEventSchedule::isRecurring — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\TimeWindow::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Support\Schedule\TimeWindow::crossesMidnight — Coverage: 100.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Method CRAP Coverage
Stewart\Support\Schedule\EntityTime::fromInputDatetime7100.0%
Stewart\Support\Schedule\CalendarSchedule::findNextOccurrenceAfter6.0588.9%
Stewart\Support\Schedule\Collection\DayOfWeekCollection::fromDistinctDays60.0%
Stewart\Support\Schedule\EntityTime::fromEntityState6100.0%
Stewart\Support\Schedule\EntityTime::equals6100.0%
Stewart\Support\Schedule\CronSchedule::findNextOccurrenceAfter5.0686.7%
Stewart\Support\Schedule\EntityTime::fromLocalDateAndTime5100.0%
Stewart\Support\Schedule\TimeWindow::includes4100.0%
Stewart\Support\Schedule\EntityTime::requireSupportedEntity3100.0%
Stewart\Support\Schedule\EntityTime::fromTimestampSensor3100.0%
Stewart\Support\Schedule\SunEventSchedule::describe3100.0%
Stewart\Support\Schedule\IntervalSchedule::countMissedBetween2.1566.7%
Stewart\Support\Schedule\CalendarSchedule::describe2100.0%
Stewart\Support\Schedule\CalendarSchedule::fallsOn2100.0%
Stewart\Support\Schedule\Collection\DayOfWeekCollection::containsDay20.0%
Stewart\Support\Schedule\Collection\DayOfWeekCollection::listNames20.0%
Stewart\Support\Schedule\CronSchedule::parse2100.0%
Stewart\Support\Schedule\DelaySchedule::findNextDueAfter2100.0%
Stewart\Support\Schedule\EntityTime::tryParseTimeOfDay2100.0%
Stewart\Support\Schedule\IntervalSchedule::findNextDueAfter2100.0%
Stewart\Support\Schedule\OneShotSchedule::findNextOccurrenceAfter2100.0%
Stewart\Support\Schedule\SunEventSchedule::forEvent2100.0%
Stewart\Support\Schedule\TimeWindow::between2100.0%
Stewart\Support\Schedule\CalendarSchedule::__construct1100.0%
Stewart\Support\Schedule\CalendarSchedule::dailyAt1100.0%
Stewart\Support\Schedule\CalendarSchedule::isRecurring1100.0%
Stewart\Support\Schedule\CronSchedule::__construct1100.0%
Stewart\Support\Schedule\CronSchedule::describe1100.0%
Stewart\Support\Schedule\CronSchedule::isRecurring1100.0%
Stewart\Support\Schedule\DelaySchedule::__construct1100.0%
Stewart\Support\Schedule\DelaySchedule::after1100.0%
Stewart\Support\Schedule\DelaySchedule::countMissedBetween1100.0%
Stewart\Support\Schedule\DelaySchedule::describe1100.0%
Stewart\Support\Schedule\DelaySchedule::isRecurring1100.0%
Stewart\Support\Schedule\EntityTime::__construct1100.0%
Stewart\Support\Schedule\EntityTime::none1100.0%
Stewart\Support\Schedule\EntityTime::forDailyTime1100.0%
Stewart\Support\Schedule\EntityTime::forMoment1100.0%
Stewart\Support\Schedule\IntervalSchedule::__construct1100.0%
Stewart\Support\Schedule\IntervalSchedule::every1100.0%
Stewart\Support\Schedule\IntervalSchedule::describe1100.0%
Stewart\Support\Schedule\IntervalSchedule::isRecurring1100.0%
Stewart\Support\Schedule\OneShotSchedule::__construct1100.0%
Stewart\Support\Schedule\OneShotSchedule::fromMoment1100.0%
Stewart\Support\Schedule\OneShotSchedule::describe1100.0%
Stewart\Support\Schedule\OneShotSchedule::isRecurring1100.0%
Stewart\Support\Schedule\SunEventSchedule::__construct1100.0%
Stewart\Support\Schedule\SunEventSchedule::findNextOccurrenceAfter1100.0%
Stewart\Support\Schedule\SunEventSchedule::isRecurring1100.0%
Stewart\Support\Schedule\TimeWindow::__construct1100.0%
Stewart\Support\Schedule\TimeWindow::crossesMidnight1100.0%