<testsuites tests="241" failures="0">
    <testsuite name="CoreTests" tests="60" failures="0" skipped="0" time="0.26536428928375244">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_CheckValues()" time="0.007243990898132324">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Latitude_InRange()" time="0.0020450353622436523">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Latitude_OutOfRange_Above()" time="0.0044699907302856445">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Latitude_OutOfRange_Below()" time="0.04220998287200928">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Longitude_InRange()" time="0.004639983177185059">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Longitude_OutOfRange_Above()" time="0.008913040161132812">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Longitude_OutOfRange_Below()" time="0.0070459842681884766">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryCoding()" time="0.008093953132629395">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidCoordinatesCount_EmptyArray()" time="0.0034459829330444336">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidCoordinatesCount_ToLittle()" time="0.003516077995300293">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidCoordinatesCount_TooMuch()" time="0.0033360719680786133">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLatitude_AboveRange()" time="0.0026769638061523438">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLatitude_BelowRange()" time="0.0037289857864379883">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLongitude_AboveRange()" time="0.0029799938201904297">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLongitude_BelowRange()" time="0.0024400949478149414">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_ValidCoordinatesCount()" time="0.004603028297424316">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_ValidLatitude()" time="0.0025670528411865234">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_ValidLongitude()" time="0.002763986587524414">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testEncodedJSON()" time="0.007480978965759277">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_InvalidJson()" time="0.003661036491394043">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_Type()" time="0.003466010093688965">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_ValidJson()" time="0.003921031951904297">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_ValidJson_CheckValues()" time="0.004303932189941406">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidBearingAccuracy()" time="0.003859996795654297">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidBearing()" time="0.0023490190505981445">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidHorizontalAccuracy_LessThanZero()" time="0.0022259950637817383">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidSpeedAccuracy()" time="0.0018939971923828125">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidSpeed()" time="0.0023039579391479492">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidVerticalAccuracy()" time="0.005833029747009277">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_Timestamp()" time="0.0029050111770629883">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidBearingAccuracy()" time="0.0023310184478759766">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidBearing()" time="0.001810908317565918">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidHorizontalAccuracy_CheckValue()" time="0.002418994903564453">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidHorizontalAccuracy_EqualZero()" time="0.0060160160064697266">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidHorizontalAccuracy()" time="0.003000974655151367">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidSpeedAccuracy()" time="0.0025500059127807617">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidSpeed()" time="0.002032041549682617">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidVerticalAccuracy()" time="0.0019910335540771484">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidBearing_LessThanZero()" time="0.0024880170822143555">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidBearingAccuracy_LessThanZero()" time="0.0023649930953979492">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidHorizontalAccuracy_LessThanZero()" time="0.002073049545288086">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidSpeed_LessThanZero()" time="0.0017219781875610352">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidSpeedAccuracy_LessThanZero()" time="0.0013840198516845703">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidVerticalAccuracy_LessThanZero()" time="0.001674056053161621">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_Timestamp()" time="0.037989020347595215">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidBearingAccuracy()" time="0.0017850399017333984">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidBearing()" time="0.0017800331115722656">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidHorizontalAccuracy_EqualZero()" time="0.002030014991760254">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidHorizontalAccuracy_MoreThanZero()" time="0.002084016799926758">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidSpeedAccuracy()" time="0.0022439956665039062">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidSpeed()" time="0.0032329559326171875">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidVerticalAccuracy()" time="0.001811981201171875">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJsonCoding()" time="0.003382086753845215">
        </testcase>
        <testcase classname="GeoJsonMessageCLLocationTests" name="testGeoJsonMessageFromCLLocation_CheckValues()" time="0.0018099546432495117">
        </testcase>
        <testcase classname="GeoJsonMessageCLLocationTests" name="testGeoJsonMessageFromCLLocation_InvalidLocation()" time="0.0014159679412841797">
        </testcase>
        <testcase classname="GeoJsonMessageCLLocationTests" name="testGeoJsonMessageFromCLLocation_ValidLocation()" time="0.0020020008087158203">
        </testcase>
        <testcase classname="TrackableTests" name="test_TrackableComparision_ShouldBeEqual()" time="0.0036989450454711914">
        </testcase>
        <testcase classname="TrackableTests" name="test_TrackablesContainsTrackable_ShouldContain()" time="0.0017980337142944336">
        </testcase>
        <testcase classname="TrackableTests" name="test_TrackablesContainsTrackable_ShouldNotContain()" time="0.0015789270401000977">
        </testcase>
        <testcase classname="VersionTest" name="testCurrentVersionIsSetAndSemantic()" time="0.001940011978149414">
        </testcase>
    </testsuite>
    <testsuite name="InternalTests" tests="35" failures="0" skipped="0" time="0.26709771156311035">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="ConnectionConfigurationTests" name="test_getClientOptions_populatesClientId()" time="0.007985949516296387">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testBasicAuthenticationConstructor()" time="0.0027350187301635742">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testHostSetsCorrespondingPropertiesOnClientOptions()" time="0.004871964454650879">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testRemainPresentForMillisecondsPassesToAblySDK()" time="0.0029419660568237305">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testTokenAuthenticationPassesTokenStringToAblySdk()" time="0.005294919013977051">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testTokenAuthenticationReturningTokenDetailsPassesItToAblySDK()" time="0.002668023109436035">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testTokenAuthenticationReturningTokenRequestPassedItToAblySDK()" time="0.0025789737701416016">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenChannelIsInDetachedState_itAttachesToTheChannelBeforeCallingPresenceEnter()" time="0.007711052894592285">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenChannelIsInFailedState_itAttachesToTheChannelBeforeCallingPresenceEnter()" time="0.0033110380172729492">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeFails_itFails()" time="0.009352922439575195">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeSucceeds_itAttachesToTheChannel_andWhenAttachFails_itFails()" time="0.003260016441345215">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeSucceeds_itAttachesToTheChannel_andWhenAttachSucceeds_itRetriesPresenceEnter_andWhenTheSecondCallToPresenceEnterFails_itFails()" time="0.0023499727249145508">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeSucceeds_itAttachesToTheChannel_andWhenAttachSucceeds_itRetriesPresenceEnter_andWhenTheSecondCallToPresenceEnterSucceeds_itSucceeds()" time="0.0017230510711669922">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorUnrelatedToCapabilities_itFails()" time="0.010096907615661621">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterSucceeds_itSucceeds()" time="0.0041970014572143555">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenNotConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itFails()" time="0.004417061805725098">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_subscribeForRawEvents_whenItReceivesMalformedLocationMessageData_itCallsDidFailOnSubscriberDelegate_withInvalidMessageError()" time="0.012536048889160156">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_subscribeForRawEvents_whenItReceivesNonStringLocationMessageData_itCallsDidFailOnSubscriberDelegate_withInvalidMessageError()" time="0.009827971458435059">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_addSubsystem-causesLoggedMessagesToIncludeSubsystemName()" time="0.003842949867248535">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_init_withNilLogHandler_returnsNil()" time="0.004897952079772949">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_logMessage_withNonNilCodeLocation_includesLastPathComponentOfFileAndIncludesLineNumber()" time="0.0025339126586914062">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_sanitizesSquareBracketsInSubsystemNames()" time="0.0030249357223510742">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_tagMessage_addsSubsystemInformationToMessage()" time="0.0027390718460083008">
        </testcase>
        <testcase classname="InternalLogHandlerTests" name="test_protocolExtension_logMessage_defaultArguments_populatesFileAndLine()" time="0.009904980659484863">
        </testcase>
        <testcase classname="LegacyWorkerTests" name="test_doWorkShouldCallPassedInWorkCallbackAndReturnProperties()" time="0.004723072052001953">
        </testcase>
        <testcase classname="PresenceDataTests" name="testDeserializationFailure()" time="0.0031480789184570312">
        </testcase>
        <testcase classname="PresenceDataTests" name="testDeserializationPublisher()" time="0.004315018653869629">
        </testcase>
        <testcase classname="PresenceDataTests" name="testDeserializationSubscriber()" time="0.0028690099716186523">
        </testcase>
        <testcase classname="PresenceDataTests" name="testSerializationPublisher()" time="0.0020009279251098633">
        </testcase>
        <testcase classname="PresenceDataTests" name="testSerializationSubscriber()" time="0.0016640424728393555">
        </testcase>
        <testcase classname="UtilsTests" name="testARTErrorInfoHrefIsMappedProperlyToErrorInformationHref()" time="0.0022869110107421875">
        </testcase>
        <testcase classname="WorkerQueueTests" name="test_queueCallsWorkersUnexpectedAsyncErrorMethodWhenAnErrorIsThrownByWorkersAsyncWork()" time="0.004091978073120117">
        </testcase>
        <testcase classname="WorkerQueueTests" name="test_queueCallsWorkersUnexpectedErrorMethodWhenAnErrorIsThrownByWorkersDoWorkMethod()" time="0.0025949478149414062">
        </testcase>
        <testcase classname="WorkerQueueTests" name="test_queueShouldCallWorkersDoWorkMethod()" time="0.0027010440826416016">
        </testcase>
        <testcase classname="WorkerQueueTests" name="test_stoppedQueueShouldCallWorkersOnStoppedMethod()" time="0.11189901828765869">
        </testcase>
    </testsuite>
    <testsuite name="PublisherTests" tests="83" failures="0" skipped="0" time="8.367091178894043">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="DefaultPublisherTests" name="test_closeConnection_failure()" time="0.013985991477966309">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="test_closeConnection_success()" time="0.0021229982376098633">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="test_trackCalledMultipleTimes_shouldPass()" time="0.01323997974395752">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_error_thread()" time="0.00276792049407959">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_success()" time="0.0021300315856933594">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_success_thread()" time="0.0036280155181884766">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_track_error()" time="0.009946942329406738">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_track_success()" time="0.005263924598693848">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_whenTrackableWithSameIdIsCurrentlyBeingAdded_itWaitsForTheFirstAddToComplete_andWhenTheFirstAddFails_theSecondAddFailsWithTheSameError()" time="0.004445075988769531">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_whenTrackableWithSameIdIsCurrentlyBeingAdded_itWaitsForTheFirstAddToComplete_andWhenTheFirstAddSucceeds_theSecondAddSucceedsToo()" time="0.0042580366134643555">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testChangeRoutingProfile_withActiveTrackableWithDestination_callsGetRouteOnRouteProvider_andWhenThatSucceeds_itUpdatesRoutingProfile_andCallsCallbackWithSuccess()" time="0.007607936859130859">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testChangeRoutingProfile_withActiveTrackableWithoutDestination_updatesRoutingProfile_andCallsCallbackWithSuccess()" time="0.0030289888381958008">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testChangeRoutingProfile_withNoActiveTrackable_updatesRoutingProfile_andCallsCallbackWithSuccess()" time="0.0021619796752929688">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultSkippedLocationsStateAddAndRemove()" time="0.0019190311431884766">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultSkippedLocationsStateCapacityOverflow()" time="0.0016609430313110352">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultSkippedLocationsStateClearAll()" time="0.0018820762634277344">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStatePending()" time="0.0018819570541381836">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStateRemove()" time="0.002290010452270508">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStateRetry()" time="0.0017169713973999023">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStateWaiting()" time="0.0015230178833007812">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_activeTrackable()" time="0.005077958106994629">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_error()" time="0.0020509958267211914">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_error_thread()" time="0.0021209716796875">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_nonActiveTrackable()" time="0.02137303352355957">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_success()" time="0.014698028564453125">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_success_thread()" time="0.007423043251037598">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testStopEventCauseImpossibilityOfEnqueueOtherEvents()" time="0.01614093780517578">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_destination()" time="0.0037049055099487305">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_error_ably_service_error()" time="0.003504037857055664">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_failureMainThread()" time="0.0028649568557739258">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_success()" time="0.002907991409301758">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_successMainThread()" time="0.0029369592666625977">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_trackableAddedEarlier()" time="0.0037488937377929688">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_addFirstTrackable_callsStartRecordingLocationOnLocationService()" time="0.004750967025756836">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_addSecondTrackable_doesNotCallStartRecordingLocationOnLocationService()" time="0.004150986671447754">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_stop_callsStopRecordingLocationOnLocationService_andWhenThatDoesNotReturnALocationRecordingResult_itDoesNotCallDidFinishRecordingLocationHistoryDataOnDelegate_andDoesNotCallDidFinishRecordingRawMapboxDataOnDelegate_butStillSuccessfullyStops()" time="0.0026999711990356445">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_stop_callsStopRecordingLocationOnLocationService_andWhenThatFails_itDoesNotCallDidFinishRecordingLocationHistoryDataOnDelegate_andDoesNotCallDidFinishRecordingRawMapboxDataOnDelegate_butStillSuccessfullyStops()" time="0.0032750368118286133">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_stop_callsStopRecordingLocationOnLocationService_andWhenThatReturnsALocationRecordingResult_itCallsDidFinishRecordingLocationHistoryDataOnDelegate_andCallsDidFinishRecordingRawMapboxDataOnDelegate_andSuccessfullyStops()" time="0.006718993186950684">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testLocationService_didFailWithError()" time="0.0034160614013671875">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testLocationService_didUpdateEnhancedLocation()" time="0.0050809383392333984">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testLocationService_didUpdateEnhancedLocation_resolution()" time="2.0064679384231567">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testPublisherSendEnhancedLocationWillAddToWaitingQueuePendingMessage()" time="0.0026700496673583984">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testPublisherWillAttachSkippedLocationsToNextRequest()" time="0.0034580230712890625">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testPublisherWillRetryOnFailureOnSendEnhancedLocationUpdate()" time="0.002357959747314453">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testShouldNotSendRawMessageIfTheyAreDisabled()" time="5.011762022972107">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testShouldSendRawMessageIfTheyAreEnabled()" time="0.003564000129699707">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_batteryMultiplier()" time="0.0016410350799560547">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_constrained_multipleRemoteResolutions()" time="0.0028220415115356445">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_constrained_multipleRemoteResolutions_battery()" time="0.0015429258346557617">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_multipleRemoteResolutions()" time="0.001508951187133789">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_noRemoteRequests()" time="0.0012860298156738281">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_oneRemoteResolution()" time="0.0014830827713012695">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_withConstraints_noRemoteRequests()" time="0.0016460418701171875">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_farWithoutSubscriber()" time="0.001501917839050293">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_farWithSubscriber()" time="0.0012589693069458008">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_nearWithoutSubscriber()" time="0.0021820068359375">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_nearWithSubscriber()" time="0.0012799501419067383">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_finishAddingTrackableWithId_removesSavedDuplicateAddCompletionHandlers()" time="1.0025099515914917">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_finishAddingTrackableWithId_whenSaveDuplicateAddCompletionHandlerHasBeenCalled_callsDuplicateCompletionHandlers()" time="0.001878976821899414">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_isCurrentlyAddingTrackableWithId_when_startAddingTrackableHasBeenCalled_andThenFinishAddingTrackableHasBeenCalled_returnsFalse()" time="0.0011900663375854492">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_isCurrentlyAddingTrackableWithId_when_startAddingTrackableHasBeenCalled_returnsTrue()" time="0.0011889934539794922">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testAgents()" time="0.001434922218322754">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testDecodable_decodesTestResource_version1_validAndroid()" time="0.008847951889038086">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testDecodable_decodesTestResource_version2_valid2_0_0()" time="0.0035600662231445312">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testDecodable_withMajorVersionGreaterThan2_throwsUnsupportedVersionError()" time="0.002781987190246582">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testEncodable_encodesAgents()" time="0.001938939094543457">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testEncodable_encodesVersionAsSemanticVersionString()" time="0.0013009309768676758">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testVersionAlwaysReturns1()" time="0.029811978340148926">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_forwardsValidLocation()" time="0.001692056655883789">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_sanitizesRepairableLocation()" time="0.0016480684280395508">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_suppressesEnhancedLocationUpdateWithInvalidAltitude()" time="0.0023789405822753906">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_suppressesEnhancedLocationUpdateWithInvalidLatitude()" time="0.0013409852981567383">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_suppressesEnhancedLocationUpdateWithInvalidLongitude()" time="0.029372096061706543">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_suppressesEnhancedLocationUpdateWithInvalidTimestamp()" time="0.0016460418701171875">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_forwardsValidLocation()" time="0.0015538930892944336">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_sanitizesRepairableLocation()" time="0.0013349056243896484">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_suppressesRawLocationUpdateWithInvalidAltitude()" time="0.0014339685440063477">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_suppressesRawLocationUpdateWithInvalidLatitude()" time="0.001922011375427246">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_suppressesRawLocationUpdateWithInvalidLongitude()" time="0.0014389753341674805">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_suppressesRawLocationUpdateWithInvalidTimestamp()" time="0.0015090703964233398">
        </testcase>
        <testcase classname="PublisherWorkerFactoryTests" name="test_ItBuildsLegacyWork()" time="0.0016980171203613281">
        </testcase>
        <testcase classname="TemporaryFileTests" name="testDeinit_removesFile()" time="0.00501096248626709">
        </testcase>
        <testcase classname="TemporaryFileTests" name="testStayAlive_doesntRemoveFileWhilstExecutingAction()" time="0.002125978469848633">
        </testcase>
    </testsuite>
    <testsuite name="SubscriberTests" tests="19" failures="0" skipped="0" time="1.6171931028366089">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_failure()" time="0.011001110076904297">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_paramsCheck_resolutionIsNil()" time="0.0018529891967773438">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_paramsCheck_resolutionIsNotNil()" time="0.002574920654296875">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_success()" time="0.0016640424728393555">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberReturnsError_afterStopped()" time="0.0025850534439086914">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStart_called()" time="0.0018069744110107422">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStart_failure()" time="0.002138972282409668">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStart_success()" time="0.0017980337142944336">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_afterStopped()" time="0.0020560026168823242">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_called()" time="0.0016459226608276367">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_failure()" time="0.0016050338745117188">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_success()" time="0.001629948616027832">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItHasAlreadyEmittedAFailedConnectionStatus_andItThenReceivesAConnectionStatusThatWouldMakeItOnline_itDoesNotEmitAnyMoreConnectionStatus()" time="0.534371018409729">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherAbsentPresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentFalse()" time="0.0029420852661132812">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherEnterPresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentTrue()" time="0.001703023910522461">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherLeavePresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentFalse()" time="0.0017080307006835938">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherPresentPresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentTrue()" time="0.0017120838165283203">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenSubscriberReceivesInvalidMessageErrorFromAblySubscriber_itEmitsAFailedConnectionStatus_andCallsDisconnectOnAblySubscriber()" time="1.0385159254074097">
        </testcase>
        <testcase classname="SubscriberWorkerFactoryTests" name="test_ItBuildsLegacyWork()" time="0.0038819313049316406">
        </testcase>
    </testsuite>
    <testsuite name="SystemTests" tests="32" failures="0" skipped="0" time="68.2924336194992">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="ChannelModesTests" name="testShouldCreateOnlyOnePublisherAndOneSubscriberConnection()" time="6.734701037406921">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_NullTransportFault()" time="0.49233198165893555">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_NullApplicationLayerFault()" time="0.7020729780197144">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_TcpConnectionRefused()" time="0.07368195056915283">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_TcpConnectionUnresponsive()" time="0.05480492115020752">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_AttachUnresponsive()" time="0.5466489791870117">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_DetachUnresponsive()" time="0.5906559228897095">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_DisconnectWithFailedResume()" time="0.5868700742721558">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_EnterFailedWithNonfatalNack()" time="0.7353370189666748">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_UpdateFailedWithNonfatalNack()" time="0.5429879426956177">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_DisconnectAndSuspend()" time="0.036900997161865234">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_ReenterOnResumeFailed()" time="0.5867210626602173">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="test_SDKTestProxyClient_EnterUnresponsive()" time="0.6893030405044556">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberNotReceivesAssetConnectionStatus()" time="5.032281994819641">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesAssetConnectionStatusWithBicycleProfile()" time="0.9388389587402344">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesAssetConnectionStatusWithCarProfile()" time="0.9580589532852173">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesPublisherMessageWithBicycleProfile()" time="16.9475200176239">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesPublisherMessageWithCarProfile()" time="16.89321994781494">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisher_usingTokenAuth_addTrackable_whenEnterPresenceGivesCapabilityError_reauthorizesAblyAndEntersPresenceWithNewToken()" time="0.806879997253418">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithApiKey()" time="0.8551470041275024">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithJWT()" time="1.2493469715118408">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithTokenDetails()" time="1.413465976715088">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithTokenRequest()" time="0.9507689476013184">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithTokenString()" time="1.0677690505981445">
        </testcase>
        <testcase classname="PublisherSystemTests" name="test_addTrackable_thenRemoveIt_thenAddAnotherTrackableWithSameId()" time="0.9466519355773926">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriber_usingTokenAuth_start_whenEnterPresenceGivesCapabilityError_reauthorizesAblyAndEntersPresenceWithNewToken()" time="1.5959110260009766">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithApiKey()" time="0.8286960124969482">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithJWT()" time="1.3137489557266235">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithTokenDetails()" time="0.9636719226837158">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithTokenRequest()" time="1.0253770351409912">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithTokenString()" time="1.0158870220184326">
        </testcase>
        <testcase classname="SubscriberSystemTests" name="test_whenSubscriberReceivesMalformedMessageDataFromAbly_itEmitsAFailedConnectionStatus()" time="1.1161739826202393">
        </testcase>
    </testsuite>
    <testsuite name="UITests" tests="12" failures="0" skipped="0" time="0.06364595890045166">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andSomeOfTheDistanceBetweenTheFirstTwoLocationsHasAlreadyBeenAnimated_andTheNextLocationToEmitLiesBetweenTheFirstTwoLocations_itInterpolatesTheRemainderOfTheDistanceBetweenTheFirstTwoLocations_andDoesNotPopAnyLocations()" time="0.010623931884765625">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andSomeOfTheDistanceBetweenTheFirstTwoLocationsHasAlreadyBeenAnimated_andTheNextLocationToEmitLiesBetweenTheSecondAndThirdLocations_itInterpolatesBetweenTheSecondAndThirdLocations_andPopsTheFirstLocation()" time="0.004240989685058594">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andTheNextLocationToEmitLiesBetweenTheFirstTwoLocations_itInterpolatesBetweenTheFirstTwoLocations_andDoesNotPopAnyLocations()" time="0.002987980842590332">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andTheNextLocationToEmitLiesBetweenTheSecondAndThirdLocations_itInterpolatesBetweenTheSecondAndThirdLocations_andPopsTheFirstLocation()" time="0.01572704315185547">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereIsOneLocationAwaitingAnimation_itEmitsThatLocation()" time="0.0036009550094604492">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasNotFiredBefore_andThereAreLocationsAwaitingAnimation_itEmitsTheFirstLocationAwaitingAnimation()" time="0.0038529634475708008">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasNotFiredBefore_andThereAreNoLocationsAwaitingAnimation_itReturnsANoOp()" time="0.0036290884017944336">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenNextLocationUpdatePredictionIsNil_itReturnsANoOp()" time="0.004163026809692383">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenNumberOfLocationsPoppedSinceLastCameraUpdateIsNil_andThereIsAPositionToEmit_itEmitsACameraPositionUpdate()" time="0.0041849613189697266">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenNumberOfLocationsPoppedSinceLastCameraUpdateIsOneLessThanAnimationStepsBetweenCameraUpdates_andThereIsALocationToPop_itEmitsACameraPositionUpdate()" time="0.003236055374145508">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenTheCurrentTimeExceedsTheExpectedNextLocationUpdateByMoreThanIntentionalAnimationDelay_itEmitsTheLastLocationAwaitingAnimation()" time="0.0040090084075927734">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenThePredictedTimeToNextLocationUpdateHasPassed_itJustUsesTheIntentionalAnimationDelay()" time="0.0033899545669555664">
        </testcase>
    </testsuite>
</testsuites>