<testsuites tests="207" failures="19">
    <testsuite name="CoreTests" tests="60" failures="0" skipped="0" time="0.09455692768096924">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_CheckValues()" time="0.005298018455505371">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Latitude_InRange()" time="0.0013229846954345703">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Latitude_OutOfRange_Above()" time="0.004534006118774414">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Latitude_OutOfRange_Below()" time="0.0015310049057006836">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Longitude_InRange()" time="0.0012440681457519531">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Longitude_OutOfRange_Above()" time="0.001217961311340332">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Longitude_OutOfRange_Below()" time="0.0011669397354125977">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryCoding()" time="0.0028510093688964844">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidCoordinatesCount_EmptyArray()" time="0.0012450218200683594">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidCoordinatesCount_ToLittle()" time="0.0014029741287231445">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidCoordinatesCount_TooMuch()" time="0.001168966293334961">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLatitude_AboveRange()" time="0.001352071762084961">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLatitude_BelowRange()" time="0.0020219087600708008">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLongitude_AboveRange()" time="0.0013259649276733398">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLongitude_BelowRange()" time="0.0011829137802124023">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_ValidCoordinatesCount()" time="0.0010900497436523438">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_ValidLatitude()" time="0.0012530088424682617">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_ValidLongitude()" time="0.0011390447616577148">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testEncodedJSON()" time="0.002041935920715332">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_InvalidJson()" time="0.0015799999237060547">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_Type()" time="0.001168966293334961">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_ValidJson()" time="0.0011539459228515625">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_ValidJson_CheckValues()" time="0.0011970996856689453">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidBearingAccuracy()" time="0.0013189315795898438">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidBearing()" time="0.0013840198516845703">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidHorizontalAccuracy_LessThanZero()" time="0.0030260086059570312">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidSpeedAccuracy()" time="0.0010950565338134766">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidSpeed()" time="0.0010520219802856445">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidVerticalAccuracy()" time="0.0012140274047851562">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_Timestamp()" time="0.001177072525024414">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidBearingAccuracy()" time="0.0011260509490966797">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidBearing()" time="0.0011439323425292969">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidHorizontalAccuracy_CheckValue()" time="0.0016080141067504883">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidHorizontalAccuracy_EqualZero()" time="0.0018540620803833008">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidHorizontalAccuracy()" time="0.001413106918334961">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidSpeedAccuracy()" time="0.001320958137512207">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidSpeed()" time="0.001431107521057129">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidVerticalAccuracy()" time="0.0011200904846191406">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidBearing_LessThanZero()" time="0.002568960189819336">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidBearingAccuracy_LessThanZero()" time="0.001587986946105957">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidHorizontalAccuracy_LessThanZero()" time="0.0012170076370239258">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidSpeed_LessThanZero()" time="0.0012840032577514648">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidSpeedAccuracy_LessThanZero()" time="0.0014399290084838867">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidVerticalAccuracy_LessThanZero()" time="0.0012450218200683594">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_Timestamp()" time="0.0012270212173461914">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidBearingAccuracy()" time="0.0012540817260742188">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidBearing()" time="0.0011969804763793945">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidHorizontalAccuracy_EqualZero()" time="0.0012580156326293945">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidHorizontalAccuracy_MoreThanZero()" time="0.001223921775817871">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidSpeedAccuracy()" time="0.0012569427490234375">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidSpeed()" time="0.001477956771850586">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidVerticalAccuracy()" time="0.0013359785079956055">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJsonCoding()" time="0.0016800165176391602">
        </testcase>
        <testcase classname="GeoJsonMessageCLLocationTests" name="testGeoJsonMessageFromCLLocation_CheckValues()" time="0.0014159679412841797">
        </testcase>
        <testcase classname="GeoJsonMessageCLLocationTests" name="testGeoJsonMessageFromCLLocation_InvalidLocation()" time="0.001332998275756836">
        </testcase>
        <testcase classname="GeoJsonMessageCLLocationTests" name="testGeoJsonMessageFromCLLocation_ValidLocation()" time="0.0014319419860839844">
        </testcase>
        <testcase classname="TrackableTests" name="test_TrackableComparision_ShouldBeEqual()" time="0.0031529664993286133">
        </testcase>
        <testcase classname="TrackableTests" name="test_TrackablesContainsTrackable_ShouldContain()" time="0.001363992691040039">
        </testcase>
        <testcase classname="TrackableTests" name="test_TrackablesContainsTrackable_ShouldNotContain()" time="0.0027298927307128906">
        </testcase>
        <testcase classname="VersionTest" name="testCurrentVersionIsSetAndSemantic()" time="0.0011010169982910156">
        </testcase>
    </testsuite>
    <testsuite name="InternalTests" tests="27" failures="0" skipped="0" time="0.07312822341918945">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="ConnectionConfigurationTests" name="test_getClientOptions_populatesClientId()" time="0.005721092224121094">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testBasicAuthenticationConstructor()" time="0.0018879175186157227">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testRemainPresentForMillisecondsPassesToAblySDK()" time="0.0023369789123535156">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testTokenAuthenticationPassesTokenStringToAblySdk()" time="0.0019240379333496094">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testTokenAuthenticationReturningTokenDetailsPassesItToAblySDK()" time="0.002611994743347168">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testTokenAuthenticationReturningTokenRequestPassedItToAblySDK()" time="0.001345992088317871">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenChannelIsInDetachedState_itAttachesToTheChannelBeforeCallingPresenceEnter()" time="0.00338900089263916">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenChannelIsInFailedState_itAttachesToTheChannelBeforeCallingPresenceEnter()" time="0.0016689300537109375">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeFails_itFails()" time="0.005755066871643066">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeSucceeds_itAttachesToTheChannel_andWhenAttachFails_itFails()" time="0.001629948616027832">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeSucceeds_itAttachesToTheChannel_andWhenAttachSucceeds_itRetriesPresenceEnter_andWhenTheSecondCallToPresenceEnterFails_itFails()" time="0.0015910863876342773">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeSucceeds_itAttachesToTheChannel_andWhenAttachSucceeds_itRetriesPresenceEnter_andWhenTheSecondCallToPresenceEnterSucceeds_itSucceeds()" time="0.002084016799926758">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorUnrelatedToCapabilities_itFails()" time="0.0014330148696899414">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterSucceeds_itSucceeds()" time="0.002250075340270996">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenNotConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itFails()" time="0.001582026481628418">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_subscribeForRawEvents_whenItReceivesMalformedLocationMessageData_itCallsDidFailOnSubscriberDelegate_withInvalidMessageError()" time="0.0031360387802124023">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_subscribeForRawEvents_whenItReceivesNonStringLocationMessageData_itCallsDidFailOnSubscriberDelegate_withInvalidMessageError()" time="0.0024399757385253906">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_addSubsystem-causesLoggedMessagesToIncludeSubsystemName()" time="0.0015559196472167969">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_init_withNilLogHandler_returnsNil()" time="0.0021359920501708984">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_logMessage_withNonNilCodeLocation_includesLastPathComponentOfFileAndIncludesLineNumber()" time="0.0010930299758911133">
        </testcase>
        <testcase classname="InternalLogHandlerTests" name="test_protocolExtension_logMessage_defaultArguments_populatesFileAndLine()" time="0.0021649599075317383">
        </testcase>
        <testcase classname="PresenceDataTests" name="testDeserializationFailure()" time="0.0077190399169921875">
        </testcase>
        <testcase classname="PresenceDataTests" name="testDeserializationPublisher()" time="0.0026940107345581055">
        </testcase>
        <testcase classname="PresenceDataTests" name="testDeserializationSubscriber()" time="0.0016030073165893555">
        </testcase>
        <testcase classname="PresenceDataTests" name="testSerializationPublisher()" time="0.008898019790649414">
        </testcase>
        <testcase classname="PresenceDataTests" name="testSerializationSubscriber()" time="0.0012440681457519531">
        </testcase>
        <testcase classname="UtilsTests" name="testARTErrorInfoHrefIsMappedProperlyToErrorInformationHref()" time="0.0012329816818237305">
        </testcase>
    </testsuite>
    <testsuite name="PublisherTests" tests="70" failures="0" skipped="0" time="8.30320143699646">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="DefaultPublisherTests" name="test_closeConnection_failure()" time="0.017719030380249023">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="test_closeConnection_success()" time="0.005882978439331055">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="test_trackCalledMultipleTimes_shouldPass()" time="0.006299018859863281">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_error_thread()" time="0.002480030059814453">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_success()" time="0.0028510093688964844">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_success_thread()" time="0.0026930570602416992">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_track_error()" time="0.0024529695510864258">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_track_success()" time="0.005485057830810547">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_whenTrackableWithSameIdIsCurrentlyBeingAdded_itWaitsForTheFirstAddToComplete_andWhenTheFirstAddFails_theSecondAddFailsWithTheSameError()" time="0.007234930992126465">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_whenTrackableWithSameIdIsCurrentlyBeingAdded_itWaitsForTheFirstAddToComplete_andWhenTheFirstAddSucceeds_theSecondAddSucceedsToo()" time="0.011260032653808594">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testChangeRoutingProfile_withActiveTrackableWithDestination_callsGetRouteOnRouteProvider_andWhenThatSucceeds_itUpdatesRoutingProfile_andCallsCallbackWithSuccess()" time="0.008872032165527344">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testChangeRoutingProfile_withActiveTrackableWithoutDestination_updatesRoutingProfile_andCallsCallbackWithSuccess()" time="0.005724072456359863">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testChangeRoutingProfile_withNoActiveTrackable_updatesRoutingProfile_andCallsCallbackWithSuccess()" time="0.003466010093688965">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultSkippedLocationsStateAddAndRemove()" time="0.0036749839782714844">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultSkippedLocationsStateCapacityOverflow()" time="0.0024340152740478516">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultSkippedLocationsStateClearAll()" time="0.002914905548095703">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStatePending()" time="0.0022739171981811523">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStateRemove()" time="0.0028589963912963867">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStateRetry()" time="0.021152973175048828">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStateWaiting()" time="0.00191497802734375">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_activeTrackable()" time="0.008513092994689941">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_error()" time="0.002586960792541504">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_error_thread()" time="0.0018320083618164062">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_nonActiveTrackable()" time="0.004281044006347656">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_success()" time="0.0027170181274414062">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_success_thread()" time="0.0046999454498291016">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testStopEventCauseImpossibilityOfEnqueueOtherEvents()" time="0.004430055618286133">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_destination()" time="0.003522038459777832">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_error_ably_service_error()" time="0.003416895866394043">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_failureMainThread()" time="0.0028510093688964844">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_success()" time="0.0023620128631591797">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_successMainThread()" time="0.0032639503479003906">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_trackableAddedEarlier()" time="0.002557992935180664">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_addFirstTrackable_callsStartRecordingLocationOnLocationService()" time="0.0023059844970703125">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_addSecondTrackable_doesNotCallStartRecordingLocationOnLocationService()" time="0.0026340484619140625">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_stop_callsStopRecordingLocationOnLocationService_andWhenThatDoesNotReturnALocationRecordingResult_itDoesNotCallDidFinishRecordingLocationHistoryDataOnDelegate_andDoesNotCallDidFinishRecordingRawMapboxDataOnDelegate_butStillSuccessfullyStops()" time="0.0026470422744750977">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_stop_callsStopRecordingLocationOnLocationService_andWhenThatFails_itDoesNotCallDidFinishRecordingLocationHistoryDataOnDelegate_andDoesNotCallDidFinishRecordingRawMapboxDataOnDelegate_butStillSuccessfullyStops()" time="0.014199018478393555">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_stop_callsStopRecordingLocationOnLocationService_andWhenThatReturnsALocationRecordingResult_itCallsDidFinishRecordingLocationHistoryDataOnDelegate_andCallsDidFinishRecordingRawMapboxDataOnDelegate_andSuccessfullyStops()" time="0.0038160085678100586">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testLocationService_didFailWithError()" time="0.002762913703918457">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testLocationService_didUpdateEnhancedLocation()" time="0.011787056922912598">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testLocationService_didUpdateEnhancedLocation_resolution()" time="2.018893003463745">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testPublisherSendEnhancedLocationWillAddToWaitingQueuePendingMessage()" time="0.002109050750732422">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testPublisherWillAttachSkippedLocationsToNextRequest()" time="0.0029549598693847656">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testPublisherWillRetryOnFailureOnSendEnhancedLocationUpdate()" time="0.002079010009765625">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testShouldNotSendRawMessageIfTheyAreDisabled()" time="5.003430008888245">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testShouldSendRawMessageIfTheyAreEnabled()" time="0.0023040771484375">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_batteryMultiplier()" time="0.0013979673385620117">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_constrained_multipleRemoteResolutions()" time="0.0011219978332519531">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_constrained_multipleRemoteResolutions_battery()" time="0.0012170076370239258">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_multipleRemoteResolutions()" time="0.001145005226135254">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_noRemoteRequests()" time="0.0010640621185302734">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_oneRemoteResolution()" time="0.006935000419616699">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_withConstraints_noRemoteRequests()" time="0.0010790824890136719">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_farWithoutSubscriber()" time="0.0010870695114135742">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_farWithSubscriber()" time="0.0011870861053466797">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_nearWithoutSubscriber()" time="0.0011630058288574219">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_nearWithSubscriber()" time="0.0011140108108520508">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_finishAddingTrackableWithId_removesSavedDuplicateAddCompletionHandlers()" time="1.0077409744262695">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_finishAddingTrackableWithId_whenSaveDuplicateAddCompletionHandlerHasBeenCalled_callsDuplicateCompletionHandlers()" time="0.0017039775848388672">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_isCurrentlyAddingTrackableWithId_when_startAddingTrackableHasBeenCalled_andThenFinishAddingTrackableHasBeenCalled_returnsFalse()" time="0.0013259649276733398">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_isCurrentlyAddingTrackableWithId_when_startAddingTrackableHasBeenCalled_returnsTrue()" time="0.0010879039764404297">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testAgents()" time="0.003025054931640625">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testDecodable_decodesTestResource_version1_validAndroid()" time="0.010115981101989746">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testDecodable_decodesTestResource_version2_valid2_0_0()" time="0.005177021026611328">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testDecodable_withMajorVersionGreaterThan2_throwsUnsupportedVersionError()" time="0.004884004592895508">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testEncodable_encodesAgents()" time="0.0016560554504394531">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testEncodable_encodesVersionAsSemanticVersionString()" time="0.0012489557266235352">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testVersionAlwaysReturns1()" time="0.0011049509048461914">
        </testcase>
        <testcase classname="TemporaryFileTests" name="testDeinit_removesFile()" time="0.0051000118255615234">
        </testcase>
        <testcase classname="TemporaryFileTests" name="testStayAlive_doesntRemoveFileWhilstExecutingAction()" time="0.0019180774688720703">
        </testcase>
    </testsuite>
    <testsuite name="SubscriberTests" tests="18" failures="0" skipped="0" time="1.5822255611419678">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_failure()" time="0.00830996036529541">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_paramsCheck_resolutionIsNil()" time="0.0018739700317382812">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_paramsCheck_resolutionIsNotNil()" time="0.002331972122192383">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_success()" time="0.0014829635620117188">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberReturnsError_afterStopped()" time="0.002392888069152832">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStart_called()" time="0.0015139579772949219">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStart_failure()" time="0.0017850399017333984">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStart_success()" time="0.0016279220581054688">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_afterStopped()" time="0.0024110078811645508">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_called()" time="0.0016289949417114258">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_failure()" time="0.001654982566833496">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_success()" time="0.0014989376068115234">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItHasAlreadyEmittedAFailedConnectionStatus_andItThenReceivesAConnectionStatusThatWouldMakeItOnline_itDoesNotEmitAnyMoreConnectionStatus()" time="0.5034970045089722">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherAbsentPresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentFalse()" time="0.0021480321884155273">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherEnterPresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentTrue()" time="0.0021570920944213867">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherLeavePresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentFalse()" time="0.003447890281677246">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherPresentPresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentTrue()" time="0.001696944236755371">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenSubscriberReceivesInvalidMessageErrorFromAblySubscriber_itEmitsAFailedConnectionStatus_andCallsDisconnectOnAblySubscriber()" time="1.0407660007476807">
        </testcase>
    </testsuite>
    <testsuite name="SystemTests" tests="20" failures="19" skipped="0" time="317.7278368473053">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="ChannelModesTests" name="testShouldCreateOnlyOnePublisherAndOneSubscriberConnection()" time="17.358217000961304">
            <failure message="Asynchronous wait failed: Exceeded timeout of 10 seconds, with unfulfilled expectations: &quot;Subscriber Did Finish Updating Enhanced Locations&quot;. (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/ChannelModesTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=36&amp;StartingLineNumber=36)">
            </failure>
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberNotReceivesAssetConnectionStatus()" time="5.01242995262146">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesAssetConnectionStatusWithBicycleProfile()" time="15.062931060791016">
            <failure message="Asynchronous wait failed: Exceeded timeout of 5 seconds, with unfulfilled expectations: &quot;Asset Connection Status Did Change To Online&quot;. (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/PublisherSubscriberSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=201&amp;StartingLineNumber=201)">
            </failure>
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesAssetConnectionStatusWithCarProfile()" time="15.045704007148743">
            <failure message="Asynchronous wait failed: Exceeded timeout of 5 seconds, with unfulfilled expectations: &quot;Asset Connection Status Did Change To Online&quot;. (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/PublisherSubscriberSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=201&amp;StartingLineNumber=201)">
            </failure>
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesPublisherMessageWithBicycleProfile()" time="30.045279026031494">
            <failure message="Asynchronous wait failed: Exceeded timeout of 20 seconds, with unfulfilled expectations: &quot;Subscriber Did Finish Updating Enhanced Locations&quot;, &quot;Subscriber Did Finish Updating Raw Locations&quot;, &quot;Subscriber Did Finish Updating Resolution&quot;. (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/PublisherSubscriberSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=101&amp;StartingLineNumber=101)">
            </failure>
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesPublisherMessageWithCarProfile()" time="30.055965900421143">
            <failure message="Asynchronous wait failed: Exceeded timeout of 20 seconds, with unfulfilled expectations: &quot;Subscriber Did Finish Updating Enhanced Locations&quot;, &quot;Subscriber Did Finish Updating Raw Locations&quot;, &quot;Subscriber Did Finish Updating Resolution&quot;. (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/PublisherSubscriberSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=101&amp;StartingLineNumber=101)">
            </failure>
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisher_usingTokenAuth_addTrackable_whenEnterPresenceGivesCapabilityError_reauthorizesAblyAndEntersPresenceWithNewToken()" time="0.42735207080841064">
            <failure message="failed - TokenDetails request failed with error: Error 40131 - Key revoked (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/Utils/AuthHelper.swift#CharacterRangeLen=0&amp;EndingLineNumber=13&amp;StartingLineNumber=13)">
            </failure>
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithApiKey()" time="20.04479491710663">
            <failure message="failed - Publisher failed to track trackable, error: Key revoked. (See https://help.ably.io/error/40131 for help.) (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/PublisherAuthenticationSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=144&amp;StartingLineNumber=144)">
            </failure>
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithJWT()" time="20.76714599132538">
            <failure message="failed - Publisher failed to track trackable, error: Key revoked. (See https://help.ably.io/error/40131 for help.) (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/PublisherAuthenticationSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=144&amp;StartingLineNumber=144)">
            </failure>
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithTokenDetails()" time="10.357416987419128">
            <failure message="failed - TokenDetails request failed with error: Error 40131 - Key revoked (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/Utils/AuthHelper.swift#CharacterRangeLen=0&amp;EndingLineNumber=13&amp;StartingLineNumber=13)">
            </failure>
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithTokenRequest()" time="10.037876963615417">
            <failure message="Asynchronous wait failed: Exceeded timeout of 10 seconds, with unfulfilled expectations: &quot;Publisher.track completes successfully&quot;. (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/PublisherAuthenticationSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=148&amp;StartingLineNumber=148)">
            </failure>
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithTokenString()" time="10.367576003074646">
            <failure message="failed - TokenDetails request failed with error: Error 40131 - Key revoked (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/Utils/AuthHelper.swift#CharacterRangeLen=0&amp;EndingLineNumber=13&amp;StartingLineNumber=13)">
            </failure>
        </testcase>
        <testcase classname="PublisherSystemTests" name="test_addTrackable_thenRemoveIt_thenAddAnotherTrackableWithSameId()" time="20.048589944839478">
            <failure message="failed - First add trackable call failed: Key revoked. (See https://help.ably.io/error/40131 for help.) (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/PublisherSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=23&amp;StartingLineNumber=23)">
            </failure>
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriber_usingTokenAuth_start_whenEnterPresenceGivesCapabilityError_reauthorizesAblyAndEntersPresenceWithNewToken()" time="0.3266890048980713">
            <failure message="failed - TokenDetails request failed with error: Error 40131 - Key revoked (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/Utils/AuthHelper.swift#CharacterRangeLen=0&amp;EndingLineNumber=13&amp;StartingLineNumber=13)">
            </failure>
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithApiKey()" time="20.53998899459839">
            <failure message="failed - Subscriber start failed with error: Key revoked. (See https://help.ably.io/error/40131 for help.) (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/SubscriberAuthenticationSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=125&amp;StartingLineNumber=125)">
            </failure>
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithJWT()" time="21.26600694656372">
            <failure message="failed - Subscriber start failed with error: Key revoked. (See https://help.ably.io/error/40131 for help.) (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/SubscriberAuthenticationSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=125&amp;StartingLineNumber=125)">
            </failure>
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithTokenDetails()" time="20.459282994270325">
            <failure message="failed - TokenDetails request failed with error: Error 40131 - Key revoked (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/Utils/AuthHelper.swift#CharacterRangeLen=0&amp;EndingLineNumber=13&amp;StartingLineNumber=13)">
            </failure>
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithTokenRequest()" time="0.0">
            <failure message="Asynchronous wait failed: Exceeded timeout of 10 seconds, with unfulfilled expectations: &quot;Subscriber start expectation&quot;. (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/SubscriberAuthenticationSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=129&amp;StartingLineNumber=129)">
            </failure>
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithTokenString()" time="20.47017204761505">
            <failure message="failed - TokenDetails request failed with error: Error 40131 - Key revoked (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/Utils/AuthHelper.swift#CharacterRangeLen=0&amp;EndingLineNumber=13&amp;StartingLineNumber=13)">
            </failure>
        </testcase>
        <testcase classname="SubscriberSystemTests" name="test_whenSubscriberReceivesMalformedMessageDataFromAbly_itEmitsAFailedConnectionStatus()" time="30.034417033195496">
            <failure message="failed - Subscriber failed to start: Key revoked. (See https://help.ably.io/error/40131 for help.) (/Users/runner/work/ably-asset-tracking-swift/ably-asset-tracking-swift/Tests/SystemTests/SubscriberSystemTests.swift#CharacterRangeLen=0&amp;EndingLineNumber=19&amp;StartingLineNumber=19)">
            </failure>
        </testcase>
    </testsuite>
    <testsuite name="UITests" tests="12" failures="0" skipped="0" time="0.025241971015930176">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andSomeOfTheDistanceBetweenTheFirstTwoLocationsHasAlreadyBeenAnimated_andTheNextLocationToEmitLiesBetweenTheFirstTwoLocations_itInterpolatesTheRemainderOfTheDistanceBetweenTheFirstTwoLocations_andDoesNotPopAnyLocations()" time="0.008737921714782715">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andSomeOfTheDistanceBetweenTheFirstTwoLocationsHasAlreadyBeenAnimated_andTheNextLocationToEmitLiesBetweenTheSecondAndThirdLocations_itInterpolatesBetweenTheSecondAndThirdLocations_andPopsTheFirstLocation()" time="0.001649022102355957">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andTheNextLocationToEmitLiesBetweenTheFirstTwoLocations_itInterpolatesBetweenTheFirstTwoLocations_andDoesNotPopAnyLocations()" time="0.0019110441207885742">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andTheNextLocationToEmitLiesBetweenTheSecondAndThirdLocations_itInterpolatesBetweenTheSecondAndThirdLocations_andPopsTheFirstLocation()" time="0.0014319419860839844">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereIsOneLocationAwaitingAnimation_itEmitsThatLocation()" time="0.001789093017578125">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasNotFiredBefore_andThereAreLocationsAwaitingAnimation_itEmitsTheFirstLocationAwaitingAnimation()" time="0.001376032829284668">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasNotFiredBefore_andThereAreNoLocationsAwaitingAnimation_itReturnsANoOp()" time="0.0010820627212524414">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenNextLocationUpdatePredictionIsNil_itReturnsANoOp()" time="0.0010639429092407227">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenNumberOfLocationsPoppedSinceLastCameraUpdateIsNil_andThereIsAPositionToEmit_itEmitsACameraPositionUpdate()" time="0.001201033592224121">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenNumberOfLocationsPoppedSinceLastCameraUpdateIsOneLessThanAnimationStepsBetweenCameraUpdates_andThereIsALocationToPop_itEmitsACameraPositionUpdate()" time="0.0022859573364257812">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenTheCurrentTimeExceedsTheExpectedNextLocationUpdateByMoreThanIntentionalAnimationDelay_itEmitsTheLastLocationAwaitingAnimation()" time="0.0012459754943847656">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenThePredictedTimeToNextLocationUpdateHasPassed_itJustUsesTheIntentionalAnimationDelay()" time="0.0014679431915283203">
        </testcase>
    </testsuite>
</testsuites>