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 5 10 15 20 Line Coverage (%) Cyclomatic Complexity Stewart\Contracts\Exposure\SensorConfig — Coverage: 93.3% | Lines: 15 | Complexity: 17 Stewart\Contracts\Exposure\Action\ActionCall — Coverage: 90.9% | Lines: 11 | Complexity: 12 Stewart\Contracts\Exposure\CalendarStateFormat — Coverage: 100.0% | Lines: 11 | Complexity: 11 Stewart\Contracts\Exposure\NumberConfig — Coverage: 90.9% | Lines: 11 | Complexity: 11 Stewart\Contracts\Exposure\ExposedEntityKey — Coverage: 55.6% | Lines: 9 | Complexity: 9 Stewart\Contracts\Exposure\Action\ActionConfig — Coverage: 83.3% | Lines: 6 | Complexity: 4 Stewart\Contracts\Exposure\Action\ActionField — Coverage: 100.0% | Lines: 6 | Complexity: 5 Stewart\Contracts\Exposure\SelectConfig — Coverage: 83.3% | Lines: 6 | Complexity: 5 Stewart\Contracts\Exposure\TextConfig — Coverage: 83.3% | Lines: 6 | Complexity: 6 Stewart\Contracts\Exposure\Command\SwitchCommand — Coverage: 75.0% | Lines: 4 | Complexity: 4 Stewart\Contracts\Exposure\DeviceInfo — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Contracts\Exposure\ExposedEntityConfig — Coverage: 100.0% | Lines: 4 | Complexity: 4 Stewart\Contracts\Exposure\Command\ButtonPress — Coverage: 66.7% | Lines: 3 | Complexity: 3 Stewart\Contracts\Exposure\Command\DateCommand — Coverage: 0.0% | Lines: 3 | Complexity: 3 Stewart\Contracts\Exposure\Command\DateTimeCommand — Coverage: 0.0% | Lines: 3 | Complexity: 3 Stewart\Contracts\Exposure\Command\NumberCommand — Coverage: 0.0% | Lines: 3 | Complexity: 3 Stewart\Contracts\Exposure\Command\SelectCommand — Coverage: 0.0% | Lines: 3 | Complexity: 3 Stewart\Contracts\Exposure\Command\TextCommand — Coverage: 0.0% | Lines: 3 | Complexity: 3 Stewart\Contracts\Exposure\Command\TimeCommand — Coverage: 0.0% | Lines: 3 | Complexity: 3 Stewart\Contracts\Exposure\BinarySensorConfig — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\ButtonConfig — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\DateConfig — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\DateTimeConfig — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\ExposedStateChange — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\SensorDeviceClass — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\SwitchConfig — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\TimeConfig — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\Collection\ExposedStateChangeCollection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ExposedEntitySnapshot — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ExposedState — Coverage: 0.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Class CRAP Coverage
Stewart\Contracts\Exposure\SensorConfig17.0993.3%
Stewart\Contracts\Exposure\ExposedEntityKey16.1155.6%
Stewart\Contracts\Exposure\Action\ActionCall12.1190.9%
Stewart\Contracts\Exposure\Command\DateCommand120.0%
Stewart\Contracts\Exposure\Command\DateTimeCommand120.0%
Stewart\Contracts\Exposure\Command\NumberCommand120.0%
Stewart\Contracts\Exposure\Command\SelectCommand120.0%
Stewart\Contracts\Exposure\Command\TextCommand120.0%
Stewart\Contracts\Exposure\Command\TimeCommand120.0%
Stewart\Contracts\Exposure\NumberConfig11.0990.9%
Stewart\Contracts\Exposure\CalendarStateFormat11100.0%
Stewart\Contracts\Exposure\TextConfig6.1783.3%
Stewart\Contracts\Exposure\BinarySensorConfig60.0%
Stewart\Contracts\Exposure\ButtonConfig60.0%
Stewart\Contracts\Exposure\DateConfig60.0%
Stewart\Contracts\Exposure\DateTimeConfig60.0%
Stewart\Contracts\Exposure\SwitchConfig60.0%
Stewart\Contracts\Exposure\TimeConfig60.0%
Stewart\Contracts\Exposure\SelectConfig5.1283.3%
Stewart\Contracts\Exposure\Action\ActionField5100.0%
Stewart\Contracts\Exposure\Command\SwitchCommand4.2575.0%
Stewart\Contracts\Exposure\Action\ActionConfig4.0783.3%
Stewart\Contracts\Exposure\ExposedEntityConfig4100.0%
Stewart\Contracts\Exposure\Command\ButtonPress3.3366.7%
Stewart\Contracts\Exposure\DeviceInfo3100.0%
Stewart\Contracts\Exposure\Collection\ExposedStateChangeCollection20.0%
Stewart\Contracts\Exposure\ExposedState20.0%
Stewart\Contracts\Exposure\ExposedStateChange2100.0%
Stewart\Contracts\Exposure\SensorDeviceClass2100.0%
Stewart\Contracts\Exposure\ExposedEntitySnapshot1100.0%
Stewart\Contracts\Exposure\Action\ActionFieldType0100.0%
Stewart\Contracts\Exposure\BinarySensorDeviceClass0100.0%
Stewart\Contracts\Exposure\ButtonDeviceClass0100.0%
Stewart\Contracts\Exposure\Command\SwitchAction0100.0%
Stewart\Contracts\Exposure\EntityCategory0100.0%
Stewart\Contracts\Exposure\ExposedPlatform0100.0%
Stewart\Contracts\Exposure\NumberDeviceClass0100.0%
Stewart\Contracts\Exposure\NumberMode0100.0%
Stewart\Contracts\Exposure\SensorStateClass0100.0%
Stewart\Contracts\Exposure\SwitchDeviceClass0100.0%
Stewart\Contracts\Exposure\TextMode0100.0%

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 10 Line Coverage (%) Cyclomatic Complexity Stewart\Contracts\Exposure\NumberConfig::__construct — Coverage: 100.0% | Lines: 9 | Complexity: 7 Stewart\Contracts\Exposure\SensorConfig::__construct — Coverage: 100.0% | Lines: 9 | Complexity: 7 Stewart\Contracts\Exposure\Action\ActionField::__construct — Coverage: 100.0% | Lines: 6 | Complexity: 5 Stewart\Contracts\Exposure\Action\ActionConfig::__construct — Coverage: 100.0% | Lines: 5 | Complexity: 3 Stewart\Contracts\Exposure\SelectConfig::__construct — Coverage: 100.0% | Lines: 5 | Complexity: 4 Stewart\Contracts\Exposure\SensorConfig::formatState — Coverage: 100.0% | Lines: 5 | Complexity: 9 Stewart\Contracts\Exposure\TextConfig::__construct — Coverage: 100.0% | Lines: 5 | Complexity: 5 Stewart\Contracts\Exposure\CalendarStateFormat::parseTime — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Contracts\Exposure\DeviceInfo::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Contracts\Exposure\ExposedEntityConfig::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 4 Stewart\Contracts\Exposure\ExposedEntityKey::__construct — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Contracts\Exposure\ExposedEntityKey::tryFromString — Coverage: 0.0% | Lines: 3 | Complexity: 2 Stewart\Contracts\Exposure\Action\ActionCall::findString — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\Action\ActionCall::findNumber — Coverage: 100.0% | Lines: 2 | Complexity: 3 Stewart\Contracts\Exposure\Action\ActionCall::findBool — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\Action\ActionCall::findEntityId — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Contracts\Exposure\CalendarStateFormat::parseStrictly — Coverage: 100.0% | Lines: 2 | Complexity: 3 Stewart\Contracts\Exposure\Action\ActionCall::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Action\ActionCall::getContext — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Action\ActionCall::getRequestedState — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Action\ActionConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\BinarySensorConfig::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\BinarySensorConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ButtonConfig::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ButtonConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\CalendarStateFormat::formatTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\CalendarStateFormat::formatDate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\CalendarStateFormat::parseDate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\CalendarStateFormat::formatDateTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\CalendarStateFormat::parseDateTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Collection\ExposedStateChangeCollection::withChange — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\ButtonPress::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\ButtonPress::getContext — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\ButtonPress::getRequestedState — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\DateCommand::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\DateCommand::getContext — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\DateCommand::getRequestedState — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\DateTimeCommand::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\DateTimeCommand::getContext — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\DateTimeCommand::getRequestedState — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\NumberCommand::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\NumberCommand::getContext — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\NumberCommand::getRequestedState — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\SelectCommand::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\SelectCommand::getContext — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\SelectCommand::getRequestedState — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\SwitchCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\SwitchCommand::isTurnOn — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\SwitchCommand::getContext — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\SwitchCommand::getRequestedState — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\TextCommand::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\TextCommand::getContext — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\TextCommand::getRequestedState — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\TimeCommand::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\TimeCommand::getContext — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\Command\TimeCommand::getRequestedState — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\DateConfig::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\DateConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\DateTimeConfig::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\DateTimeConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ExposedEntityKey::fromKeyOrString — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Contracts\Exposure\ExposedEntityKey::equals — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ExposedEntityKey::__toString — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ExposedEntitySnapshot::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ExposedState::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ExposedStateChange::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\ExposedStateChange::withLaterChange — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\NumberConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\NumberConfig::formatState — Coverage: 100.0% | Lines: 1 | Complexity: 3 Stewart\Contracts\Exposure\SelectConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\SensorConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\SensorDeviceClass::takesDateTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\SensorDeviceClass::takesDate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\SwitchConfig::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\SwitchConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\TextConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\TimeConfig::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Contracts\Exposure\TimeConfig::getPlatform — Coverage: 0.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Method CRAP Coverage
Stewart\Contracts\Exposure\SensorConfig::formatState9100.0%
Stewart\Contracts\Exposure\NumberConfig::__construct7100.0%
Stewart\Contracts\Exposure\SensorConfig::__construct7100.0%
Stewart\Contracts\Exposure\ExposedEntityKey::tryFromString60.0%
Stewart\Contracts\Exposure\Action\ActionField::__construct5100.0%
Stewart\Contracts\Exposure\TextConfig::__construct5100.0%
Stewart\Contracts\Exposure\ExposedEntityConfig::__construct4100.0%
Stewart\Contracts\Exposure\SelectConfig::__construct4100.0%
Stewart\Contracts\Exposure\Action\ActionCall::findNumber3100.0%
Stewart\Contracts\Exposure\Action\ActionConfig::__construct3100.0%
Stewart\Contracts\Exposure\CalendarStateFormat::parseTime3100.0%
Stewart\Contracts\Exposure\CalendarStateFormat::parseStrictly3100.0%
Stewart\Contracts\Exposure\DeviceInfo::__construct3100.0%
Stewart\Contracts\Exposure\ExposedEntityKey::__construct3100.0%
Stewart\Contracts\Exposure\NumberConfig::formatState3100.0%
Stewart\Contracts\Exposure\Action\ActionCall::getContext20.0%
Stewart\Contracts\Exposure\Action\ActionCall::findString2100.0%
Stewart\Contracts\Exposure\Action\ActionCall::findBool2100.0%
Stewart\Contracts\Exposure\Action\ActionCall::findEntityId2100.0%
Stewart\Contracts\Exposure\Action\ActionConfig::getPlatform20.0%
Stewart\Contracts\Exposure\BinarySensorConfig::__construct20.0%
Stewart\Contracts\Exposure\BinarySensorConfig::getPlatform20.0%
Stewart\Contracts\Exposure\ButtonConfig::__construct20.0%
Stewart\Contracts\Exposure\ButtonConfig::getPlatform20.0%
Stewart\Contracts\Exposure\Collection\ExposedStateChangeCollection::withChange20.0%
Stewart\Contracts\Exposure\Command\ButtonPress::getContext20.0%
Stewart\Contracts\Exposure\Command\DateCommand::__construct20.0%
Stewart\Contracts\Exposure\Command\DateCommand::getContext20.0%
Stewart\Contracts\Exposure\Command\DateCommand::getRequestedState20.0%
Stewart\Contracts\Exposure\Command\DateTimeCommand::__construct20.0%
Stewart\Contracts\Exposure\Command\DateTimeCommand::getContext20.0%
Stewart\Contracts\Exposure\Command\DateTimeCommand::getRequestedState20.0%
Stewart\Contracts\Exposure\Command\NumberCommand::__construct20.0%
Stewart\Contracts\Exposure\Command\NumberCommand::getContext20.0%
Stewart\Contracts\Exposure\Command\NumberCommand::getRequestedState20.0%
Stewart\Contracts\Exposure\Command\SelectCommand::__construct20.0%
Stewart\Contracts\Exposure\Command\SelectCommand::getContext20.0%
Stewart\Contracts\Exposure\Command\SelectCommand::getRequestedState20.0%
Stewart\Contracts\Exposure\Command\SwitchCommand::getContext20.0%
Stewart\Contracts\Exposure\Command\TextCommand::__construct20.0%
Stewart\Contracts\Exposure\Command\TextCommand::getContext20.0%
Stewart\Contracts\Exposure\Command\TextCommand::getRequestedState20.0%
Stewart\Contracts\Exposure\Command\TimeCommand::__construct20.0%
Stewart\Contracts\Exposure\Command\TimeCommand::getContext20.0%
Stewart\Contracts\Exposure\Command\TimeCommand::getRequestedState20.0%
Stewart\Contracts\Exposure\DateConfig::__construct20.0%
Stewart\Contracts\Exposure\DateConfig::getPlatform20.0%
Stewart\Contracts\Exposure\DateTimeConfig::__construct20.0%
Stewart\Contracts\Exposure\DateTimeConfig::getPlatform20.0%
Stewart\Contracts\Exposure\ExposedEntityKey::fromKeyOrString2100.0%
Stewart\Contracts\Exposure\ExposedEntityKey::__toString20.0%
Stewart\Contracts\Exposure\ExposedState::__construct20.0%
Stewart\Contracts\Exposure\NumberConfig::getPlatform20.0%
Stewart\Contracts\Exposure\SelectConfig::getPlatform20.0%
Stewart\Contracts\Exposure\SensorConfig::getPlatform20.0%
Stewart\Contracts\Exposure\SwitchConfig::__construct20.0%
Stewart\Contracts\Exposure\SwitchConfig::getPlatform20.0%
Stewart\Contracts\Exposure\TextConfig::getPlatform20.0%
Stewart\Contracts\Exposure\TimeConfig::__construct20.0%
Stewart\Contracts\Exposure\TimeConfig::getPlatform20.0%
Stewart\Contracts\Exposure\Action\ActionCall::__construct1100.0%
Stewart\Contracts\Exposure\Action\ActionCall::getRequestedState1100.0%
Stewart\Contracts\Exposure\CalendarStateFormat::formatTime1100.0%
Stewart\Contracts\Exposure\CalendarStateFormat::formatDate1100.0%
Stewart\Contracts\Exposure\CalendarStateFormat::parseDate1100.0%
Stewart\Contracts\Exposure\CalendarStateFormat::formatDateTime1100.0%
Stewart\Contracts\Exposure\CalendarStateFormat::parseDateTime1100.0%
Stewart\Contracts\Exposure\Command\ButtonPress::__construct1100.0%
Stewart\Contracts\Exposure\Command\ButtonPress::getRequestedState1100.0%
Stewart\Contracts\Exposure\Command\SwitchCommand::__construct1100.0%
Stewart\Contracts\Exposure\Command\SwitchCommand::isTurnOn1100.0%
Stewart\Contracts\Exposure\Command\SwitchCommand::getRequestedState1100.0%
Stewart\Contracts\Exposure\ExposedEntityKey::equals1100.0%
Stewart\Contracts\Exposure\ExposedEntitySnapshot::__construct1100.0%
Stewart\Contracts\Exposure\ExposedStateChange::__construct1100.0%
Stewart\Contracts\Exposure\ExposedStateChange::withLaterChange1100.0%
Stewart\Contracts\Exposure\SensorDeviceClass::takesDateTime1100.0%
Stewart\Contracts\Exposure\SensorDeviceClass::takesDate1100.0%
Stewart\Contracts\Exposure\ExposedEntityConfig::getPlatform0100.0%