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 20 40 60 Line Coverage (%) Cyclomatic Complexity Stewart\Testing\HaContext\RecordingHaContext — Coverage: 86.4% | Lines: 118 | Complexity: 48 Stewart\Testing\App\AppHarness — Coverage: 100.0% | Lines: 59 | Complexity: 12 Stewart\Testing\Websocket\FakeWebsocketConnection — Coverage: 40.7% | Lines: 59 | Complexity: 41 Stewart\Testing\Store\StoreBackendContract — Coverage: 0.0% | Lines: 56 | Complexity: 19 Stewart\Testing\Store\InMemoryStoreBackend — Coverage: 95.3% | Lines: 43 | Complexity: 31 Stewart\Testing\App\AppArgumentResolver — Coverage: 97.6% | Lines: 41 | Complexity: 25 Stewart\Testing\Exposure\RecordingEntityExposure — Coverage: 92.7% | Lines: 41 | Complexity: 36 Stewart\Testing\Registry\InMemoryRegistry — Coverage: 74.3% | Lines: 35 | Complexity: 23 Stewart\Testing\Time\ManualTimers — Coverage: 100.0% | Lines: 35 | Complexity: 14 Stewart\Testing\HaContext\SeededHistory — Coverage: 100.0% | Lines: 33 | Complexity: 14 Stewart\Testing\Sun\FixedSunCalendar — Coverage: 96.9% | Lines: 32 | Complexity: 19 Stewart\Testing\Schedule\ManualEntityTimeTask — Coverage: 77.8% | Lines: 27 | Complexity: 14 Stewart\Testing\Schedule\ManualScheduler — Coverage: 100.0% | Lines: 26 | Complexity: 16 Stewart\Testing\Async\HandlerFibers — Coverage: 80.0% | Lines: 25 | Complexity: 13 Stewart\Testing\Schedule\ManualScheduledTask — Coverage: 90.9% | Lines: 22 | Complexity: 10 Stewart\Testing\Exposure\RecordingExposedEntity — Coverage: 85.0% | Lines: 20 | Complexity: 11 Stewart\Testing\Stream\PushSource — Coverage: 95.0% | Lines: 20 | Complexity: 8 Stewart\Testing\Filesystem\TempDirectory — Coverage: 0.0% | Lines: 14 | Complexity: 13 Stewart\Testing\Registry\RecordingRegistryEditor — Coverage: 100.0% | Lines: 14 | Complexity: 7 Stewart\Testing\Websocket\FakeWebsocketConnector — Coverage: 0.0% | Lines: 14 | Complexity: 5 Stewart\Testing\Exposure\RecordingExposure — Coverage: 90.9% | Lines: 11 | Complexity: 9 Stewart\Testing\Logging\RecordingLogger — Coverage: 0.0% | Lines: 11 | Complexity: 6 Stewart\Testing\Time\ManualTimer — Coverage: 90.9% | Lines: 11 | Complexity: 7 Stewart\Testing\Time\VirtualClock — Coverage: 100.0% | Lines: 11 | Complexity: 9 Stewart\Testing\Async\Latch — Coverage: 0.0% | Lines: 8 | Complexity: 6 Stewart\Testing\Exposure\RecordingExposedSwitch — Coverage: 87.5% | Lines: 8 | Complexity: 8 Stewart\Testing\Mqtt\RecordingMqtt — Coverage: 87.5% | Lines: 8 | Complexity: 5 Stewart\Testing\Time\EventLoopTicks — Coverage: 75.0% | Lines: 8 | Complexity: 6 Stewart\Testing\Exception\AssertsReason — Coverage: 0.0% | Lines: 8 | Complexity: 3 Stewart\Testing\Exception\HarnessError — Coverage: 100.0% | Lines: 7 | Complexity: 7 Stewart\Testing\Exposure\RecordingExposedDate — Coverage: 57.1% | Lines: 7 | Complexity: 8 Stewart\Testing\Exposure\RecordingExposedDateTime — Coverage: 42.9% | Lines: 7 | Complexity: 8 Stewart\Testing\Exposure\RecordingExposedNumber — Coverage: 85.7% | Lines: 7 | Complexity: 8 Stewart\Testing\Exposure\RecordingExposedSelect — Coverage: 57.1% | Lines: 7 | Complexity: 7 Stewart\Testing\Exposure\RecordingExposedText — Coverage: 42.9% | Lines: 7 | Complexity: 7 Stewart\Testing\Exposure\RecordingExposedTime — Coverage: 14.3% | Lines: 7 | Complexity: 8 Stewart\Testing\Stream\PushSubscription — Coverage: 71.4% | Lines: 7 | Complexity: 5 Stewart\Testing\Exposure\RecordingExposedBinarySensor — Coverage: 33.3% | Lines: 6 | Complexity: 6 Stewart\Testing\Time\ManualTimeout — Coverage: 50.0% | Lines: 6 | Complexity: 6 Stewart\Testing\Exposure\RecordingExposedSensor — Coverage: 60.0% | Lines: 5 | Complexity: 5 Stewart\Testing\Exposure\RecordingExposedAction — Coverage: 50.0% | Lines: 4 | Complexity: 4 Stewart\Testing\Exposure\RecordingExposedButton — Coverage: 0.0% | Lines: 4 | Complexity: 4 Stewart\Testing\HaContext\RecordedServiceCall — Coverage: 0.0% | Lines: 3 | Complexity: 4 Stewart\Testing\Registry\Collection\RecordedRegistryUpdateCollection — Coverage: 100.0% | Lines: 3 | Complexity: 2 Stewart\Testing\HaContext\RecordedStateReader — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\Collection\RecordedExposureCollection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordedExposure — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\Collection\RecordedEventFireCollection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\Collection\RecordedHistoryQueryCollection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\Collection\RecordedServiceCallCollection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\Collection\WatchedTriggerCollection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\PushedTrigger — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordedEventFire — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordedHistoryQuery — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\WatchedTrigger — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Logging\Collection\RecordedLogCollection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Logging\RecordedLog — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\RecordedRegistryUpdate — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\StoredEntry — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\Collection\FakeWebsocketConnectionCollection — Coverage: 0.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Class CRAP Coverage
Stewart\Testing\Websocket\FakeWebsocketConnection391.9340.7%
Stewart\Testing\Store\StoreBackendContract3800.0%
Stewart\Testing\Filesystem\TempDirectory1820.0%
Stewart\Testing\HaContext\RecordingHaContext53.7486.4%
Stewart\Testing\Exposure\RecordingExposedTime48.3014.3%
Stewart\Testing\Async\Latch420.0%
Stewart\Testing\Logging\RecordingLogger420.0%
Stewart\Testing\Exposure\RecordingEntityExposure36.5192.7%
Stewart\Testing\Registry\InMemoryRegistry31.9974.3%
Stewart\Testing\Store\InMemoryStoreBackend3195.3%
Stewart\Testing\Websocket\FakeWebsocketConnector300.0%
Stewart\Testing\App\AppArgumentResolver2597.6%
Stewart\Testing\Exposure\RecordingExposedButton200.0%
Stewart\Testing\HaContext\RecordedServiceCall200.0%
Stewart\Testing\Exposure\RecordingExposedDateTime19.9442.9%
Stewart\Testing\Sun\FixedSunCalendar1996.9%
Stewart\Testing\Exposure\RecordingExposedBinarySensor16.6733.3%
Stewart\Testing\Schedule\ManualEntityTimeTask16.1577.8%
Stewart\Testing\Exposure\RecordingExposedText16.1442.9%
Stewart\Testing\Schedule\ManualScheduler16100.0%
Stewart\Testing\Async\HandlerFibers14.3580.0%
Stewart\Testing\HaContext\SeededHistory14100.0%
Stewart\Testing\Time\ManualTimers14100.0%
Stewart\Testing\Exposure\RecordingExposedDate13.0457.1%
Stewart\Testing\App\AppHarness12100.0%
Stewart\Testing\Exception\AssertsReason120.0%
Stewart\Testing\Exposure\RecordingExposedEntity11.4185.0%
Stewart\Testing\Exposure\RecordingExposedSelect10.8657.1%
Stewart\Testing\Time\ManualTimeout10.5050.0%
Stewart\Testing\Schedule\ManualScheduledTask10.0890.9%
Stewart\Testing\Exposure\RecordingExposure9.0690.9%
Stewart\Testing\Time\VirtualClock9100.0%
Stewart\Testing\Exposure\RecordingExposedNumber8.1985.7%
Stewart\Testing\Exposure\RecordingExposedSwitch8.1287.5%
Stewart\Testing\Stream\PushSource895.0%
Stewart\Testing\Time\ManualTimer7.0490.9%
Stewart\Testing\Exception\HarnessError7100.0%
Stewart\Testing\Registry\RecordingRegistryEditor7100.0%
Stewart\Testing\Exposure\RecordingExposedSensor6.6060.0%
Stewart\Testing\Time\EventLoopTicks6.5675.0%
Stewart\Testing\Exposure\RecordingExposedAction6.0050.0%
Stewart\Testing\HaContext\RecordedStateReader60.0%
Stewart\Testing\Stream\PushSubscription5.5871.4%
Stewart\Testing\Mqtt\RecordingMqtt5.0587.5%
Stewart\Testing\Exposure\Collection\RecordedExposureCollection20.0%
Stewart\Testing\Exposure\RecordedExposure20.0%
Stewart\Testing\HaContext\Collection\RecordedEventFireCollection20.0%
Stewart\Testing\HaContext\Collection\RecordedHistoryQueryCollection20.0%
Stewart\Testing\HaContext\Collection\RecordedServiceCallCollection20.0%
Stewart\Testing\HaContext\Collection\WatchedTriggerCollection20.0%
Stewart\Testing\HaContext\PushedTrigger20.0%
Stewart\Testing\HaContext\RecordedEventFire20.0%
Stewart\Testing\HaContext\RecordedHistoryQuery20.0%
Stewart\Testing\HaContext\WatchedTrigger20.0%
Stewart\Testing\Logging\Collection\RecordedLogCollection20.0%
Stewart\Testing\Logging\RecordedLog20.0%
Stewart\Testing\Registry\Collection\RecordedRegistryUpdateCollection2100.0%
Stewart\Testing\Registry\RecordedRegistryUpdate20.0%
Stewart\Testing\Store\StoredEntry20.0%
Stewart\Testing\Websocket\Collection\FakeWebsocketConnectionCollection20.0%
Stewart\Testing\Exception\HarnessException0100.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 5 10 15 Line Coverage (%) Cyclomatic Complexity Stewart\Testing\App\AppArgumentResolver::resolveParameter — Coverage: 93.8% | Lines: 16 | Complexity: 11 Stewart\Testing\HaContext\SeededHistory::sliceForWindow — Coverage: 100.0% | Lines: 16 | Complexity: 7 Stewart\Testing\HaContext\RecordingHaContext::__construct — Coverage: 100.0% | Lines: 15 | Complexity: 1 Stewart\Testing\App\AppHarness::createFakesFor — Coverage: 100.0% | Lines: 14 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::sendText — Coverage: 92.9% | Lines: 14 | Complexity: 8 Stewart\Testing\HaContext\RecordingHaContext::callStubbedService — Coverage: 92.3% | Lines: 13 | Complexity: 3 Stewart\Testing\App\AppArgumentResolver::resolveArguments — Coverage: 100.0% | Lines: 11 | Complexity: 5 Stewart\Testing\App\AppHarness::startApp — Coverage: 100.0% | Lines: 11 | Complexity: 1 Stewart\Testing\Schedule\ManualEntityTimeTask::rearmFor — Coverage: 90.9% | Lines: 11 | Complexity: 4 Stewart\Testing\Store\InMemoryStoreBackend::increment — Coverage: 90.9% | Lines: 11 | Complexity: 7 Stewart\Testing\App\AppHarness::__construct — Coverage: 100.0% | Lines: 10 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::pushState — Coverage: 100.0% | Lines: 10 | Complexity: 2 Stewart\Testing\Async\HandlerFibers::runSettled — Coverage: 100.0% | Lines: 9 | Complexity: 3 Stewart\Testing\HaContext\RecordingHaContext::fireEvent — Coverage: 100.0% | Lines: 9 | Complexity: 3 Stewart\Testing\Registry\RecordingRegistryEditor::updateEntity — Coverage: 100.0% | Lines: 9 | Complexity: 3 Stewart\Testing\Schedule\ManualScheduledTask::runDueOccurrence — Coverage: 88.9% | Lines: 9 | Complexity: 3 Stewart\Testing\App\AppArgumentResolver::isBuiltOnHaContext — Coverage: 100.0% | Lines: 8 | Complexity: 4 Stewart\Testing\App\AppHarness::stopApp — Coverage: 100.0% | Lines: 8 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::getHistory — Coverage: 100.0% | Lines: 8 | Complexity: 3 Stewart\Testing\Store\InMemoryStoreBackend::findLiveEntry — Coverage: 100.0% | Lines: 8 | Complexity: 4 Stewart\Testing\Stream\PushSource::attach — Coverage: 100.0% | Lines: 8 | Complexity: 1 Stewart\Testing\Sun\FixedSunCalendar::findNextEvent — Coverage: 100.0% | Lines: 8 | Complexity: 4 Stewart\Testing\Time\ManualTimers::delay — Coverage: 100.0% | Lines: 8 | Complexity: 2 Stewart\Testing\Websocket\FakeWebsocketConnection::close — Coverage: 0.0% | Lines: 8 | Complexity: 3 Stewart\Testing\Exception\AssertsReason::assertThrowsReason — Coverage: 0.0% | Lines: 8 | Complexity: 3 Stewart\Testing\Exception\HarnessError::messageTemplate — Coverage: 100.0% | Lines: 7 | Complexity: 7 Stewart\Testing\Exposure\RecordingEntityExposure::claimKey — Coverage: 100.0% | Lines: 7 | Complexity: 3 Stewart\Testing\Filesystem\TempDirectory::removeTree — Coverage: 0.0% | Lines: 7 | Complexity: 8 Stewart\Testing\HaContext\SeededHistory::recordState — Coverage: 100.0% | Lines: 7 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::getIndexedRegistry — Coverage: 100.0% | Lines: 7 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::armElapsedSchedule — Coverage: 100.0% | Lines: 7 | Complexity: 2 Stewart\Testing\Store\StoreBackendContract::testAPrefixScanReturnsOnlyThatPrefix — Coverage: 0.0% | Lines: 7 | Complexity: 1 Stewart\Testing\Time\ManualTimers::startTimer — Coverage: 100.0% | Lines: 7 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::receive — Coverage: 28.6% | Lines: 7 | Complexity: 3 Stewart\Testing\App\AppHarness::finishInitializing — Coverage: 100.0% | Lines: 6 | Complexity: 3 Stewart\Testing\HaContext\RecordingHaContext::watchStateChanges — Coverage: 100.0% | Lines: 6 | Complexity: 2 Stewart\Testing\HaContext\SeededHistory::dropRepeatedStates — Coverage: 100.0% | Lines: 6 | Complexity: 4 Stewart\Testing\Store\InMemoryStoreBackend::keysWithPrefix — Coverage: 100.0% | Lines: 6 | Complexity: 4 Stewart\Testing\Store\StoreBackendContract::testATtlExpiresTheValue — Coverage: 0.0% | Lines: 6 | Complexity: 1 Stewart\Testing\Sun\FixedSunCalendar::getDayOn — Coverage: 100.0% | Lines: 6 | Complexity: 3 Stewart\Testing\Time\EventLoopTicks::settleUntil — Coverage: 100.0% | Lines: 6 | Complexity: 4 Stewart\Testing\Time\ManualTimers::waitFor — Coverage: 100.0% | Lines: 6 | Complexity: 2 Stewart\Testing\Time\ManualTimers::findEarliestDueBy — Coverage: 100.0% | Lines: 6 | Complexity: 5 Stewart\Testing\App\AppArgumentResolver::findStoreFor — Coverage: 100.0% | Lines: 5 | Complexity: 4 Stewart\Testing\Async\HandlerFibers::rethrowFailuresExceptAbandonedWaits — Coverage: 0.0% | Lines: 5 | Complexity: 4 Stewart\Testing\Async\HandlerFibers::releaseDeliveries — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedEntity::recordChange — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::seedState — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::pushStateChange — Coverage: 80.0% | Lines: 5 | Complexity: 2 Stewart\Testing\HaContext\RecordingHaContext::watchTrigger — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Testing\Schedule\ManualEntityTimeTask::__construct — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Testing\Schedule\ManualEntityTimeTask::createScheduleFor — Coverage: 40.0% | Lines: 5 | Complexity: 4 Stewart\Testing\Schedule\ManualScheduledTask::armAfter — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Testing\Schedule\ManualScheduler::armWallClockSchedule — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Testing\Store\StoreBackendContract::testRemovingAPrefixLeavesOtherPrefixesAlone — Coverage: 0.0% | Lines: 5 | Complexity: 1 Stewart\Testing\Stream\PushSource::cancelAttachments — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Testing\Sun\FixedSunCalendar::__construct — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Testing\Sun\FixedSunCalendar::getPositionAt — Coverage: 100.0% | Lines: 5 | Complexity: 5 Stewart\Testing\Time\ManualTimers::timeout — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnector::connect — Coverage: 0.0% | Lines: 5 | Complexity: 2 Stewart\Testing\Exposure\RecordingEntityExposure::trackHandle — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Testing\Exposure\RecordingExposedEntity::applySnapshot — Coverage: 100.0% | Lines: 4 | Complexity: 1 Stewart\Testing\Filesystem\TempDirectory::createWithPrefix — Coverage: 0.0% | Lines: 4 | Complexity: 2 Stewart\Testing\Logging\RecordingLogger::log — Coverage: 0.0% | Lines: 4 | Complexity: 2 Stewart\Testing\Schedule\ManualScheduledTask::cancel — Coverage: 100.0% | Lines: 4 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testAValueComesBackByteForByte — Coverage: 0.0% | Lines: 4 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testRemovingLeavesNothingAndIsSafeToRepeat — Coverage: 0.0% | Lines: 4 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testWritingWithoutATtlClearsOneTheKeyHad — Coverage: 0.0% | Lines: 4 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testCountingCreatesTheKeyItIsMissing — Coverage: 0.0% | Lines: 4 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testCountingKeepsAnExpiry — Coverage: 0.0% | Lines: 4 | Complexity: 1 Stewart\Testing\Stream\PushSource::push — Coverage: 100.0% | Lines: 4 | Complexity: 2 Stewart\Testing\Stream\PushSubscription::unsubscribe — Coverage: 75.0% | Lines: 4 | Complexity: 2 Stewart\Testing\Time\ManualTimer::fire — Coverage: 75.0% | Lines: 4 | Complexity: 2 Stewart\Testing\Time\ManualTimer::release — Coverage: 100.0% | Lines: 4 | Complexity: 2 Stewart\Testing\Websocket\FakeWebsocketConnection::wakeReceiver — Coverage: 75.0% | Lines: 4 | Complexity: 2 Stewart\Testing\Websocket\FakeWebsocketConnector::createAuthenticatedConnection — Coverage: 0.0% | Lines: 4 | Complexity: 1 Stewart\Testing\App\AppHarness::advanceTime — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\App\AppHarness::readAppId — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\Async\HandlerFibers::takeCompletedRuns — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\Async\Latch::waitUntilOpen — Coverage: 0.0% | Lines: 3 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::listStates — Coverage: 66.7% | Lines: 3 | Complexity: 4 Stewart\Testing\HaContext\RecordingHaContext::watchEvents — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::publish — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::watchTopic — Coverage: 0.0% | Lines: 3 | Complexity: 1 Stewart\Testing\HaContext\SeededHistory::listStatesInOrder — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\Logging\RecordingLogger::waitForMessage — Coverage: 0.0% | Lines: 3 | Complexity: 2 Stewart\Testing\Logging\RecordingLogger::listMessagesAt — Coverage: 0.0% | Lines: 3 | Complexity: 1 Stewart\Testing\Mqtt\RecordingMqtt::watchMessages — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\Registry\RecordingRegistryEditor::findCurrentEntry — Coverage: 100.0% | Lines: 3 | Complexity: 2 Stewart\Testing\Schedule\ManualEntityTimeTask::cancel — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::runAtEntityTime — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\Store\InMemoryStoreBackend::probe — Coverage: 66.7% | Lines: 3 | Complexity: 2 Stewart\Testing\Store\StoreBackendContract::testAWriteReplacesWhatWasThere — Coverage: 0.0% | Lines: 3 | Complexity: 1 Stewart\Testing\Sun\FixedSunCalendar::findEventTimeOn — Coverage: 100.0% | Lines: 3 | Complexity: 2 Stewart\Testing\Time\VirtualClock::__construct — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnector::createStalled — Coverage: 0.0% | Lines: 3 | Complexity: 1 Stewart\Testing\App\AppHarness::provideService — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\App\AppHarness::requireNotStarted — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Async\HandlerFibers::rethrowFailures — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Async\Latch::open — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingEntityExposure::cancelSubscriptions — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingEntityExposure::requireHandle — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedBinarySensor::getValue — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedDate::getValue — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedDateTime::getValue — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedEntity::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedEntity::deliverCommand — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedNumber::getValue — Coverage: 100.0% | Lines: 2 | Complexity: 3 Stewart\Testing\Exposure\RecordingExposedSelect::getOption — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedSensor::getValue — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedSwitch::getValue — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedText::getValue — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedTime::getValue — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposure::remove — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposure::recordConfig — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposure::assertNotRemoved — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\HaContext\RecordingHaContext::seedHistoricalState — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::stubHistoryFailure — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::stubServiceAnswer — Coverage: 0.0% | Lines: 2 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::stubServiceFailure — Coverage: 0.0% | Lines: 2 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::stubEventFireFailure — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::cancelSubscriptions — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Testing\HaContext\RecordingHaContext::pushConnection — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::requireState — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Mqtt\RecordingMqtt::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Registry\Collection\RecordedRegistryUpdateCollection::filterByEntityId — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::seedArea — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::seedFloor — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::seedLabel — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::seedDevice — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::seedEntity — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::invalidateIndex — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::cancelAll — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Store\InMemoryStoreBackend::write — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Store\InMemoryStoreBackend::remove — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Store\InMemoryStoreBackend::removeByPrefix — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Store\InMemoryStoreBackend::failDuringOutage — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Store\StoreBackendContract::testAMissingKeyReadsAsNull — Coverage: 0.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testCountingWhatIsNotAWholeNumberIsRefused — Coverage: 0.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testCountingANumberWithANewlineIsRefused — Coverage: 0.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testCountingAFloatIsRefused — Coverage: 0.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testProbingSucceedsAgainstAnEngineThatIsThere — Coverage: 0.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Sun\FixedSunCalendar::stubEventTime — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Time\EventLoopTicks::settle — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Websocket\FakeWebsocketConnection::queueFrame — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::getIterator — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Testing\Websocket\FakeWebsocketConnector::__construct — Coverage: 0.0% | Lines: 2 | Complexity: 1 Stewart\Testing\App\AppArgumentResolver::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Async\HandlerFibers::holdDeliveries — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Async\Latch::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Async\Latch::isOpen — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Async\Latch::countWaiters — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\Collection\RecordedExposureCollection::withRecordedExposure — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordedExposure::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::seedSnapshot — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::refuseExposures — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeSensor — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeBinarySensor — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeSwitch — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeButton — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeNumber — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeSelect — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeText — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeDate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeDateTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::exposeAction — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireSensor — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireBinarySensor — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireSwitch — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireButton — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireNumber — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireSelect — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireText — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireDate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireDateTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::requireAction — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingEntityExposure::findHandle — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedAction::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedAction::updateConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedAction::watchCalls — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedAction::pushCall — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedBinarySensor::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedBinarySensor::updateConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedBinarySensor::setOn — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedBinarySensor::setOff — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedButton::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedButton::updateConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedButton::watchCommands — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedButton::pushCommand — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedDate::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedDate::updateConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedDate::setValue — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedDate::watchCommands — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedDate::pushCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedDateTime::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedDateTime::updateConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedDateTime::setValue — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedDateTime::watchCommands — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedDateTime::pushCommand — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedEntity::getEntityId — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedEntity::getAttributes — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedEntity::isAvailable — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedEntity::setAttributes — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedEntity::markAvailable — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedEntity::markUnavailable — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedEntity::findStateValue — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedNumber::getConfig — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedNumber::updateConfig — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedNumber::setValue — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedNumber::watchCommands — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedNumber::pushCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSelect::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSelect::updateConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSelect::setOption — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSelect::watchCommands — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSelect::pushCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSensor::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSensor::updateConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSensor::setValue — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSwitch::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSwitch::updateConfig — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSwitch::setOn — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSwitch::setOff — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSwitch::watchCommands — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedSwitch::pushCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedText::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedText::updateConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedText::setValue — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedText::watchCommands — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedText::pushCommand — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedTime::getConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedTime::updateConfig — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedTime::setValue — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Testing\Exposure\RecordingExposedTime::watchCommands — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposedTime::pushCommand — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposure::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposure::getKey — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposure::cancelCommandSubscriptions — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposure::watchPushedCommands — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Exposure\RecordingExposure::deliverCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Filesystem\TempDirectory::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Filesystem\TempDirectory::getFilePath — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Filesystem\TempDirectory::remove — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\Collection\RecordedEventFireCollection::withRecordedFire — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\Collection\RecordedHistoryQueryCollection::withRecordedQuery — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\Collection\RecordedServiceCallCollection::withRecordedCall — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\Collection\WatchedTriggerCollection::withWatchedTrigger — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\PushedTrigger::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordedEventFire::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordedHistoryQuery::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordedServiceCall::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordedServiceCall::getServiceName — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordedServiceCall::listTargetedEntityIds — Coverage: 0.0% | Lines: 1 | Complexity: 2 Stewart\Testing\HaContext\RecordedStateReader::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordedStateReader::readCurrentStates — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::pushEvent — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::pushTrigger — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::listWatchedTriggers — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::getLastCall — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::getState — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::getEntity — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::waitForState — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::getRegistry — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::callService — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::callServiceForResponse — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::wasCausedByStewart — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::watchConnection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::isConnected — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\RecordingHaContext::issueContext — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\SeededHistory::stripAttributes — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\HaContext\WatchedTrigger::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Logging\Collection\RecordedLogCollection::withRecordedLog — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Logging\RecordedLog::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Logging\RecordingLogger::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Mqtt\RecordingMqtt::pushMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Mqtt\RecordingMqtt::cancelSubscriptions — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Mqtt\RecordingMqtt::publish — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\Collection\RecordedRegistryUpdateCollection::withRecordedUpdate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::listAreas — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::findArea — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::findAreaByName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::listAreasOnFloor — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::listFloors — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::findFloor — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::findFloorByName — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::listLabels — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::findLabel — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::findLabelByName — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::listDevices — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::findDevice — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::listDevicesInArea — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::listEntities — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::findEntity — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\InMemoryRegistry::findEntityPlacement — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\RecordedRegistryUpdate::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\RecordingRegistryEditor::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Registry\RecordingRegistryEditor::refuseUpdates — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualEntityTimeTask::getId — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualEntityTimeTask::isActive — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualEntityTimeTask::getNextRunAt — Coverage: 0.0% | Lines: 1 | Complexity: 2 Stewart\Testing\Schedule\ManualScheduledTask::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduledTask::getId — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduledTask::isActive — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduledTask::getNextRunAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::runEvery — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::runDailyAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::runOnCron — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::runAfter — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::runAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::runAtSunEvent — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::armTask — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Schedule\ManualScheduler::claimTaskId — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\InMemoryStoreBackend::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\InMemoryStoreBackend::simulateOutage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\InMemoryStoreBackend::endOutage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\InMemoryStoreBackend::read — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\InMemoryStoreBackend::exists — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\InMemoryStoreBackend::computeExpiryFor — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Testing\Store\InMemoryStoreBackend::readNowInMilliseconds — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::setUp — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::testAPrefixScanOfAnEmptyScopeIsEmpty — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::getPrefix — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::getOtherPrefix — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\StoreBackendContract::buildPrefixedKey — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Store\StoredEntry::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Stream\PushSource::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Stream\PushSource::countSubscribers — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Stream\PushSource::countAttachments — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Stream\PushSubscription::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Stream\PushSubscription::isActive — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Stream\PushSubscription::getId — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Sun\FixedSunCalendar::getLocation — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Sun\FixedSunCalendar::getCurrentPosition — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Sun\FixedSunCalendar::isSunUp — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimeout::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimeout::__destruct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimeout::subscribe — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimeout::unsubscribe — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimeout::isRequested — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimeout::throwIfRequested — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimer::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimer::cancel — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimer::isPending — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimers::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimers::countPendingTimers — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\ManualTimers::forget — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\VirtualClock::getNow — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\VirtualClock::getMonotonicTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\VirtualClock::getTimeZone — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\VirtualClock::isWithin — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\VirtualClock::getWallTime — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\VirtualClock::moveTo — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\VirtualClock::skip — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Time\VirtualClock::rewind — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\Collection\FakeWebsocketConnectionCollection::withConnection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::replyWhenSent — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::answerEverySend — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::holdSendsUntil — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::holdCloseUntil — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::listSentOfType — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::isClosed — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::getCloseInfo — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::onClose — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::getId — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::getLocalAddress — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::getRemoteAddress — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::getTlsInfo — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::isCompressionEnabled — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::sendBinary — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::streamText — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::streamBinary — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::ping — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::getCount — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::getTimestamp — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::getHandshakeResponse — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Testing\Websocket\FakeWebsocketConnection::encodeFrame — Coverage: 100.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Method CRAP Coverage
Stewart\Testing\Filesystem\TempDirectory::removeTree720.0%
Stewart\Testing\Async\HandlerFibers::rethrowFailuresExceptAbandonedWaits200.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::close120.0%
Stewart\Testing\Exception\AssertsReason::assertThrowsReason120.0%
Stewart\Testing\App\AppArgumentResolver::resolveParameter11.0393.8%
Stewart\Testing\Websocket\FakeWebsocketConnection::sendText8.0292.9%
Stewart\Testing\Schedule\ManualEntityTimeTask::createScheduleFor7.4640.0%
Stewart\Testing\Store\InMemoryStoreBackend::increment7.0490.9%
Stewart\Testing\Exception\HarnessError::messageTemplate7100.0%
Stewart\Testing\HaContext\SeededHistory::sliceForWindow7100.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::receive6.2828.6%
Stewart\Testing\Async\Latch::open60.0%
Stewart\Testing\Exposure\RecordingEntityExposure::cancelSubscriptions60.0%
Stewart\Testing\Exposure\RecordingExposedTime::getValue60.0%
Stewart\Testing\Filesystem\TempDirectory::createWithPrefix60.0%
Stewart\Testing\HaContext\RecordedServiceCall::listTargetedEntityIds60.0%
Stewart\Testing\HaContext\RecordingHaContext::cancelSubscriptions60.0%
Stewart\Testing\Logging\RecordingLogger::log60.0%
Stewart\Testing\Logging\RecordingLogger::waitForMessage60.0%
Stewart\Testing\Schedule\ManualEntityTimeTask::getNextRunAt60.0%
Stewart\Testing\Time\EventLoopTicks::settle60.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::getIterator60.0%
Stewart\Testing\Websocket\FakeWebsocketConnector::connect60.0%
Stewart\Testing\App\AppArgumentResolver::resolveArguments5100.0%
Stewart\Testing\Sun\FixedSunCalendar::getPositionAt5100.0%
Stewart\Testing\Time\ManualTimers::findEarliestDueBy5100.0%
Stewart\Testing\HaContext\RecordingHaContext::listStates4.5966.7%
Stewart\Testing\Schedule\ManualEntityTimeTask::rearmFor4.0190.9%
Stewart\Testing\App\AppArgumentResolver::findStoreFor4100.0%
Stewart\Testing\App\AppArgumentResolver::isBuiltOnHaContext4100.0%
Stewart\Testing\HaContext\SeededHistory::dropRepeatedStates4100.0%
Stewart\Testing\Store\InMemoryStoreBackend::keysWithPrefix4100.0%
Stewart\Testing\Store\InMemoryStoreBackend::findLiveEntry4100.0%
Stewart\Testing\Sun\FixedSunCalendar::findNextEvent4100.0%
Stewart\Testing\Time\EventLoopTicks::settleUntil4100.0%
Stewart\Testing\Schedule\ManualScheduledTask::runDueOccurrence3.0188.9%
Stewart\Testing\App\AppHarness::finishInitializing3100.0%
Stewart\Testing\Async\HandlerFibers::runSettled3100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::claimKey3100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::trackHandle3100.0%
Stewart\Testing\Exposure\RecordingExposedNumber::getValue3100.0%
Stewart\Testing\HaContext\RecordingHaContext::getHistory3100.0%
Stewart\Testing\HaContext\RecordingHaContext::fireEvent3100.0%
Stewart\Testing\HaContext\RecordingHaContext::callStubbedService3.0092.3%
Stewart\Testing\Registry\RecordingRegistryEditor::updateEntity3100.0%
Stewart\Testing\Sun\FixedSunCalendar::getDayOn3100.0%
Stewart\Testing\Store\InMemoryStoreBackend::probe2.1566.7%
Stewart\Testing\Stream\PushSubscription::unsubscribe2.0675.0%
Stewart\Testing\Time\ManualTimer::fire2.0675.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::wakeReceiver2.0675.0%
Stewart\Testing\HaContext\RecordingHaContext::pushStateChange2.0380.0%
Stewart\Testing\App\AppHarness::requireNotStarted2100.0%
Stewart\Testing\Async\HandlerFibers::rethrowFailures2100.0%
Stewart\Testing\Async\HandlerFibers::releaseDeliveries2100.0%
Stewart\Testing\Async\Latch::__construct20.0%
Stewart\Testing\Async\Latch::waitUntilOpen20.0%
Stewart\Testing\Async\Latch::isOpen20.0%
Stewart\Testing\Async\Latch::countWaiters20.0%
Stewart\Testing\Exposure\Collection\RecordedExposureCollection::withRecordedExposure20.0%
Stewart\Testing\Exposure\RecordedExposure::__construct20.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireBinarySensor20.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireHandle2100.0%
Stewart\Testing\Exposure\RecordingExposedAction::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedAction::updateConfig20.0%
Stewart\Testing\Exposure\RecordingExposedBinarySensor::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedBinarySensor::updateConfig20.0%
Stewart\Testing\Exposure\RecordingExposedBinarySensor::getValue2100.0%
Stewart\Testing\Exposure\RecordingExposedBinarySensor::setOn20.0%
Stewart\Testing\Exposure\RecordingExposedBinarySensor::setOff20.0%
Stewart\Testing\Exposure\RecordingExposedButton::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedButton::updateConfig20.0%
Stewart\Testing\Exposure\RecordingExposedButton::watchCommands20.0%
Stewart\Testing\Exposure\RecordingExposedButton::pushCommand20.0%
Stewart\Testing\Exposure\RecordingExposedDate::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedDate::updateConfig20.0%
Stewart\Testing\Exposure\RecordingExposedDate::getValue2100.0%
Stewart\Testing\Exposure\RecordingExposedDate::setValue2100.0%
Stewart\Testing\Exposure\RecordingExposedDate::watchCommands20.0%
Stewart\Testing\Exposure\RecordingExposedDateTime::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedDateTime::updateConfig20.0%
Stewart\Testing\Exposure\RecordingExposedDateTime::getValue2100.0%
Stewart\Testing\Exposure\RecordingExposedDateTime::setValue2100.0%
Stewart\Testing\Exposure\RecordingExposedDateTime::watchCommands20.0%
Stewart\Testing\Exposure\RecordingExposedDateTime::pushCommand20.0%
Stewart\Testing\Exposure\RecordingExposedEntity::getAttributes20.0%
Stewart\Testing\Exposure\RecordingExposedEntity::setAttributes20.0%
Stewart\Testing\Exposure\RecordingExposedEntity::markAvailable20.0%
Stewart\Testing\Exposure\RecordingExposedNumber::setValue20.0%
Stewart\Testing\Exposure\RecordingExposedSelect::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedSelect::updateConfig20.0%
Stewart\Testing\Exposure\RecordingExposedSelect::getOption2100.0%
Stewart\Testing\Exposure\RecordingExposedSelect::watchCommands20.0%
Stewart\Testing\Exposure\RecordingExposedSensor::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedSensor::updateConfig20.0%
Stewart\Testing\Exposure\RecordingExposedSensor::getValue2100.0%
Stewart\Testing\Exposure\RecordingExposedSwitch::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedSwitch::getValue2100.0%
Stewart\Testing\Exposure\RecordingExposedText::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedText::updateConfig20.0%
Stewart\Testing\Exposure\RecordingExposedText::getValue2100.0%
Stewart\Testing\Exposure\RecordingExposedText::watchCommands20.0%
Stewart\Testing\Exposure\RecordingExposedText::pushCommand20.0%
Stewart\Testing\Exposure\RecordingExposedTime::getConfig20.0%
Stewart\Testing\Exposure\RecordingExposedTime::updateConfig20.0%
Stewart\Testing\Exposure\RecordingExposedTime::setValue2100.0%
Stewart\Testing\Exposure\RecordingExposedTime::watchCommands20.0%
Stewart\Testing\Exposure\RecordingExposedTime::pushCommand20.0%
Stewart\Testing\Exposure\RecordingExposure::cancelCommandSubscriptions20.0%
Stewart\Testing\Exposure\RecordingExposure::assertNotRemoved2100.0%
Stewart\Testing\Filesystem\TempDirectory::__construct20.0%
Stewart\Testing\Filesystem\TempDirectory::getFilePath20.0%
Stewart\Testing\Filesystem\TempDirectory::remove20.0%
Stewart\Testing\HaContext\Collection\RecordedEventFireCollection::withRecordedFire20.0%
Stewart\Testing\HaContext\Collection\RecordedHistoryQueryCollection::withRecordedQuery20.0%
Stewart\Testing\HaContext\Collection\RecordedServiceCallCollection::withRecordedCall20.0%
Stewart\Testing\HaContext\Collection\WatchedTriggerCollection::withWatchedTrigger20.0%
Stewart\Testing\HaContext\PushedTrigger::__construct20.0%
Stewart\Testing\HaContext\RecordedEventFire::__construct20.0%
Stewart\Testing\HaContext\RecordedHistoryQuery::__construct20.0%
Stewart\Testing\HaContext\RecordedServiceCall::__construct20.0%
Stewart\Testing\HaContext\RecordedServiceCall::getServiceName20.0%
Stewart\Testing\HaContext\RecordedStateReader::__construct20.0%
Stewart\Testing\HaContext\RecordedStateReader::readCurrentStates20.0%
Stewart\Testing\HaContext\RecordingHaContext::stubServiceAnswer20.0%
Stewart\Testing\HaContext\RecordingHaContext::stubServiceFailure20.0%
Stewart\Testing\HaContext\RecordingHaContext::pushState2100.0%
Stewart\Testing\HaContext\RecordingHaContext::pushEvent20.0%
Stewart\Testing\HaContext\RecordingHaContext::getLastCall20.0%
Stewart\Testing\HaContext\RecordingHaContext::watchStateChanges2100.0%
Stewart\Testing\HaContext\RecordingHaContext::watchTopic20.0%
Stewart\Testing\HaContext\RecordingHaContext::watchConnection20.0%
Stewart\Testing\HaContext\RecordingHaContext::isConnected20.0%
Stewart\Testing\HaContext\WatchedTrigger::__construct20.0%
Stewart\Testing\Logging\Collection\RecordedLogCollection::withRecordedLog20.0%
Stewart\Testing\Logging\RecordedLog::__construct20.0%
Stewart\Testing\Logging\RecordingLogger::__construct20.0%
Stewart\Testing\Logging\RecordingLogger::listMessagesAt20.0%
Stewart\Testing\Mqtt\RecordingMqtt::cancelSubscriptions20.0%
Stewart\Testing\Registry\InMemoryRegistry::listFloors20.0%
Stewart\Testing\Registry\InMemoryRegistry::findFloor20.0%
Stewart\Testing\Registry\InMemoryRegistry::findFloorByName20.0%
Stewart\Testing\Registry\InMemoryRegistry::listLabels20.0%
Stewart\Testing\Registry\InMemoryRegistry::findLabel20.0%
Stewart\Testing\Registry\InMemoryRegistry::findLabelByName20.0%
Stewart\Testing\Registry\InMemoryRegistry::listDevices20.0%
Stewart\Testing\Registry\InMemoryRegistry::listEntities20.0%
Stewart\Testing\Registry\InMemoryRegistry::findEntity20.0%
Stewart\Testing\Registry\RecordedRegistryUpdate::__construct20.0%
Stewart\Testing\Registry\RecordingRegistryEditor::findCurrentEntry2100.0%
Stewart\Testing\Schedule\ManualEntityTimeTask::isActive20.0%
Stewart\Testing\Schedule\ManualScheduledTask::getId20.0%
Stewart\Testing\Schedule\ManualScheduledTask::armAfter2100.0%
Stewart\Testing\Schedule\ManualScheduler::cancelAll2100.0%
Stewart\Testing\Schedule\ManualScheduler::armElapsedSchedule2100.0%
Stewart\Testing\Schedule\ManualScheduler::armWallClockSchedule2100.0%
Stewart\Testing\Store\InMemoryStoreBackend::removeByPrefix2100.0%
Stewart\Testing\Store\InMemoryStoreBackend::computeExpiryFor2100.0%
Stewart\Testing\Store\InMemoryStoreBackend::failDuringOutage2100.0%
Stewart\Testing\Store\StoreBackendContract::setUp20.0%
Stewart\Testing\Store\StoreBackendContract::testAMissingKeyReadsAsNull20.0%
Stewart\Testing\Store\StoreBackendContract::testAValueComesBackByteForByte20.0%
Stewart\Testing\Store\StoreBackendContract::testAWriteReplacesWhatWasThere20.0%
Stewart\Testing\Store\StoreBackendContract::testRemovingLeavesNothingAndIsSafeToRepeat20.0%
Stewart\Testing\Store\StoreBackendContract::testATtlExpiresTheValue20.0%
Stewart\Testing\Store\StoreBackendContract::testWritingWithoutATtlClearsOneTheKeyHad20.0%
Stewart\Testing\Store\StoreBackendContract::testCountingCreatesTheKeyItIsMissing20.0%
Stewart\Testing\Store\StoreBackendContract::testCountingKeepsAnExpiry20.0%
Stewart\Testing\Store\StoreBackendContract::testCountingWhatIsNotAWholeNumberIsRefused20.0%
Stewart\Testing\Store\StoreBackendContract::testCountingANumberWithANewlineIsRefused20.0%
Stewart\Testing\Store\StoreBackendContract::testCountingAFloatIsRefused20.0%
Stewart\Testing\Store\StoreBackendContract::testAPrefixScanReturnsOnlyThatPrefix20.0%
Stewart\Testing\Store\StoreBackendContract::testAPrefixScanOfAnEmptyScopeIsEmpty20.0%
Stewart\Testing\Store\StoreBackendContract::testRemovingAPrefixLeavesOtherPrefixesAlone20.0%
Stewart\Testing\Store\StoreBackendContract::testProbingSucceedsAgainstAnEngineThatIsThere20.0%
Stewart\Testing\Store\StoreBackendContract::getPrefix20.0%
Stewart\Testing\Store\StoreBackendContract::getOtherPrefix20.0%
Stewart\Testing\Store\StoreBackendContract::buildPrefixedKey20.0%
Stewart\Testing\Store\StoredEntry::__construct20.0%
Stewart\Testing\Stream\PushSource::push2100.0%
Stewart\Testing\Stream\PushSource::cancelAttachments2100.0%
Stewart\Testing\Stream\PushSource::countAttachments20.0%
Stewart\Testing\Stream\PushSubscription::getId20.0%
Stewart\Testing\Sun\FixedSunCalendar::getLocation20.0%
Stewart\Testing\Sun\FixedSunCalendar::findEventTimeOn2100.0%
Stewart\Testing\Time\ManualTimeout::subscribe20.0%
Stewart\Testing\Time\ManualTimeout::unsubscribe20.0%
Stewart\Testing\Time\ManualTimeout::throwIfRequested20.0%
Stewart\Testing\Time\ManualTimer::release2100.0%
Stewart\Testing\Time\ManualTimers::waitFor2100.0%
Stewart\Testing\Time\ManualTimers::delay2100.0%
Stewart\Testing\Websocket\Collection\FakeWebsocketConnectionCollection::withConnection20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::holdSendsUntil20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::holdCloseUntil20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::listSentOfType20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::isClosed20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::getCloseInfo20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::onClose20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::getId20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::getLocalAddress20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::getRemoteAddress20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::getTlsInfo20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::isCompressionEnabled20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::sendBinary20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::streamText20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::streamBinary20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::ping20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::getCount20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::getTimestamp20.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::getHandshakeResponse20.0%
Stewart\Testing\Websocket\FakeWebsocketConnector::__construct20.0%
Stewart\Testing\Websocket\FakeWebsocketConnector::createStalled20.0%
Stewart\Testing\Websocket\FakeWebsocketConnector::createAuthenticatedConnection20.0%
Stewart\Testing\App\AppArgumentResolver::__construct1100.0%
Stewart\Testing\App\AppHarness::__construct1100.0%
Stewart\Testing\App\AppHarness::provideService1100.0%
Stewart\Testing\App\AppHarness::startApp1100.0%
Stewart\Testing\App\AppHarness::advanceTime1100.0%
Stewart\Testing\App\AppHarness::stopApp1100.0%
Stewart\Testing\App\AppHarness::createFakesFor1100.0%
Stewart\Testing\App\AppHarness::readAppId1100.0%
Stewart\Testing\Async\HandlerFibers::holdDeliveries1100.0%
Stewart\Testing\Async\HandlerFibers::takeCompletedRuns1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::__construct1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::seedSnapshot1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::refuseExposures1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeSensor1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeBinarySensor1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeSwitch1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeButton1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeNumber1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeSelect1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeText1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeTime1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeDate1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeDateTime1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::exposeAction1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireSensor1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireSwitch1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireButton1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireNumber1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireSelect1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireText1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireTime1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireDate1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireDateTime1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::requireAction1100.0%
Stewart\Testing\Exposure\RecordingEntityExposure::findHandle1100.0%
Stewart\Testing\Exposure\RecordingExposedAction::watchCalls1100.0%
Stewart\Testing\Exposure\RecordingExposedAction::pushCall1100.0%
Stewart\Testing\Exposure\RecordingExposedDate::pushCommand1100.0%
Stewart\Testing\Exposure\RecordingExposedEntity::__construct1100.0%
Stewart\Testing\Exposure\RecordingExposedEntity::applySnapshot1100.0%
Stewart\Testing\Exposure\RecordingExposedEntity::getEntityId1100.0%
Stewart\Testing\Exposure\RecordingExposedEntity::isAvailable1100.0%
Stewart\Testing\Exposure\RecordingExposedEntity::markUnavailable1100.0%
Stewart\Testing\Exposure\RecordingExposedEntity::recordChange1100.0%
Stewart\Testing\Exposure\RecordingExposedEntity::deliverCommand1100.0%
Stewart\Testing\Exposure\RecordingExposedEntity::findStateValue1100.0%
Stewart\Testing\Exposure\RecordingExposedNumber::getConfig1100.0%
Stewart\Testing\Exposure\RecordingExposedNumber::updateConfig1100.0%
Stewart\Testing\Exposure\RecordingExposedNumber::watchCommands1100.0%
Stewart\Testing\Exposure\RecordingExposedNumber::pushCommand1100.0%
Stewart\Testing\Exposure\RecordingExposedSelect::setOption1100.0%
Stewart\Testing\Exposure\RecordingExposedSelect::pushCommand1100.0%
Stewart\Testing\Exposure\RecordingExposedSensor::setValue1100.0%
Stewart\Testing\Exposure\RecordingExposedSwitch::updateConfig1100.0%
Stewart\Testing\Exposure\RecordingExposedSwitch::setOn1100.0%
Stewart\Testing\Exposure\RecordingExposedSwitch::setOff1100.0%
Stewart\Testing\Exposure\RecordingExposedSwitch::watchCommands1100.0%
Stewart\Testing\Exposure\RecordingExposedSwitch::pushCommand1100.0%
Stewart\Testing\Exposure\RecordingExposedText::setValue1100.0%
Stewart\Testing\Exposure\RecordingExposure::__construct1100.0%
Stewart\Testing\Exposure\RecordingExposure::getKey1100.0%
Stewart\Testing\Exposure\RecordingExposure::remove1100.0%
Stewart\Testing\Exposure\RecordingExposure::recordConfig1100.0%
Stewart\Testing\Exposure\RecordingExposure::watchPushedCommands1100.0%
Stewart\Testing\Exposure\RecordingExposure::deliverCommand1100.0%
Stewart\Testing\HaContext\RecordingHaContext::__construct1100.0%
Stewart\Testing\HaContext\RecordingHaContext::seedState1100.0%
Stewart\Testing\HaContext\RecordingHaContext::seedHistoricalState1100.0%
Stewart\Testing\HaContext\RecordingHaContext::stubHistoryFailure1100.0%
Stewart\Testing\HaContext\RecordingHaContext::stubEventFireFailure1100.0%
Stewart\Testing\HaContext\RecordingHaContext::pushTrigger1100.0%
Stewart\Testing\HaContext\RecordingHaContext::listWatchedTriggers1100.0%
Stewart\Testing\HaContext\RecordingHaContext::pushConnection1100.0%
Stewart\Testing\HaContext\RecordingHaContext::getState1100.0%
Stewart\Testing\HaContext\RecordingHaContext::getEntity1100.0%
Stewart\Testing\HaContext\RecordingHaContext::requireState1100.0%
Stewart\Testing\HaContext\RecordingHaContext::waitForState1100.0%
Stewart\Testing\HaContext\RecordingHaContext::getRegistry1100.0%
Stewart\Testing\HaContext\RecordingHaContext::watchEvents1100.0%
Stewart\Testing\HaContext\RecordingHaContext::watchTrigger1100.0%
Stewart\Testing\HaContext\RecordingHaContext::callService1100.0%
Stewart\Testing\HaContext\RecordingHaContext::callServiceForResponse1100.0%
Stewart\Testing\HaContext\RecordingHaContext::wasCausedByStewart1100.0%
Stewart\Testing\HaContext\RecordingHaContext::publish1100.0%
Stewart\Testing\HaContext\RecordingHaContext::issueContext1100.0%
Stewart\Testing\HaContext\SeededHistory::recordState1100.0%
Stewart\Testing\HaContext\SeededHistory::listStatesInOrder1100.0%
Stewart\Testing\HaContext\SeededHistory::stripAttributes1100.0%
Stewart\Testing\Mqtt\RecordingMqtt::__construct1100.0%
Stewart\Testing\Mqtt\RecordingMqtt::pushMessage1100.0%
Stewart\Testing\Mqtt\RecordingMqtt::publish1100.0%
Stewart\Testing\Mqtt\RecordingMqtt::watchMessages1100.0%
Stewart\Testing\Registry\Collection\RecordedRegistryUpdateCollection::withRecordedUpdate1100.0%
Stewart\Testing\Registry\Collection\RecordedRegistryUpdateCollection::filterByEntityId1100.0%
Stewart\Testing\Registry\InMemoryRegistry::seedArea1100.0%
Stewart\Testing\Registry\InMemoryRegistry::seedFloor1100.0%
Stewart\Testing\Registry\InMemoryRegistry::seedLabel1100.0%
Stewart\Testing\Registry\InMemoryRegistry::seedDevice1100.0%
Stewart\Testing\Registry\InMemoryRegistry::seedEntity1100.0%
Stewart\Testing\Registry\InMemoryRegistry::listAreas1100.0%
Stewart\Testing\Registry\InMemoryRegistry::findArea1100.0%
Stewart\Testing\Registry\InMemoryRegistry::findAreaByName1100.0%
Stewart\Testing\Registry\InMemoryRegistry::listAreasOnFloor1100.0%
Stewart\Testing\Registry\InMemoryRegistry::findDevice1100.0%
Stewart\Testing\Registry\InMemoryRegistry::listDevicesInArea1100.0%
Stewart\Testing\Registry\InMemoryRegistry::findEntityPlacement1100.0%
Stewart\Testing\Registry\InMemoryRegistry::getIndexedRegistry1100.0%
Stewart\Testing\Registry\InMemoryRegistry::invalidateIndex1100.0%
Stewart\Testing\Registry\RecordingRegistryEditor::__construct1100.0%
Stewart\Testing\Registry\RecordingRegistryEditor::refuseUpdates1100.0%
Stewart\Testing\Schedule\ManualEntityTimeTask::__construct1100.0%
Stewart\Testing\Schedule\ManualEntityTimeTask::getId1100.0%
Stewart\Testing\Schedule\ManualEntityTimeTask::cancel1100.0%
Stewart\Testing\Schedule\ManualScheduledTask::__construct1100.0%
Stewart\Testing\Schedule\ManualScheduledTask::cancel1100.0%
Stewart\Testing\Schedule\ManualScheduledTask::isActive1100.0%
Stewart\Testing\Schedule\ManualScheduledTask::getNextRunAt1100.0%
Stewart\Testing\Schedule\ManualScheduler::__construct1100.0%
Stewart\Testing\Schedule\ManualScheduler::runEvery1100.0%
Stewart\Testing\Schedule\ManualScheduler::runDailyAt1100.0%
Stewart\Testing\Schedule\ManualScheduler::runOnCron1100.0%
Stewart\Testing\Schedule\ManualScheduler::runAfter1100.0%
Stewart\Testing\Schedule\ManualScheduler::runAt1100.0%
Stewart\Testing\Schedule\ManualScheduler::runAtEntityTime1100.0%
Stewart\Testing\Schedule\ManualScheduler::runAtSunEvent1100.0%
Stewart\Testing\Schedule\ManualScheduler::armTask1100.0%
Stewart\Testing\Schedule\ManualScheduler::claimTaskId1100.0%
Stewart\Testing\Store\InMemoryStoreBackend::__construct1100.0%
Stewart\Testing\Store\InMemoryStoreBackend::simulateOutage1100.0%
Stewart\Testing\Store\InMemoryStoreBackend::endOutage1100.0%
Stewart\Testing\Store\InMemoryStoreBackend::read1100.0%
Stewart\Testing\Store\InMemoryStoreBackend::write1100.0%
Stewart\Testing\Store\InMemoryStoreBackend::remove1100.0%
Stewart\Testing\Store\InMemoryStoreBackend::exists1100.0%
Stewart\Testing\Store\InMemoryStoreBackend::readNowInMilliseconds1100.0%
Stewart\Testing\Stream\PushSource::__construct1100.0%
Stewart\Testing\Stream\PushSource::attach1100.0%
Stewart\Testing\Stream\PushSource::countSubscribers1100.0%
Stewart\Testing\Stream\PushSubscription::__construct1100.0%
Stewart\Testing\Stream\PushSubscription::isActive1100.0%
Stewart\Testing\Sun\FixedSunCalendar::__construct1100.0%
Stewart\Testing\Sun\FixedSunCalendar::stubEventTime1100.0%
Stewart\Testing\Sun\FixedSunCalendar::getCurrentPosition1100.0%
Stewart\Testing\Sun\FixedSunCalendar::isSunUp1100.0%
Stewart\Testing\Time\ManualTimeout::__construct1100.0%
Stewart\Testing\Time\ManualTimeout::__destruct1100.0%
Stewart\Testing\Time\ManualTimeout::isRequested1100.0%
Stewart\Testing\Time\ManualTimer::__construct1100.0%
Stewart\Testing\Time\ManualTimer::cancel1100.0%
Stewart\Testing\Time\ManualTimer::isPending1100.0%
Stewart\Testing\Time\ManualTimers::__construct1100.0%
Stewart\Testing\Time\ManualTimers::startTimer1100.0%
Stewart\Testing\Time\ManualTimers::timeout1100.0%
Stewart\Testing\Time\ManualTimers::countPendingTimers1100.0%
Stewart\Testing\Time\ManualTimers::forget1100.0%
Stewart\Testing\Time\VirtualClock::__construct1100.0%
Stewart\Testing\Time\VirtualClock::getNow1100.0%
Stewart\Testing\Time\VirtualClock::getMonotonicTime1100.0%
Stewart\Testing\Time\VirtualClock::getTimeZone1100.0%
Stewart\Testing\Time\VirtualClock::isWithin1100.0%
Stewart\Testing\Time\VirtualClock::getWallTime1100.0%
Stewart\Testing\Time\VirtualClock::moveTo1100.0%
Stewart\Testing\Time\VirtualClock::skip1100.0%
Stewart\Testing\Time\VirtualClock::rewind1100.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::__construct1100.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::queueFrame1100.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::replyWhenSent1100.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::answerEverySend1100.0%
Stewart\Testing\Websocket\FakeWebsocketConnection::encodeFrame1100.0%
Stewart\Testing\Store\StoreBackendContract::createBackend0100.0%
Stewart\Testing\Store\StoreBackendContract::advanceTime0100.0%