<testsuites tests="227" failures="0">
    <testsuite name="CoreTests" tests="60" failures="0" skipped="0" time="0.4893573522567749">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_CheckValues()" time="0.008108019828796387">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Latitude_InRange()" time="0.0022170543670654297">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Latitude_OutOfRange_Above()" time="0.0057070255279541016">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Latitude_OutOfRange_Below()" time="0.04072999954223633">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Longitude_InRange()" time="0.010321974754333496">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Longitude_OutOfRange_Above()" time="0.004105925559997559">
        </testcase>
        <testcase classname="GeoJSONGeometryCLLocationTests" name="testGeoJsonGeometryFromLocation_Longitude_OutOfRange_Below()" time="0.004441976547241211">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryCoding()" time="0.008157014846801758">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidCoordinatesCount_EmptyArray()" time="0.011024951934814453">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidCoordinatesCount_ToLittle()" time="0.009693026542663574">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidCoordinatesCount_TooMuch()" time="0.010879039764404297">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLatitude_AboveRange()" time="0.005421042442321777">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLatitude_BelowRange()" time="0.0056610107421875">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLongitude_AboveRange()" time="0.006515979766845703">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_InvalidLongitude_BelowRange()" time="0.006124019622802734">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_ValidCoordinatesCount()" time="0.036360979080200195">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_ValidLatitude()" time="0.003618001937866211">
        </testcase>
        <testcase classname="GeoJSONGeometryCodableTests" name="testGeoJsonGeometryFromJson_ValidLongitude()" time="0.003738999366760254">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testEncodedJSON()" time="0.006587982177734375">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_InvalidJson()" time="0.0048400163650512695">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_Type()" time="0.004377961158752441">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_ValidJson()" time="0.004290938377380371">
        </testcase>
        <testcase classname="GeoJSONMessageCodableTests" name="testGeoJsonMessageFromJson_ValidJson_CheckValues()" time="0.002084016799926758">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidBearingAccuracy()" time="0.0049250125885009766">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidBearing()" time="0.00338900089263916">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidHorizontalAccuracy_LessThanZero()" time="0.0032269954681396484">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidSpeedAccuracy()" time="0.0032039880752563477">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidSpeed()" time="0.0035300254821777344">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_InvalidVerticalAccuracy()" time="0.006960034370422363">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_Timestamp()" time="0.0026210546493530273">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidBearingAccuracy()" time="0.002528071403503418">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidBearing()" time="0.004231929779052734">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidHorizontalAccuracy_CheckValue()" time="0.003085017204284668">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidHorizontalAccuracy_EqualZero()" time="0.002048969268798828">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidHorizontalAccuracy()" time="0.0014309883117675781">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidSpeedAccuracy()" time="0.0030679702758789062">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidSpeed()" time="0.004470944404602051">
        </testcase>
        <testcase classname="GeoJSONPropertiesCLLocationTests" name="testGeoJsonPropertiesFromCLLocation_ValidVerticalAccuracy()" time="0.007801055908203125">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidBearing_LessThanZero()" time="0.003874063491821289">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidBearingAccuracy_LessThanZero()" time="0.002376079559326172">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidHorizontalAccuracy_LessThanZero()" time="0.0027359724044799805">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidSpeed_LessThanZero()" time="0.0034409761428833008">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidSpeedAccuracy_LessThanZero()" time="0.0023620128631591797">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_InvalidVerticalAccuracy_LessThanZero()" time="0.002207040786743164">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_Timestamp()" time="0.0025510787963867188">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidBearingAccuracy()" time="0.0021560192108154297">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidBearing()" time="0.0025850534439086914">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidHorizontalAccuracy_EqualZero()" time="0.002866029739379883">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidHorizontalAccuracy_MoreThanZero()" time="0.005489945411682129">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidSpeedAccuracy()" time="0.0038590431213378906">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidSpeed()" time="0.004634976387023926">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJson_ValidVerticalAccuracy()" time="0.0022649765014648438">
        </testcase>
        <testcase classname="GeoJSONPropertiesCodableTests" name="testGeoJsonPropertiesFromJsonCoding()" time="0.0026410818099975586">
        </testcase>
        <testcase classname="GeoJsonMessageCLLocationTests" name="testGeoJsonMessageFromCLLocation_CheckValues()" time="0.002568960189819336">
        </testcase>
        <testcase classname="GeoJsonMessageCLLocationTests" name="testGeoJsonMessageFromCLLocation_InvalidLocation()" time="0.0022890567779541016">
        </testcase>
        <testcase classname="GeoJsonMessageCLLocationTests" name="testGeoJsonMessageFromCLLocation_ValidLocation()" time="0.002550959587097168">
        </testcase>
        <testcase classname="TrackableTests" name="test_TrackableComparision_ShouldBeEqual()" time="0.0071010589599609375">
        </testcase>
        <testcase classname="TrackableTests" name="test_TrackablesContainsTrackable_ShouldContain()" time="0.002095937728881836">
        </testcase>
        <testcase classname="TrackableTests" name="test_TrackablesContainsTrackable_ShouldNotContain()" time="0.0018450021743774414">
        </testcase>
        <testcase classname="VersionTest" name="testCurrentVersionIsSetAndSemantic()" time="0.16333401203155518">
        </testcase>
    </testsuite>
    <testsuite name="InternalTests" tests="32" failures="0" skipped="0" time="0.2239922285079956">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="ConnectionConfigurationTests" name="test_getClientOptions_populatesClientId()" time="0.007650971412658691">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testBasicAuthenticationConstructor()" time="0.005611896514892578">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testRemainPresentForMillisecondsPassesToAblySDK()" time="0.0045239925384521484">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testTokenAuthenticationPassesTokenStringToAblySdk()" time="0.005553007125854492">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testTokenAuthenticationReturningTokenDetailsPassesItToAblySDK()" time="0.00680696964263916">
        </testcase>
        <testcase classname="ConnectionConfigurationTests" name="testTokenAuthenticationReturningTokenRequestPassedItToAblySDK()" time="0.005983948707580566">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenChannelIsInDetachedState_itAttachesToTheChannelBeforeCallingPresenceEnter()" time="0.010830998420715332">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenChannelIsInFailedState_itAttachesToTheChannelBeforeCallingPresenceEnter()" time="0.005383014678955078">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeFails_itFails()" time="0.006388068199157715">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeSucceeds_itAttachesToTheChannel_andWhenAttachFails_itFails()" time="0.004098057746887207">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeSucceeds_itAttachesToTheChannel_andWhenAttachSucceeds_itRetriesPresenceEnter_andWhenTheSecondCallToPresenceEnterFails_itFails()" time="0.0046759843826293945">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itCallsAuthorize_andWhenAuthorizeSucceeds_itAttachesToTheChannel_andWhenAttachSucceeds_itRetriesPresenceEnter_andWhenTheSecondCallToPresenceEnterSucceeds_itSucceeds()" time="0.0035250186920166016">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterFails_withAnErrorUnrelatedToCapabilities_itFails()" time="0.005771994590759277">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenConfiguredToUseToken_whenPresenceEnterSucceeds_itSucceeds()" time="0.005155086517333984">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_connect_whenNotConfiguredToUseToken_whenPresenceEnterFails_withAnErrorRelatedToCapabilities_itFails()" time="0.004819989204406738">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_subscribeForRawEvents_whenItReceivesMalformedLocationMessageData_itCallsDidFailOnSubscriberDelegate_withInvalidMessageError()" time="0.007819056510925293">
        </testcase>
        <testcase classname="DefaultAblyTests" name="test_subscribeForRawEvents_whenItReceivesNonStringLocationMessageData_itCallsDidFailOnSubscriberDelegate_withInvalidMessageError()" time="0.007828950881958008">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_addSubsystem-causesLoggedMessagesToIncludeSubsystemName()" time="0.004185080528259277">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_init_withNilLogHandler_returnsNil()" time="0.003473043441772461">
        </testcase>
        <testcase classname="DefaultInternalLogHandlerTests" name="test_logMessage_withNonNilCodeLocation_includesLastPathComponentOfFileAndIncludesLineNumber()" time="0.004160046577453613">
        </testcase>
        <testcase classname="InternalLogHandlerTests" name="test_protocolExtension_logMessage_defaultArguments_populatesFileAndLine()" time="0.01967799663543701">
        </testcase>
        <testcase classname="LegacyWorkerTests" name="test_doWorkShouldCallPassedInWorkCallbackAndReturnProperties()" time="0.018486976623535156">
        </testcase>
        <testcase classname="PresenceDataTests" name="testDeserializationFailure()" time="0.017496943473815918">
        </testcase>
        <testcase classname="PresenceDataTests" name="testDeserializationPublisher()" time="0.005952954292297363">
        </testcase>
        <testcase classname="PresenceDataTests" name="testDeserializationSubscriber()" time="0.008838057518005371">
        </testcase>
        <testcase classname="PresenceDataTests" name="testSerializationPublisher()" time="0.004233002662658691">
        </testcase>
        <testcase classname="PresenceDataTests" name="testSerializationSubscriber()" time="0.0033620595932006836">
        </testcase>
        <testcase classname="UtilsTests" name="testARTErrorInfoHrefIsMappedProperlyToErrorInformationHref()" time="0.005060076713562012">
        </testcase>
        <testcase classname="WorkerQueueTests" name="test_queueCallsWorkersUnexpectedAsyncErrorMethodWhenAnErrorIsThrownByWorkersAsyncWork()" time="0.007354021072387695">
        </testcase>
        <testcase classname="WorkerQueueTests" name="test_queueCallsWorkersUnexpectedErrorMethodWhenAnErrorIsThrownByWorkersDoWorkMethod()" time="0.008602023124694824">
        </testcase>
        <testcase classname="WorkerQueueTests" name="test_queueShouldCallWorkersDoWorkMethod()" time="0.006382942199707031">
        </testcase>
        <testcase classname="WorkerQueueTests" name="test_stoppedQueueShouldCallWorkersOnStoppedMethod()" time="0.0042999982833862305">
        </testcase>
    </testsuite>
    <testsuite name="PublisherTests" tests="83" failures="0" skipped="0" time="8.44130265712738">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="DefaultPublisherTests" name="test_closeConnection_failure()" time="0.010596036911010742">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="test_closeConnection_success()" time="0.003077983856201172">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="test_trackCalledMultipleTimes_shouldPass()" time="0.013267993927001953">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_error_thread()" time="0.0024830102920532227">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_success()" time="0.0021549463272094727">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_success_thread()" time="0.002333998680114746">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_track_error()" time="0.0018639564514160156">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_track_success()" time="0.0025409460067749023">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_whenTrackableWithSameIdIsCurrentlyBeingAdded_itWaitsForTheFirstAddToComplete_andWhenTheFirstAddFails_theSecondAddFailsWithTheSameError()" time="0.0031080245971679688">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testAdd_whenTrackableWithSameIdIsCurrentlyBeingAdded_itWaitsForTheFirstAddToComplete_andWhenTheFirstAddSucceeds_theSecondAddSucceedsToo()" time="0.002501964569091797">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testChangeRoutingProfile_withActiveTrackableWithDestination_callsGetRouteOnRouteProvider_andWhenThatSucceeds_itUpdatesRoutingProfile_andCallsCallbackWithSuccess()" time="0.008036971092224121">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testChangeRoutingProfile_withActiveTrackableWithoutDestination_updatesRoutingProfile_andCallsCallbackWithSuccess()" time="0.003981947898864746">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testChangeRoutingProfile_withNoActiveTrackable_updatesRoutingProfile_andCallsCallbackWithSuccess()" time="0.002025008201599121">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultSkippedLocationsStateAddAndRemove()" time="0.0016260147094726562">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultSkippedLocationsStateCapacityOverflow()" time="0.0016349554061889648">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultSkippedLocationsStateClearAll()" time="0.001744985580444336">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStatePending()" time="0.0019379854202270508">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStateRemove()" time="0.001958012580871582">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStateRetry()" time="0.001298069953918457">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testDefaultTrackableStateWaiting()" time="0.0014870166778564453">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_activeTrackable()" time="0.00501406192779541">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_error()" time="0.0021840333938598633">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_error_thread()" time="0.0020989179611206055">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_nonActiveTrackable()" time="0.002871990203857422">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_success()" time="0.005409955978393555">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testRemove_success_thread()" time="0.004104971885681152">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testStopEventCauseImpossibilityOfEnqueueOtherEvents()" time="0.05032503604888916">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_destination()" time="0.007660031318664551">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_error_ably_service_error()" time="0.012137055397033691">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_failureMainThread()" time="0.012713074684143066">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_success()" time="0.012863993644714355">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_successMainThread()" time="0.010146021842956543">
        </testcase>
        <testcase classname="DefaultPublisherTests" name="testTrack_trackableAddedEarlier()" time="0.005795001983642578">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_addFirstTrackable_callsStartRecordingLocationOnLocationService()" time="0.004621982574462891">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_addSecondTrackable_doesNotCallStartRecordingLocationOnLocationService()" time="0.0062749385833740234">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_stop_callsStopRecordingLocationOnLocationService_andWhenThatDoesNotReturnALocationRecordingResult_itDoesNotCallDidFinishRecordingLocationHistoryDataOnDelegate_andDoesNotCallDidFinishRecordingRawMapboxDataOnDelegate_butStillSuccessfullyStops()" time="0.005721926689147949">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_stop_callsStopRecordingLocationOnLocationService_andWhenThatFails_itDoesNotCallDidFinishRecordingLocationHistoryDataOnDelegate_andDoesNotCallDidFinishRecordingRawMapboxDataOnDelegate_butStillSuccessfullyStops()" time="0.0033049583435058594">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="test_stop_callsStopRecordingLocationOnLocationService_andWhenThatReturnsALocationRecordingResult_itCallsDidFinishRecordingLocationHistoryDataOnDelegate_andCallsDidFinishRecordingRawMapboxDataOnDelegate_andSuccessfullyStops()" time="0.0072209835052490234">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testLocationService_didFailWithError()" time="0.0030519962310791016">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testLocationService_didUpdateEnhancedLocation()" time="0.003895998001098633">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testLocationService_didUpdateEnhancedLocation_resolution()" time="2.016860008239746">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testPublisherSendEnhancedLocationWillAddToWaitingQueuePendingMessage()" time="0.002588033676147461">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testPublisherWillAttachSkippedLocationsToNextRequest()" time="0.00371706485748291">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testPublisherWillRetryOnFailureOnSendEnhancedLocationUpdate()" time="0.002315044403076172">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testShouldNotSendRawMessageIfTheyAreDisabled()" time="5.0163949728012085">
        </testcase>
        <testcase classname="DefaultPublisher_LocationServiceTests" name="testShouldSendRawMessageIfTheyAreEnabled()" time="0.003132939338684082">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_batteryMultiplier()" time="0.01194000244140625">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_constrained_multipleRemoteResolutions()" time="0.0016889572143554688">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_constrained_multipleRemoteResolutions_battery()" time="0.0013968944549560547">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_multipleRemoteResolutions()" time="0.0012390613555908203">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_noRemoteRequests()" time="0.001443028450012207">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_oneRemoteResolution()" time="0.001212000846862793">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveRequest_withConstraints_noRemoteRequests()" time="0.0012440681457519531">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_farWithoutSubscriber()" time="0.0027379989624023438">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_farWithSubscriber()" time="0.001262068748474121">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_nearWithoutSubscriber()" time="0.0012110471725463867">
        </testcase>
        <testcase classname="DefaultResolutionPolicyTests" name="testResolutionPolicy_resolveResolutions_nearWithSubscriber()" time="0.0011790990829467773">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_finishAddingTrackableWithId_removesSavedDuplicateAddCompletionHandlers()" time="1.0035500526428223">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_finishAddingTrackableWithId_whenSaveDuplicateAddCompletionHandlerHasBeenCalled_callsDuplicateCompletionHandlers()" time="0.00250399112701416">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_isCurrentlyAddingTrackableWithId_when_startAddingTrackableHasBeenCalled_andThenFinishAddingTrackableHasBeenCalled_returnsFalse()" time="0.001992940902709961">
        </testcase>
        <testcase classname="DuplicateTrackableGuardTests" name="test_isCurrentlyAddingTrackableWithId_when_startAddingTrackableHasBeenCalled_returnsTrue()" time="0.0016080141067504883">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testAgents()" time="0.004789948463439941">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testDecodable_decodesTestResource_version1_validAndroid()" time="0.010725975036621094">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testDecodable_decodesTestResource_version2_valid2_0_0()" time="0.00391697883605957">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testDecodable_withMajorVersionGreaterThan2_throwsUnsupportedVersionError()" time="0.002928018569946289">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testEncodable_encodesAgents()" time="0.0020259618759155273">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testEncodable_encodesVersionAsSemanticVersionString()" time="0.001350998878479004">
        </testcase>
        <testcase classname="LocationHistoryDataTests" name="testVersionAlwaysReturns1()" time="0.004576921463012695">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_forwardsValidLocation()" time="0.0028799772262573242">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_sanitizesRepairableLocation()" time="0.0025789737701416016">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_suppressesEnhancedLocationUpdateWithInvalidAltitude()" time="0.0023839473724365234">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_suppressesEnhancedLocationUpdateWithInvalidLatitude()" time="0.0014320611953735352">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_suppressesEnhancedLocationUpdateWithInvalidLongitude()" time="0.0016329288482666016">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleEnhancedLocationUpdate_suppressesEnhancedLocationUpdateWithInvalidTimestamp()" time="0.0015039443969726562">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_forwardsValidLocation()" time="0.04335594177246094">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_sanitizesRepairableLocation()" time="0.001320958137512207">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_suppressesRawLocationUpdateWithInvalidAltitude()" time="0.0015070438385009766">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_suppressesRawLocationUpdateWithInvalidLatitude()" time="0.0014139413833618164">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_suppressesRawLocationUpdateWithInvalidLongitude()" time="0.0014020204544067383">
        </testcase>
        <testcase classname="PassiveLocationManagerHandlerTests" name="test_passiveLocationManagerHandler_handleRawLocationUpdate_suppressesRawLocationUpdateWithInvalidTimestamp()" time="0.0074089765548706055">
        </testcase>
        <testcase classname="PublisherWorkerFactoryTests" name="test_ItBuildsLegacyWork()" time="0.0013140439987182617">
        </testcase>
        <testcase classname="TemporaryFileTests" name="testDeinit_removesFile()" time="0.02065098285675049">
        </testcase>
        <testcase classname="TemporaryFileTests" name="testStayAlive_doesntRemoveFileWhilstExecutingAction()" time="0.0019080638885498047">
        </testcase>
    </testsuite>
    <testsuite name="SubscriberTests" tests="19" failures="0" skipped="0" time="1.646191954612732">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_failure()" time="0.01641702651977539">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_paramsCheck_resolutionIsNil()" time="0.004560947418212891">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_paramsCheck_resolutionIsNotNil()" time="0.005056023597717285">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberResolutionPreference_success()" time="0.003759026527404785">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberReturnsError_afterStopped()" time="0.004698038101196289">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStart_called()" time="0.0037009716033935547">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStart_failure()" time="0.0039730072021484375">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStart_success()" time="0.003993988037109375">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_afterStopped()" time="0.0038590431213378906">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_called()" time="0.006860971450805664">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_failure()" time="0.004787921905517578">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_subscriberStop_success()" time="0.010678887367248535">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItHasAlreadyEmittedAFailedConnectionStatus_andItThenReceivesAConnectionStatusThatWouldMakeItOnline_itDoesNotEmitAnyMoreConnectionStatus()" time="0.5234239101409912">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherAbsentPresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentFalse()" time="0.0044699907302856445">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherEnterPresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentTrue()" time="0.002595067024230957">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherLeavePresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentFalse()" time="0.0028890371322631836">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenItReceivesAPublisherPresentPresenceAction_itCallsDidUpdatePublisherPresenceOnDelegate_withIsPresentTrue()" time="0.002539992332458496">
        </testcase>
        <testcase classname="DefaultSubscriberTests" name="test_whenSubscriberReceivesInvalidMessageErrorFromAblySubscriber_itEmitsAFailedConnectionStatus_andCallsDisconnectOnAblySubscriber()" time="1.0364000797271729">
        </testcase>
        <testcase classname="SubscriberWorkerFactoryTests" name="test_ItBuildsLegacyWork()" time="0.001528024673461914">
        </testcase>
    </testsuite>
    <testsuite name="SystemTests" tests="21" failures="0" skipped="0" time="65.3402339220047">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="ChannelModesTests" name="testShouldCreateOnlyOnePublisherAndOneSubscriberConnection()" time="6.645084977149963">
        </testcase>
        <testcase classname="NetworkConnectivityTests" name="testSDKTestProxyClient()" time="1.1533499956130981">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberNotReceivesAssetConnectionStatus()" time="5.00942599773407">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesAssetConnectionStatusWithBicycleProfile()" time="1.1087249517440796">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesAssetConnectionStatusWithCarProfile()" time="1.1649099588394165">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesPublisherMessageWithBicycleProfile()" time="17.055293083190918">
        </testcase>
        <testcase classname="PublisherAndSubscriberSystemTests" name="testSubscriberReceivesPublisherMessageWithCarProfile()" time="16.967500925064087">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisher_usingTokenAuth_addTrackable_whenEnterPresenceGivesCapabilityError_reauthorizesAblyAndEntersPresenceWithNewToken()" time="1.2863860130310059">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithApiKey()" time="1.0125359296798706">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithJWT()" time="1.679779052734375">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithTokenDetails()" time="1.1032389402389526">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithTokenRequest()" time="1.039931058883667">
        </testcase>
        <testcase classname="PublisherAuthenticationSystemTests" name="testPublisherConnectsWithTokenString()" time="1.0233240127563477">
        </testcase>
        <testcase classname="PublisherSystemTests" name="test_addTrackable_thenRemoveIt_thenAddAnotherTrackableWithSameId()" time="0.9113720655441284">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriber_usingTokenAuth_start_whenEnterPresenceGivesCapabilityError_reauthorizesAblyAndEntersPresenceWithNewToken()" time="1.8269909620285034">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithApiKey()" time="0.7866100072860718">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithJWT()" time="1.3920300006866455">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithTokenDetails()" time="0.8738009929656982">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithTokenRequest()" time="0.9661279916763306">
        </testcase>
        <testcase classname="SubscriberAuthenticationSystemTests" name="testSubscriberConnectsWithTokenString()" time="1.0802040100097656">
        </testcase>
        <testcase classname="SubscriberSystemTests" name="test_whenSubscriberReceivesMalformedMessageDataFromAbly_itEmitsAFailedConnectionStatus()" time="1.253612995147705">
        </testcase>
    </testsuite>
    <testsuite name="UITests" tests="12" failures="0" skipped="0" time="0.033721208572387695">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andSomeOfTheDistanceBetweenTheFirstTwoLocationsHasAlreadyBeenAnimated_andTheNextLocationToEmitLiesBetweenTheFirstTwoLocations_itInterpolatesTheRemainderOfTheDistanceBetweenTheFirstTwoLocations_andDoesNotPopAnyLocations()" time="0.010679006576538086">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andSomeOfTheDistanceBetweenTheFirstTwoLocationsHasAlreadyBeenAnimated_andTheNextLocationToEmitLiesBetweenTheSecondAndThirdLocations_itInterpolatesBetweenTheSecondAndThirdLocations_andPopsTheFirstLocation()" time="0.0018481016159057617">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andTheNextLocationToEmitLiesBetweenTheFirstTwoLocations_itInterpolatesBetweenTheFirstTwoLocations_andDoesNotPopAnyLocations()" time="0.0018160343170166016">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereAreLocationsAwaitingAnimation_andTheNextLocationToEmitLiesBetweenTheSecondAndThirdLocations_itInterpolatesBetweenTheSecondAndThirdLocations_andPopsTheFirstLocation()" time="0.001504063606262207">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasFiredBefore_andThereIsOneLocationAwaitingAnimation_itEmitsThatLocation()" time="0.0014259815216064453">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasNotFiredBefore_andThereAreLocationsAwaitingAnimation_itEmitsTheFirstLocationAwaitingAnimation()" time="0.0015670061111450195">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenDisplayLinkHasNotFiredBefore_andThereAreNoLocationsAwaitingAnimation_itReturnsANoOp()" time="0.004940032958984375">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenNextLocationUpdatePredictionIsNil_itReturnsANoOp()" time="0.0013200044631958008">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenNumberOfLocationsPoppedSinceLastCameraUpdateIsNil_andThereIsAPositionToEmit_itEmitsACameraPositionUpdate()" time="0.0012520551681518555">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenNumberOfLocationsPoppedSinceLastCameraUpdateIsOneLessThanAnimationStepsBetweenCameraUpdates_andThereIsALocationToPop_itEmitsACameraPositionUpdate()" time="0.004495978355407715">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenTheCurrentTimeExceedsTheExpectedNextLocationUpdateByMoreThanIntentionalAnimationDelay_itEmitsTheLastLocationAwaitingAnimation()" time="0.0013409852981567383">
        </testcase>
        <testcase classname="DefaultLocationAnimatorCalculatorTests" name="test_calculate_whenThePredictedTimeToNextLocationUpdateHasPassed_itJustUsesTheIntentionalAnimationDelay()" time="0.0015319585800170898">
        </testcase>
    </testsuite>
</testsuites>