diff --git a/Example/Podfile b/Example/Podfile index f0c08e6..bd64964 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -9,7 +9,7 @@ end target :Tests do pod 'StateKit', :path => "../" - pod 'Specta', '~> 0.2.1', :inhibit_warnings => true + pod 'Specta', '~> 1.0.6', :inhibit_warnings => true pod 'Expecta' - pod 'OCMockito', '~> 1.0' + pod 'OCMockito', '~> 5.0.0' end diff --git a/Example/Podfile.lock b/Example/Podfile.lock index f7f18e4..96b5c51 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,17 +1,17 @@ PODS: - Expecta (1.0.6) - - OCHamcrest (4.3.0) - - OCMockito (1.4.0): - - OCHamcrest (~> 4.0) - - Specta (0.2.1) + - OCHamcrest (7.0.1) + - OCMockito (5.0.0): + - OCHamcrest (~> 7.0) + - Specta (1.0.6) - StateKit (0.2.0): - StateKit/ObjC (= 0.2.0) - StateKit/ObjC (0.2.0) DEPENDENCIES: - Expecta - - OCMockito (~> 1.0) - - Specta (~> 0.2.1) + - OCMockito (~> 5.0.0) + - Specta (~> 1.0.6) - StateKit (from `../`) EXTERNAL SOURCES: @@ -20,11 +20,11 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 - OCHamcrest: cd63d27f48a266d4412c0b295b01b8f0940efa81 - OCMockito: 4981140c9a9ec06c31af40f636e3c0f25f27e6b2 - Specta: 15a276a6343867b426d5ed135d5aa4d04123a573 + OCHamcrest: 7c2229e7ea96eecd6e43dbef7c68e1dfbd6928b8 + OCMockito: 2598f5d43f6e74964d3ec3b9dea8b4fde3ea2c43 + Specta: f506f3a8361de16bc0dcf3b17b75e269072ba465 StateKit: d6e894217cfd82616ccf3fb861e825cf5d369577 -PODFILE CHECKSUM: e4dcff713c04762df0098f71299dffbed1c3828e +PODFILE CHECKSUM: ad1978d7242792c224d9b307e795745898f255e6 COCOAPODS: 1.3.1 diff --git a/Example/Pods/Headers/Private/OCHamcrest/HCIsEqualCompressingWhiteSpace.h b/Example/Pods/Headers/Private/OCHamcrest/HCIsEqualCompressingWhiteSpace.h new file mode 120000 index 0000000..8445d7a --- /dev/null +++ b/Example/Pods/Headers/Private/OCHamcrest/HCIsEqualCompressingWhiteSpace.h @@ -0,0 +1 @@ +../../../OCHamcrest/Source/Library/Text/HCIsEqualCompressingWhiteSpace.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h b/Example/Pods/Headers/Private/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h deleted file mode 120000 index 2cf7b1f..0000000 --- a/Example/Pods/Headers/Private/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCHamcrest/HCRunloopRunner.h b/Example/Pods/Headers/Private/OCHamcrest/HCRunloopRunner.h new file mode 120000 index 0000000..f911c61 --- /dev/null +++ b/Example/Pods/Headers/Private/OCHamcrest/HCRunloopRunner.h @@ -0,0 +1 @@ +../../../OCHamcrest/Source/Core/Helpers/HCRunloopRunner.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCHamcrest/HCTestFailureHandler.h b/Example/Pods/Headers/Private/OCHamcrest/HCTestFailureHandler.h deleted file mode 120000 index 03bad83..0000000 --- a/Example/Pods/Headers/Private/OCHamcrest/HCTestFailureHandler.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandler.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCHamcrest/HCTestFailureHandlerChain.h b/Example/Pods/Headers/Private/OCHamcrest/HCTestFailureHandlerChain.h deleted file mode 120000 index 707953c..0000000 --- a/Example/Pods/Headers/Private/OCHamcrest/HCTestFailureHandlerChain.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTAnswer.h b/Example/Pods/Headers/Private/OCMockito/MKTAnswer.h index d1e9e89..efc5355 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTAnswer.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTAnswer.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTAnswer.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Stubbing/MKTAnswer.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTArgumentCaptor.h b/Example/Pods/Headers/Private/OCMockito/MKTArgumentCaptor.h deleted file mode 120000 index 7271ad3..0000000 --- a/Example/Pods/Headers/Private/OCMockito/MKTArgumentCaptor.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMockito/Source/OCMockito/MKTArgumentCaptor.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTAtLeastNumberOfInvocationsChecker.h b/Example/Pods/Headers/Private/OCMockito/MKTAtLeastNumberOfInvocationsChecker.h new file mode 120000 index 0000000..2abe32a --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTAtLeastNumberOfInvocationsChecker.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Verifying/MKTAtLeastNumberOfInvocationsChecker.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTAtLeastTimes.h b/Example/Pods/Headers/Private/OCMockito/MKTAtLeastTimes.h index 462a66d..453d9cf 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTAtLeastTimes.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTAtLeastTimes.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTAtLeastTimes.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Verifying/MKTAtLeastTimes.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTAtMostNumberOfInvocationsChecker.h b/Example/Pods/Headers/Private/OCMockito/MKTAtMostNumberOfInvocationsChecker.h new file mode 120000 index 0000000..cf24327 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTAtMostNumberOfInvocationsChecker.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Verifying/MKTAtMostNumberOfInvocationsChecker.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTAtMostTimes.h b/Example/Pods/Headers/Private/OCMockito/MKTAtMostTimes.h new file mode 120000 index 0000000..09dd3a1 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTAtMostTimes.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Verifying/MKTAtMostTimes.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTBaseMockObject.h b/Example/Pods/Headers/Private/OCMockito/MKTBaseMockObject.h index 7321e8f..41a2144 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTBaseMockObject.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTBaseMockObject.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTBaseMockObject.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTBaseMockObject.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTBlockArgumentGetter.h b/Example/Pods/Headers/Private/OCMockito/MKTBlockArgumentGetter.h deleted file mode 120000 index e268cad..0000000 --- a/Example/Pods/Headers/Private/OCMockito/MKTBlockArgumentGetter.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTCallStackElement.h b/Example/Pods/Headers/Private/OCMockito/MKTCallStackElement.h new file mode 120000 index 0000000..5c47c95 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTCallStackElement.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Invocation/MKTCallStackElement.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTCapturingMatcher.h b/Example/Pods/Headers/Private/OCMockito/MKTCapturingMatcher.h deleted file mode 120000 index 828c801..0000000 --- a/Example/Pods/Headers/Private/OCMockito/MKTCapturingMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMockito/Source/OCMockito/MKTCapturingMatcher.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTClassObjectMock.h b/Example/Pods/Headers/Private/OCMockito/MKTClassObjectMock.h index c143dc2..49cb9c6 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTClassObjectMock.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTClassObjectMock.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTClassObjectMock.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTClassObjectMock.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTDynamicProperties.h b/Example/Pods/Headers/Private/OCMockito/MKTDynamicProperties.h index d6f4af0..af97f6d 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTDynamicProperties.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTDynamicProperties.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/Helpers/MKTDynamicProperties.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTDynamicProperties.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTExactTimes.h b/Example/Pods/Headers/Private/OCMockito/MKTExactTimes.h index ebdeb88..bea1172 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTExactTimes.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTExactTimes.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTExactTimes.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Verifying/MKTExactTimes.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTExecutesBlock.h b/Example/Pods/Headers/Private/OCMockito/MKTExecutesBlock.h index ad9ccff..f5faf36 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTExecutesBlock.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTExecutesBlock.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTExecutesBlock.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Stubbing/MKTExecutesBlock.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTFilterCallStack.h b/Example/Pods/Headers/Private/OCMockito/MKTFilterCallStack.h new file mode 120000 index 0000000..94ba8a8 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTFilterCallStack.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Invocation/MKTFilterCallStack.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTInvocation.h b/Example/Pods/Headers/Private/OCMockito/MKTInvocation.h new file mode 120000 index 0000000..9f90193 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTInvocation.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Invocation/MKTInvocation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTInvocationContainer.h b/Example/Pods/Headers/Private/OCMockito/MKTInvocationContainer.h index 830be84..962d766 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTInvocationContainer.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTInvocationContainer.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTInvocationContainer.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Stubbing/MKTInvocationContainer.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTInvocationMatcher.h b/Example/Pods/Headers/Private/OCMockito/MKTInvocationMatcher.h index c9258b1..97b58e6 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTInvocationMatcher.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTInvocationMatcher.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTInvocationMatcher.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Invocation/MKTInvocationMatcher.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTInvocationsChecker.h b/Example/Pods/Headers/Private/OCMockito/MKTInvocationsChecker.h new file mode 120000 index 0000000..23bf66d --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTInvocationsChecker.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Verifying/MKTInvocationsChecker.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTLocation.h b/Example/Pods/Headers/Private/OCMockito/MKTLocation.h new file mode 120000 index 0000000..72c12f7 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTLocation.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Invocation/MKTLocation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTMatchingInvocationsFinder.h b/Example/Pods/Headers/Private/OCMockito/MKTMatchingInvocationsFinder.h new file mode 120000 index 0000000..e442010 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTMatchingInvocationsFinder.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Invocation/MKTMatchingInvocationsFinder.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTMissingInvocationChecker.h b/Example/Pods/Headers/Private/OCMockito/MKTMissingInvocationChecker.h new file mode 120000 index 0000000..fe318b6 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTMissingInvocationChecker.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Verifying/MKTMissingInvocationChecker.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTMockingProgress.h b/Example/Pods/Headers/Private/OCMockito/MKTMockingProgress.h index af7f0ab..ba9b76e 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTMockingProgress.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTMockingProgress.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTMockingProgress.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Core/MKTMockingProgress.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTMockitoCore.h b/Example/Pods/Headers/Private/OCMockito/MKTMockitoCore.h index a8519d0..81bc658 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTMockitoCore.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTMockitoCore.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTMockitoCore.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Core/MKTMockitoCore.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTNonObjectArgumentMatching.h b/Example/Pods/Headers/Private/OCMockito/MKTNonObjectArgumentMatching.h new file mode 120000 index 0000000..13c3120 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTNonObjectArgumentMatching.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Core/MKTNonObjectArgumentMatching.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTNumberOfInvocationsChecker.h b/Example/Pods/Headers/Private/OCMockito/MKTNumberOfInvocationsChecker.h new file mode 120000 index 0000000..7008819 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTNumberOfInvocationsChecker.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Verifying/MKTNumberOfInvocationsChecker.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTObjectAndProtocolMock.h b/Example/Pods/Headers/Private/OCMockito/MKTObjectAndProtocolMock.h index 46ca50c..e35ee55 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTObjectAndProtocolMock.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTObjectAndProtocolMock.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTObjectAndProtocolMock.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTObjectMock.h b/Example/Pods/Headers/Private/OCMockito/MKTObjectMock.h index 13c072f..ee7afc7 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTObjectMock.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTObjectMock.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTObjectMock.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTObjectMock.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTOngoingStubbing.h b/Example/Pods/Headers/Private/OCMockito/MKTOngoingStubbing.h index 0283163..9222bd4 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTOngoingStubbing.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTOngoingStubbing.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTOngoingStubbing.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Stubbing/MKTOngoingStubbing.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTParseCallStack.h b/Example/Pods/Headers/Private/OCMockito/MKTParseCallStack.h new file mode 120000 index 0000000..7a72f69 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTParseCallStack.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Invocation/MKTParseCallStack.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTPrimitiveArgumentMatching.h b/Example/Pods/Headers/Private/OCMockito/MKTPrimitiveArgumentMatching.h deleted file mode 120000 index 937bca5..0000000 --- a/Example/Pods/Headers/Private/OCMockito/MKTPrimitiveArgumentMatching.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMockito/Source/OCMockito/MKTPrimitiveArgumentMatching.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTPrinter.h b/Example/Pods/Headers/Private/OCMockito/MKTPrinter.h new file mode 120000 index 0000000..1fa4bbd --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTPrinter.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Invocation/MKTPrinter.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTProtocolMock.h b/Example/Pods/Headers/Private/OCMockito/MKTProtocolMock.h index e11dedb..d33ebc9 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTProtocolMock.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTProtocolMock.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTProtocolMock.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTProtocolMock.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTReturnsValue.h b/Example/Pods/Headers/Private/OCMockito/MKTReturnsValue.h index 4b81bb5..ed730e0 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTReturnsValue.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTReturnsValue.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTReturnsValue.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Stubbing/MKTReturnsValue.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTSingletonSwizzler.h b/Example/Pods/Headers/Private/OCMockito/MKTSingletonSwizzler.h new file mode 120000 index 0000000..79a2685 --- /dev/null +++ b/Example/Pods/Headers/Private/OCMockito/MKTSingletonSwizzler.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Mocking/MKTSingletonSwizzler.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTStubbedInvocationMatcher.h b/Example/Pods/Headers/Private/OCMockito/MKTStubbedInvocationMatcher.h index 91dde87..0e9bc75 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTStubbedInvocationMatcher.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTStubbedInvocationMatcher.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTStubbedInvocationMatcher.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTTestLocation.h b/Example/Pods/Headers/Private/OCMockito/MKTTestLocation.h index 073251f..93d7fb1 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTTestLocation.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTTestLocation.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTTestLocation.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Core/MKTTestLocation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTThrowsException.h b/Example/Pods/Headers/Private/OCMockito/MKTThrowsException.h index 08cca17..5a73e2a 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTThrowsException.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTThrowsException.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTThrowsException.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Stubbing/MKTThrowsException.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTVerificationData.h b/Example/Pods/Headers/Private/OCMockito/MKTVerificationData.h index fea2f98..73ca66e 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTVerificationData.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTVerificationData.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTVerificationData.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Verifying/MKTVerificationData.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/MKTVerificationMode.h b/Example/Pods/Headers/Private/OCMockito/MKTVerificationMode.h index 22d038b..25e8cf9 120000 --- a/Example/Pods/Headers/Private/OCMockito/MKTVerificationMode.h +++ b/Example/Pods/Headers/Private/OCMockito/MKTVerificationMode.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTVerificationMode.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Verifying/MKTVerificationMode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/NSInvocation+OCMockito.h b/Example/Pods/Headers/Private/OCMockito/NSInvocation+OCMockito.h index 05cbc06..40041ac 120000 --- a/Example/Pods/Headers/Private/OCMockito/NSInvocation+OCMockito.h +++ b/Example/Pods/Headers/Private/OCMockito/NSInvocation+OCMockito.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/NSInvocation+OCMockito.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Invocation/NSInvocation+OCMockito.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/OCMockito/OCMockito.h b/Example/Pods/Headers/Private/OCMockito/OCMockito.h index baff257..175b92b 120000 --- a/Example/Pods/Headers/Private/OCMockito/OCMockito.h +++ b/Example/Pods/Headers/Private/OCMockito/OCMockito.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/OCMockito.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Core/OCMockito.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTCallSite.h b/Example/Pods/Headers/Private/Specta/SPTCallSite.h new file mode 120000 index 0000000..dbb535a --- /dev/null +++ b/Example/Pods/Headers/Private/Specta/SPTCallSite.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTCallSite.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTCompiledExample.h b/Example/Pods/Headers/Private/Specta/SPTCompiledExample.h new file mode 120000 index 0000000..6597704 --- /dev/null +++ b/Example/Pods/Headers/Private/Specta/SPTCompiledExample.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTCompiledExample.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTExample.h b/Example/Pods/Headers/Private/Specta/SPTExample.h index 2a3ad3a..79a18d4 120000 --- a/Example/Pods/Headers/Private/Specta/SPTExample.h +++ b/Example/Pods/Headers/Private/Specta/SPTExample.h @@ -1 +1 @@ -../../../Specta/src/SPTExample.h \ No newline at end of file +../../../Specta/Specta/Specta/SPTExample.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTExampleGroup.h b/Example/Pods/Headers/Private/Specta/SPTExampleGroup.h index a5f8422..1effac5 120000 --- a/Example/Pods/Headers/Private/Specta/SPTExampleGroup.h +++ b/Example/Pods/Headers/Private/Specta/SPTExampleGroup.h @@ -1 +1 @@ -../../../Specta/src/SPTExampleGroup.h \ No newline at end of file +../../../Specta/Specta/Specta/SPTExampleGroup.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h b/Example/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h new file mode 120000 index 0000000..64df734 --- /dev/null +++ b/Example/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h b/Example/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h new file mode 120000 index 0000000..7f83b65 --- /dev/null +++ b/Example/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTNestedReporter.h b/Example/Pods/Headers/Private/Specta/SPTNestedReporter.h deleted file mode 120000 index 5ff34a0..0000000 --- a/Example/Pods/Headers/Private/Specta/SPTNestedReporter.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SPTNestedReporter.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTReporter.h b/Example/Pods/Headers/Private/Specta/SPTReporter.h deleted file mode 120000 index 501ca2b..0000000 --- a/Example/Pods/Headers/Private/Specta/SPTReporter.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SPTReporter.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h b/Example/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h index 2a95254..579d360 120000 --- a/Example/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h +++ b/Example/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h @@ -1 +1 @@ -../../../Specta/src/SPTSharedExampleGroups.h \ No newline at end of file +../../../Specta/Specta/Specta/SPTSharedExampleGroups.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTSpec.h b/Example/Pods/Headers/Private/Specta/SPTSpec.h index 8cb370e..3b1679a 120000 --- a/Example/Pods/Headers/Private/Specta/SPTSpec.h +++ b/Example/Pods/Headers/Private/Specta/SPTSpec.h @@ -1 +1 @@ -../../../Specta/src/SPTSpec.h \ No newline at end of file +../../../Specta/Specta/Specta/SPTSpec.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTTestSuite.h b/Example/Pods/Headers/Private/Specta/SPTTestSuite.h new file mode 120000 index 0000000..2f607e4 --- /dev/null +++ b/Example/Pods/Headers/Private/Specta/SPTTestSuite.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTTestSuite.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTXCTestCase.h b/Example/Pods/Headers/Private/Specta/SPTXCTestCase.h deleted file mode 120000 index f7ee9e1..0000000 --- a/Example/Pods/Headers/Private/Specta/SPTXCTestCase.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SPTXCTestCase.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SPTXCTestReporter.h b/Example/Pods/Headers/Private/Specta/SPTXCTestReporter.h deleted file mode 120000 index eb4ad53..0000000 --- a/Example/Pods/Headers/Private/Specta/SPTXCTestReporter.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SPTXCTestReporter.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/Specta.h b/Example/Pods/Headers/Private/Specta/Specta.h index 4611172..111c968 120000 --- a/Example/Pods/Headers/Private/Specta/Specta.h +++ b/Example/Pods/Headers/Private/Specta/Specta.h @@ -1 +1 @@ -../../../Specta/src/Specta.h \ No newline at end of file +../../../Specta/Specta/Specta/Specta.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SpectaDSL.h b/Example/Pods/Headers/Private/Specta/SpectaDSL.h new file mode 120000 index 0000000..fd1ad37 --- /dev/null +++ b/Example/Pods/Headers/Private/Specta/SpectaDSL.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SpectaDSL.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SpectaSupport.h b/Example/Pods/Headers/Private/Specta/SpectaSupport.h deleted file mode 120000 index d37c654..0000000 --- a/Example/Pods/Headers/Private/Specta/SpectaSupport.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SpectaSupport.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SpectaTypes.h b/Example/Pods/Headers/Private/Specta/SpectaTypes.h index 706005a..9428b13 120000 --- a/Example/Pods/Headers/Private/Specta/SpectaTypes.h +++ b/Example/Pods/Headers/Private/Specta/SpectaTypes.h @@ -1 +1 @@ -../../../Specta/src/SpectaTypes.h \ No newline at end of file +../../../Specta/Specta/Specta/SpectaTypes.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/SpectaUtility.h b/Example/Pods/Headers/Private/Specta/SpectaUtility.h index cbf6c0a..5762480 120000 --- a/Example/Pods/Headers/Private/Specta/SpectaUtility.h +++ b/Example/Pods/Headers/Private/Specta/SpectaUtility.h @@ -1 +1 @@ -../../../Specta/src/SpectaUtility.h \ No newline at end of file +../../../Specta/Specta/Specta/SpectaUtility.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/XCTest+Private.h b/Example/Pods/Headers/Private/Specta/XCTest+Private.h new file mode 120000 index 0000000..bb4a8e0 --- /dev/null +++ b/Example/Pods/Headers/Private/Specta/XCTest+Private.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/XCTest+Private.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/XCTestCase+Specta.h b/Example/Pods/Headers/Private/Specta/XCTestCase+Specta.h index 4b98f81..95f58cc 120000 --- a/Example/Pods/Headers/Private/Specta/XCTestCase+Specta.h +++ b/Example/Pods/Headers/Private/Specta/XCTestCase+Specta.h @@ -1 +1 @@ -../../../Specta/src/XCTestCase+Specta.h \ No newline at end of file +../../../Specta/Specta/Specta/XCTestCase+Specta.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/XCTestLog+Specta.h b/Example/Pods/Headers/Private/Specta/XCTestLog+Specta.h deleted file mode 120000 index ba66206..0000000 --- a/Example/Pods/Headers/Private/Specta/XCTestLog+Specta.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/XCTestLog+Specta.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Specta/XCTestRun+Specta.h b/Example/Pods/Headers/Private/Specta/XCTestRun+Specta.h deleted file mode 120000 index 74a15fb..0000000 --- a/Example/Pods/Headers/Private/Specta/XCTestRun+Specta.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/XCTestRun+Specta.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCHamcrest/HCIsEqualCompressingWhiteSpace.h b/Example/Pods/Headers/Public/OCHamcrest/HCIsEqualCompressingWhiteSpace.h new file mode 120000 index 0000000..8445d7a --- /dev/null +++ b/Example/Pods/Headers/Public/OCHamcrest/HCIsEqualCompressingWhiteSpace.h @@ -0,0 +1 @@ +../../../OCHamcrest/Source/Library/Text/HCIsEqualCompressingWhiteSpace.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h b/Example/Pods/Headers/Public/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h deleted file mode 120000 index 2cf7b1f..0000000 --- a/Example/Pods/Headers/Public/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCHamcrest/HCTestFailureHandler.h b/Example/Pods/Headers/Public/OCHamcrest/HCTestFailureHandler.h deleted file mode 120000 index 03bad83..0000000 --- a/Example/Pods/Headers/Public/OCHamcrest/HCTestFailureHandler.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandler.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCHamcrest/HCTestFailureHandlerChain.h b/Example/Pods/Headers/Public/OCHamcrest/HCTestFailureHandlerChain.h deleted file mode 120000 index 707953c..0000000 --- a/Example/Pods/Headers/Public/OCHamcrest/HCTestFailureHandlerChain.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/MKTArgumentCaptor.h b/Example/Pods/Headers/Public/OCMockito/MKTArgumentCaptor.h deleted file mode 120000 index 7271ad3..0000000 --- a/Example/Pods/Headers/Public/OCMockito/MKTArgumentCaptor.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMockito/Source/OCMockito/MKTArgumentCaptor.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/MKTBaseMockObject.h b/Example/Pods/Headers/Public/OCMockito/MKTBaseMockObject.h index 7321e8f..41a2144 120000 --- a/Example/Pods/Headers/Public/OCMockito/MKTBaseMockObject.h +++ b/Example/Pods/Headers/Public/OCMockito/MKTBaseMockObject.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTBaseMockObject.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTBaseMockObject.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/MKTClassObjectMock.h b/Example/Pods/Headers/Public/OCMockito/MKTClassObjectMock.h index c143dc2..49cb9c6 120000 --- a/Example/Pods/Headers/Public/OCMockito/MKTClassObjectMock.h +++ b/Example/Pods/Headers/Public/OCMockito/MKTClassObjectMock.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTClassObjectMock.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTClassObjectMock.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/MKTNonObjectArgumentMatching.h b/Example/Pods/Headers/Public/OCMockito/MKTNonObjectArgumentMatching.h new file mode 120000 index 0000000..13c3120 --- /dev/null +++ b/Example/Pods/Headers/Public/OCMockito/MKTNonObjectArgumentMatching.h @@ -0,0 +1 @@ +../../../OCMockito/Source/OCMockito/Core/MKTNonObjectArgumentMatching.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/MKTObjectAndProtocolMock.h b/Example/Pods/Headers/Public/OCMockito/MKTObjectAndProtocolMock.h index 46ca50c..e35ee55 120000 --- a/Example/Pods/Headers/Public/OCMockito/MKTObjectAndProtocolMock.h +++ b/Example/Pods/Headers/Public/OCMockito/MKTObjectAndProtocolMock.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTObjectAndProtocolMock.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/MKTObjectMock.h b/Example/Pods/Headers/Public/OCMockito/MKTObjectMock.h index 13c072f..ee7afc7 120000 --- a/Example/Pods/Headers/Public/OCMockito/MKTObjectMock.h +++ b/Example/Pods/Headers/Public/OCMockito/MKTObjectMock.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTObjectMock.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTObjectMock.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/MKTOngoingStubbing.h b/Example/Pods/Headers/Public/OCMockito/MKTOngoingStubbing.h index 0283163..9222bd4 120000 --- a/Example/Pods/Headers/Public/OCMockito/MKTOngoingStubbing.h +++ b/Example/Pods/Headers/Public/OCMockito/MKTOngoingStubbing.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTOngoingStubbing.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Stubbing/MKTOngoingStubbing.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/MKTPrimitiveArgumentMatching.h b/Example/Pods/Headers/Public/OCMockito/MKTPrimitiveArgumentMatching.h deleted file mode 120000 index 937bca5..0000000 --- a/Example/Pods/Headers/Public/OCMockito/MKTPrimitiveArgumentMatching.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMockito/Source/OCMockito/MKTPrimitiveArgumentMatching.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/MKTProtocolMock.h b/Example/Pods/Headers/Public/OCMockito/MKTProtocolMock.h index e11dedb..d33ebc9 120000 --- a/Example/Pods/Headers/Public/OCMockito/MKTProtocolMock.h +++ b/Example/Pods/Headers/Public/OCMockito/MKTProtocolMock.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/MKTProtocolMock.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Mocking/MKTProtocolMock.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/NSInvocation+OCMockito.h b/Example/Pods/Headers/Public/OCMockito/NSInvocation+OCMockito.h index 05cbc06..40041ac 120000 --- a/Example/Pods/Headers/Public/OCMockito/NSInvocation+OCMockito.h +++ b/Example/Pods/Headers/Public/OCMockito/NSInvocation+OCMockito.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/NSInvocation+OCMockito.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Invocation/NSInvocation+OCMockito.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/OCMockito/OCMockito.h b/Example/Pods/Headers/Public/OCMockito/OCMockito.h index baff257..175b92b 120000 --- a/Example/Pods/Headers/Public/OCMockito/OCMockito.h +++ b/Example/Pods/Headers/Public/OCMockito/OCMockito.h @@ -1 +1 @@ -../../../OCMockito/Source/OCMockito/OCMockito.h \ No newline at end of file +../../../OCMockito/Source/OCMockito/Core/OCMockito.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTCallSite.h b/Example/Pods/Headers/Public/Specta/SPTCallSite.h new file mode 120000 index 0000000..dbb535a --- /dev/null +++ b/Example/Pods/Headers/Public/Specta/SPTCallSite.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTCallSite.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTCompiledExample.h b/Example/Pods/Headers/Public/Specta/SPTCompiledExample.h new file mode 120000 index 0000000..6597704 --- /dev/null +++ b/Example/Pods/Headers/Public/Specta/SPTCompiledExample.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTCompiledExample.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTExample.h b/Example/Pods/Headers/Public/Specta/SPTExample.h index 2a3ad3a..79a18d4 120000 --- a/Example/Pods/Headers/Public/Specta/SPTExample.h +++ b/Example/Pods/Headers/Public/Specta/SPTExample.h @@ -1 +1 @@ -../../../Specta/src/SPTExample.h \ No newline at end of file +../../../Specta/Specta/Specta/SPTExample.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTExampleGroup.h b/Example/Pods/Headers/Public/Specta/SPTExampleGroup.h index a5f8422..1effac5 120000 --- a/Example/Pods/Headers/Public/Specta/SPTExampleGroup.h +++ b/Example/Pods/Headers/Public/Specta/SPTExampleGroup.h @@ -1 +1 @@ -../../../Specta/src/SPTExampleGroup.h \ No newline at end of file +../../../Specta/Specta/Specta/SPTExampleGroup.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTExcludeGlobalBeforeAfterEach.h b/Example/Pods/Headers/Public/Specta/SPTExcludeGlobalBeforeAfterEach.h new file mode 120000 index 0000000..64df734 --- /dev/null +++ b/Example/Pods/Headers/Public/Specta/SPTExcludeGlobalBeforeAfterEach.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTGlobalBeforeAfterEach.h b/Example/Pods/Headers/Public/Specta/SPTGlobalBeforeAfterEach.h new file mode 120000 index 0000000..7f83b65 --- /dev/null +++ b/Example/Pods/Headers/Public/Specta/SPTGlobalBeforeAfterEach.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTNestedReporter.h b/Example/Pods/Headers/Public/Specta/SPTNestedReporter.h deleted file mode 120000 index 5ff34a0..0000000 --- a/Example/Pods/Headers/Public/Specta/SPTNestedReporter.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SPTNestedReporter.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTReporter.h b/Example/Pods/Headers/Public/Specta/SPTReporter.h deleted file mode 120000 index 501ca2b..0000000 --- a/Example/Pods/Headers/Public/Specta/SPTReporter.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SPTReporter.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTSharedExampleGroups.h b/Example/Pods/Headers/Public/Specta/SPTSharedExampleGroups.h index 2a95254..579d360 120000 --- a/Example/Pods/Headers/Public/Specta/SPTSharedExampleGroups.h +++ b/Example/Pods/Headers/Public/Specta/SPTSharedExampleGroups.h @@ -1 +1 @@ -../../../Specta/src/SPTSharedExampleGroups.h \ No newline at end of file +../../../Specta/Specta/Specta/SPTSharedExampleGroups.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTSpec.h b/Example/Pods/Headers/Public/Specta/SPTSpec.h index 8cb370e..3b1679a 120000 --- a/Example/Pods/Headers/Public/Specta/SPTSpec.h +++ b/Example/Pods/Headers/Public/Specta/SPTSpec.h @@ -1 +1 @@ -../../../Specta/src/SPTSpec.h \ No newline at end of file +../../../Specta/Specta/Specta/SPTSpec.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTTestSuite.h b/Example/Pods/Headers/Public/Specta/SPTTestSuite.h new file mode 120000 index 0000000..2f607e4 --- /dev/null +++ b/Example/Pods/Headers/Public/Specta/SPTTestSuite.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SPTTestSuite.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTXCTestCase.h b/Example/Pods/Headers/Public/Specta/SPTXCTestCase.h deleted file mode 120000 index f7ee9e1..0000000 --- a/Example/Pods/Headers/Public/Specta/SPTXCTestCase.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SPTXCTestCase.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SPTXCTestReporter.h b/Example/Pods/Headers/Public/Specta/SPTXCTestReporter.h deleted file mode 120000 index eb4ad53..0000000 --- a/Example/Pods/Headers/Public/Specta/SPTXCTestReporter.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SPTXCTestReporter.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/Specta.h b/Example/Pods/Headers/Public/Specta/Specta.h index 4611172..111c968 120000 --- a/Example/Pods/Headers/Public/Specta/Specta.h +++ b/Example/Pods/Headers/Public/Specta/Specta.h @@ -1 +1 @@ -../../../Specta/src/Specta.h \ No newline at end of file +../../../Specta/Specta/Specta/Specta.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SpectaDSL.h b/Example/Pods/Headers/Public/Specta/SpectaDSL.h new file mode 120000 index 0000000..fd1ad37 --- /dev/null +++ b/Example/Pods/Headers/Public/Specta/SpectaDSL.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/SpectaDSL.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SpectaSupport.h b/Example/Pods/Headers/Public/Specta/SpectaSupport.h deleted file mode 120000 index d37c654..0000000 --- a/Example/Pods/Headers/Public/Specta/SpectaSupport.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/SpectaSupport.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SpectaTypes.h b/Example/Pods/Headers/Public/Specta/SpectaTypes.h index 706005a..9428b13 120000 --- a/Example/Pods/Headers/Public/Specta/SpectaTypes.h +++ b/Example/Pods/Headers/Public/Specta/SpectaTypes.h @@ -1 +1 @@ -../../../Specta/src/SpectaTypes.h \ No newline at end of file +../../../Specta/Specta/Specta/SpectaTypes.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/SpectaUtility.h b/Example/Pods/Headers/Public/Specta/SpectaUtility.h index cbf6c0a..5762480 120000 --- a/Example/Pods/Headers/Public/Specta/SpectaUtility.h +++ b/Example/Pods/Headers/Public/Specta/SpectaUtility.h @@ -1 +1 @@ -../../../Specta/src/SpectaUtility.h \ No newline at end of file +../../../Specta/Specta/Specta/SpectaUtility.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/XCTest+Private.h b/Example/Pods/Headers/Public/Specta/XCTest+Private.h new file mode 120000 index 0000000..bb4a8e0 --- /dev/null +++ b/Example/Pods/Headers/Public/Specta/XCTest+Private.h @@ -0,0 +1 @@ +../../../Specta/Specta/Specta/XCTest+Private.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/XCTestCase+Specta.h b/Example/Pods/Headers/Public/Specta/XCTestCase+Specta.h index 4b98f81..95f58cc 120000 --- a/Example/Pods/Headers/Public/Specta/XCTestCase+Specta.h +++ b/Example/Pods/Headers/Public/Specta/XCTestCase+Specta.h @@ -1 +1 @@ -../../../Specta/src/XCTestCase+Specta.h \ No newline at end of file +../../../Specta/Specta/Specta/XCTestCase+Specta.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/XCTestLog+Specta.h b/Example/Pods/Headers/Public/Specta/XCTestLog+Specta.h deleted file mode 120000 index ba66206..0000000 --- a/Example/Pods/Headers/Public/Specta/XCTestLog+Specta.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/XCTestLog+Specta.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Specta/XCTestRun+Specta.h b/Example/Pods/Headers/Public/Specta/XCTestRun+Specta.h deleted file mode 120000 index 74a15fb..0000000 --- a/Example/Pods/Headers/Public/Specta/XCTestRun+Specta.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/src/XCTestRun+Specta.h \ No newline at end of file diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index f7f18e4..96b5c51 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,17 +1,17 @@ PODS: - Expecta (1.0.6) - - OCHamcrest (4.3.0) - - OCMockito (1.4.0): - - OCHamcrest (~> 4.0) - - Specta (0.2.1) + - OCHamcrest (7.0.1) + - OCMockito (5.0.0): + - OCHamcrest (~> 7.0) + - Specta (1.0.6) - StateKit (0.2.0): - StateKit/ObjC (= 0.2.0) - StateKit/ObjC (0.2.0) DEPENDENCIES: - Expecta - - OCMockito (~> 1.0) - - Specta (~> 0.2.1) + - OCMockito (~> 5.0.0) + - Specta (~> 1.0.6) - StateKit (from `../`) EXTERNAL SOURCES: @@ -20,11 +20,11 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 - OCHamcrest: cd63d27f48a266d4412c0b295b01b8f0940efa81 - OCMockito: 4981140c9a9ec06c31af40f636e3c0f25f27e6b2 - Specta: 15a276a6343867b426d5ed135d5aa4d04123a573 + OCHamcrest: 7c2229e7ea96eecd6e43dbef7c68e1dfbd6928b8 + OCMockito: 2598f5d43f6e74964d3ec3b9dea8b4fde3ea2c43 + Specta: f506f3a8361de16bc0dcf3b17b75e269072ba465 StateKit: d6e894217cfd82616ccf3fb861e825cf5d369577 -PODFILE CHECKSUM: e4dcff713c04762df0098f71299dffbed1c3828e +PODFILE CHECKSUM: ad1978d7242792c224d9b307e795745898f255e6 COCOAPODS: 1.3.1 diff --git a/Example/Pods/OCHamcrest/LICENSE.txt b/Example/Pods/OCHamcrest/LICENSE.txt index bf185d5..7bd4000 100644 --- a/Example/Pods/OCHamcrest/LICENSE.txt +++ b/Example/Pods/OCHamcrest/LICENSE.txt @@ -1,5 +1,5 @@ -OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -Copyright 2014 hamcrest.org +OCHamcrest by Jon Reid, https://qualitycoding.org/ +Copyright 2017 hamcrest.org All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/Example/Pods/OCHamcrest/README.md b/Example/Pods/OCHamcrest/README.md index 5859c5a..cb9f194 100644 --- a/Example/Pods/OCHamcrest/README.md +++ b/Example/Pods/OCHamcrest/README.md @@ -3,9 +3,13 @@ What is OCHamcrest? ------------------- -[![Build Status](https://travis-ci.org/hamcrest/OCHamcrest.svg?branch=master)](https://travis-ci.org/hamcrest/OCHamcrest) [![Coverage Status](https://coveralls.io/repos/hamcrest/OCHamcrest/badge.svg?branch=master)](https://coveralls.io/r/hamcrest/OCHamcrest?branch=master) [![Cocoapods Version](https://cocoapod-badges.herokuapp.com/v/OCHamcrest/badge.png)](https://cocoapods.org/pods/OCHamcrest) +[![Build Status](https://travis-ci.org/hamcrest/OCHamcrest.svg?branch=master)](https://travis-ci.org/hamcrest/OCHamcrest) +[![Coverage Status](https://coveralls.io/repos/hamcrest/OCHamcrest/badge.svg?branch=master)](https://coveralls.io/r/hamcrest/OCHamcrest?branch=master) +[![Cocoapods Version](https://cocoapod-badges.herokuapp.com/v/OCHamcrest/badge.png)](https://cocoapods.org/pods/OCHamcrest) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -OCHamcrest is an iOS and Mac OS X library providing: + +OCHamcrest is an Objective-C library providing: * a library of "matcher" objects for declaring rules to check whether a given object matches those rules. @@ -15,66 +19,6 @@ Matchers are useful for a variety of purposes, such as UI validation. But they'r for writing unit tests that are expressive and flexible. -How do I add OCHamcrest to my project? --------------------------------------- - -The Examples folder shows projects using OCHamcrest either through CocoaPods or through the prebuilt -frameworks, for iOS and Mac OS X development. - -### CocoaPods - -If you want to add OCHamcrest using Cocoapods then add the following dependency to your Podfile. -Most people will want OCHamcrest in their test targets, and not include any pods from their main -targets: - -```ruby -target :MyTests, :exclusive => true do - pod 'OCHamcrest', '~> 4.0' -end -``` - -Use the following import: - - #define HC_SHORTHAND - #import - -### Prebuilt Frameworks - -Prebuilt binaries are available on [GitHub](https://github.com/hamcrest/OCHamcrest/releases/). The -binaries are packaged as frameworks: - -* __OCHamcrestIOS.framework__ for iOS development -* __OCHamcrest.framework__ for Mac OS X development - -Drag the appropriate framework into your project, specifying "Copy items into destination group's -folder". Then specify `-ObjC` in your "Other Linker Flags". - -#### iOS Development: - -Use the following import: - - #define HC_SHORTHAND - #import - -#### Mac OS X Development: - -Add a "Copy Files" build phase to copy OCHamcrest.framework to your Products Directory. - -Use the following import: - - #define HC_SHORTHAND - #import - -### Build Your Own - -If you want to build OCHamcrest yourself, clone the repo, then - -```sh -$ cd Source -$ ./MakeDistribution.sh -``` - - My first OCHamcrest test ------------------------ @@ -83,9 +27,7 @@ We'll start by writing a very simple Xcode unit test, but instead of using XCTes matcher: ```obj-c -#import - -#define HC_SHORTHAND +@import XCTest; #import @interface BiscuitTest : XCTestCase @@ -109,10 +51,10 @@ method parameter is a matcher for `Biscuit` objects, here a matcher that checks to another using the `-isEqual:` method. The test passes since the `Biscuit` class defines an `-isEqual:` method. -OCHamcrest's functions are actually declared with an "HC" package prefix (such as `HC_assertThat` +OCHamcrest's functions are actually declared with an "HC_" package prefix (such as `HC_assertThat` and `HC_equalTo`) to avoid name clashes. To make test writing faster and test code more legible, -shorthand macros are provided if `HC_SHORTHAND` is defined before including the OCHamcrest header. -For example, instead of writing `HC_assertThat`, simply write `assertThat`. +optional short syntax is provided by default. For example, instead of writing `HC_assertThat`, +simply write `assertThat`. Predefined matchers @@ -136,8 +78,6 @@ OCHamcrest comes with a library of useful matchers: * Number * `closeTo` - match number close to a given value - * equalTo<TypeName> - match number equal to a primitive number (such as - `equalToInt` for an `int`) * `greaterThan`, `greaterThanOrEqualTo`, `lessThan`, `lessThanOrEqualTo` - match numeric ordering * `isFalse` - match zero @@ -151,32 +91,34 @@ OCHamcrest comes with a library of useful matchers: * `equalToIgnoringWhitespace` - match the complete string but ignore extra whitespace * `startsWith` - match the beginning of a string - * `stringContainsInOrder` - match parts of a string, in relative order + * `stringContainsInOrder`, `stringContainsInOrderIn` - match parts of a string, in relative order * Logical - * `allOf` - "and" together all matchers - * `anyOf` - "or" together all matchers + * `allOf`, `allOfIn` - "and" together all matchers + * `anyOf`, `anyOfIn` - "or" together all matchers * `anything` - match anything (useful in composite matchers when you don't care about a particular value) * `isNot` - negate the matcher * Collection - * `contains` - exactly match the entire collection - * `containsInAnyOrder` - match the entire collection, but in any order - * `containsInRelativeOrder` - match collection containing items in relative order + * `contains`, `containsIn` - exactly match the entire collection + * `containsInAnyOrder`, `containsInAnyOrderIn` - match the entire collection, but in any order + * `containsInRelativeOrder`, `containsInRelativeOrderIn` - match collection containing items in relative order * `everyItem` - match if every item in a collection satisfies a given matcher * `hasCount` - match number of elements against another matcher * `hasCountOf` - match collection with given number of elements - * `hasEntries` - match dictionary with list of key-value pairs + * `hasEntries` - match dictionary with key-value pairs in a dictionary + * `hasEntriesIn` - match dictionary with key-value pairs in a list * `hasEntry` - match dictionary containing a key-value pair * `hasItem` - match if given item appears in the collection - * `hasItems` - match if all given items appear in the collection, in any order + * `hasItems`, `hasItemsIn` - match if all given items appear in the collection, in any order * `hasKey` - match dictionary with a key * `hasValue` - match dictionary with a value * `isEmpty` - match empty collection - * `onlyContains` - match if collection's items appear in given list + * `isIn` - match when object is in given collection + * `onlyContains`, `onlyContainsIn` - match if collection's items appear in given list * Decorator @@ -232,3 +174,72 @@ What about Swift? ----------------- Try the [native Swift implementation of Hamcrest](https://github.com/nschum/SwiftHamcrest). + + +How do I add OCHamcrest to my project? +-------------------------------------- + +The Examples folder shows projects using OCHamcrest either through CocoaPods or through the prebuilt +frameworks, for iOS and Mac OS X development. + +### CocoaPods + +If you want to add OCHamcrest using Cocoapods then add the following dependency to your Podfile. +Most people will want OCHamcrest in their test targets, and not include any pods from their main +targets: + +```ruby +target 'MyTests' do + inherit! :search_paths + pod 'OCHamcrest', '~> 7.0' +end +``` + +Use the following import: + + #import + +### Carthage + +Add the following to your Cartfile: + +``` +github "hamcrest/OCHamcrest" ~> 7.0 +``` + +Then drag the the built framework from the appropriate Carthage/Build directory into your project, +but with "Copy items into destination group's folder" disabled. + +### Prebuilt Frameworks + +Prebuilt binaries are available on [GitHub](https://github.com/hamcrest/OCHamcrest/releases/). The +binaries are packaged as frameworks: + +* __OCHamcrestIOS.framework__ for iOS development +* __OCHamcrest.framework__ for Mac OS X development + +Drag the appropriate framework into your project, specifying "Copy items into destination group's +folder". Then specify `-ObjC` in your "Other Linker Flags". + +#### iOS Development: + +Use the following import: + + #import + +#### Mac OS X Development: + +Add a "Copy Files" build phase to copy OCHamcrest.framework to your Products Directory. + +Use the following import: + + #import + +### Build Your Own + +If you want to build OCHamcrest yourself, clone the repo, then + +```sh +$ cd Source +$ ./MakeDistribution.sh +``` diff --git a/Example/Pods/OCHamcrest/Source/Core/HCAssertThat.h b/Example/Pods/OCHamcrest/Source/Core/HCAssertThat.h index 9bfae9f..6306f28 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCAssertThat.h +++ b/Example/Pods/OCHamcrest/Source/Core/HCAssertThat.h @@ -1,96 +1,49 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import @protocol HCMatcher; +NS_ASSUME_NONNULL_BEGIN + /*! * @header * Assertion macros for using matchers in testing frameworks. - * Unmet assertions are reported to the @ref HCTestFailureReporterChain. + * Unmet assertions are reported to the HCTestFailureReporterChain. */ -FOUNDATION_EXPORT void HC_assertThatWithLocation(id testCase, id actual, id matcher, +FOUNDATION_EXPORT void HC_assertThatWithLocation(id testCase, _Nullable id actual, id matcher, const char *fileName, int lineNumber); #define HC_assertThat(actual, matcher) \ HC_assertThatWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThat(actual, matcher) - * Asserts that actual value satisfies matcher. * @param actual The object to evaluate as the actual value. * @param matcher The matcher to satisfy as the expected condition. * @discussion assertThat passes the actual value to the matcher for evaluation. If the matcher is - * not satisfied, it is reported to the @ref HCTestFailureReporterChain. + * not satisfied, it is reported to the HCTestFailureReporterChain. * * Use assertThat in test case methods. It's designed to integrate with XCTest and other testing * frameworks where individual tests are executed as methods. * * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThat instead. */ -#define assertThat HC_assertThat +#define assertThat(actual, matcher) HC_assertThat(actual, matcher) #endif -typedef id (^HCAssertThatAfterActualBlock)() __attribute__((deprecated)); - -OBJC_EXPORT void HC_assertThatAfterWithLocation(id testCase, NSTimeInterval maxTime, - HCAssertThatAfterActualBlock actualBlock, - id matcher, - const char *fileName, int lineNumber) __attribute__((deprecated)); - -#define HC_assertThatAfter(maxTime, actualBlock, matcher) \ - HC_assertThatAfterWithLocation(self, maxTime, actualBlock, matcher, __FILE__, __LINE__) - -#define HC_futureValueOf(actual) ^{ return actual; } - -#ifdef HC_SHORTHAND -/*! - * @abstract assertThatAfter(maxTime, actualBlock, matcher) - - * Asserts that a value provided by a block will satisfy matcher in less than the specified time. - * @param maxTime Max time (in seconds) in which the matcher has to be satisfied. - * @param actualBlock A block providing the object to evaluate until timeout or the matcher is satisfied. - * @param matcher The matcher to satisfy as the expected condition. - * @deprecated Version 4.2.0. Use @ref assertWithTimeout instead. - * @discussion assertThatAfter checks several times if the matcher is satisfied before timeout. To - * evaluate the matcher, the actualBlock will provide updated values of actual. If the - * matcher is not satisfied after maxTime, it is reported to the @ref HCTestFailureReporterChain. - * - * An easy way of defining the actualBlock is using the macro futureValueOf(actual), - * which also improves readability. - * - * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym - * HC_assertThatAfter instead. -*/ -#define assertThatAfter HC_assertThatAfter +typedef _Nonnull id (^HCFutureValue)(); -/*! - * @abstract futureValueOf(actual) - - * Evaluates actual value at future time. - * @param actual The object to evaluate as the actual value. - * @deprecated Version 4.2.0. Use @ref thatEventually instead. - * @discussion Wraps actual in a block so that it can be repeatedly evaluated by @ref assertThatAfter. - * - * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym - * HC_futureValueOf instead. - */ -#define futureValueOf HC_futureValueOf -#endif - - -typedef id (^HCFutureValue)(); - -OBJC_EXPORT void HC_assertWithTimeoutAndLocation(id testCase, NSTimeInterval timeout, - HCFutureValue actualBlock, - id matcher, +FOUNDATION_EXPORT void HC_assertWithTimeoutAndLocation(id testCase, NSTimeInterval timeout, + HCFutureValue actualBlock, id matcher, const char *fileName, int lineNumber); #define HC_assertWithTimeout(timeout, actualBlock, matcher) \ @@ -98,7 +51,7 @@ OBJC_EXPORT void HC_assertWithTimeoutAndLocation(id testCase, NSTimeInterval tim #define HC_thatEventually(actual) ^{ return actual; } -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertWithTimeout(timeout, actualBlock, matcher) - * Asserts that a value provided by a block will satisfy matcher within the specified time. @@ -108,25 +61,36 @@ OBJC_EXPORT void HC_assertWithTimeoutAndLocation(id testCase, NSTimeInterval tim * @discussion assertWithTimeout polls a value provided by a block to asynchronously * satisfy the matcher. The block is evaluated repeatedly for an actual value, which is passed to * the matcher for evaluation. If the matcher is not satisfied within the timeout, it is reported to - * the @ref HCTestFailureReporterChain. + * the HCTestFailureReporterChain. * - * An easy way of providing the actualBlock is to use the macro @ref thatEventually. + * An easy way of providing the actualBlock is to use the macro thatEventually. * * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertWithTimeout instead. */ -#define assertWithTimeout HC_assertWithTimeout +#define assertWithTimeout(timeout, actualBlock, matcher) HC_assertWithTimeout(timeout, actualBlock, matcher) /*! * @abstract thatEventually(actual) - * Evaluates actual value at future time. * @param actual The object to evaluate as the actual value. - * @discussion Wraps actual in a block so that it can be repeatedly evaluated by @ref assertWithTimeout. + * @discussion Wraps actual in a block so that it can be repeatedly evaluated by + * assertWithTimeout. + * * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_thatEventually instead. */ -#define thatEventually HC_thatEventually +#define thatEventually(actual) HC_thatEventually(actual) #endif + + +/*! + * @abstract "Expected , but " + * @discussion Helper function to let you describe mismatches the way assertThat does. + */ +FOUNDATION_EXPORT NSString *HCDescribeMismatch(id matcher, id actual); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/HCAssertThat.m b/Example/Pods/OCHamcrest/Source/Core/HCAssertThat.m index 9935988..d1cabae 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCAssertThat.m +++ b/Example/Pods/OCHamcrest/Source/Core/HCAssertThat.m @@ -1,25 +1,14 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCAssertThat.h" +#import "HCRunloopRunner.h" #import "HCStringDescription.h" #import "HCMatcher.h" #import "HCTestFailure.h" #import "HCTestFailureReporter.h" #import "HCTestFailureReporterChain.h" -#import - - -static NSString *describeMismatch(id matcher, id actual) -{ - HCStringDescription *description = [HCStringDescription stringDescription]; - [[[description appendText:@"Expected "] - appendDescriptionOf:matcher] - appendText:@", but "]; - [matcher describeMismatchOf:actual to:description]; - return description.description; -} static void reportMismatch(id testCase, id actual, id matcher, char const *fileName, int lineNumber) @@ -27,40 +16,43 @@ static void reportMismatch(id testCase, id actual, id matcher, HCTestFailure *failure = [[HCTestFailure alloc] initWithTestCase:testCase fileName:[NSString stringWithUTF8String:fileName] lineNumber:(NSUInteger)lineNumber - reason:describeMismatch(matcher, actual)]; + reason:HCDescribeMismatch(matcher, actual)]; HCTestFailureReporter *chain = [HCTestFailureReporterChain reporterChain]; [chain handleFailure:failure]; } -void HC_assertThatWithLocation(id testCase, id actual, id matcher, +void HC_assertThatWithLocation(id testCase, _Nullable id actual, id matcher, const char *fileName, int lineNumber) { if (![matcher matches:actual]) reportMismatch(testCase, actual, matcher, fileName, lineNumber); } -void HC_assertThatAfterWithLocation(id testCase, NSTimeInterval maxTime, - HCAssertThatAfterActualBlock actualBlock, id matcher, - const char *fileName, int lineNumber) +void HC_assertWithTimeoutAndLocation(id testCase, NSTimeInterval timeout, + HCFutureValue actualBlock, id matcher, + const char *fileName, int lineNumber) { - HC_assertWithTimeoutAndLocation(testCase, maxTime, actualBlock, matcher, fileName, lineNumber); -} + __block BOOL match = [matcher matches:actualBlock()]; -void HC_assertWithTimeoutAndLocation(id testCase, NSTimeInterval timeout, HCFutureValue actualBlock, id matcher, const char *fileName, int lineNumber) -{ - BOOL match; - id actual; - NSDate *expiryDate = [NSDate dateWithTimeIntervalSinceNow:timeout]; - while (1) + if (!match) { - actual = actualBlock(); - match = [matcher matches:actual]; - if (match || ([[NSDate date] compare:expiryDate] == NSOrderedDescending)) - break; - [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; - OSMemoryBarrier(); + HCRunloopRunner *runner = [[HCRunloopRunner alloc] initWithFulfillmentBlock:^{ + match = [matcher matches:actualBlock()]; + return match; + }]; + [runner runUntilFulfilledOrTimeout:timeout]; } if (!match) - reportMismatch(testCase, actual, matcher, fileName, lineNumber); + reportMismatch(testCase, actualBlock(), matcher, fileName, lineNumber); +} + +NSString *HCDescribeMismatch(id matcher, id actual) +{ + HCStringDescription *description = [HCStringDescription stringDescription]; + [[[description appendText:@"Expected "] + appendDescriptionOf:matcher] + appendText:@", but "]; + [matcher describeMismatchOf:actual to:description]; + return description.description; } diff --git a/Example/Pods/OCHamcrest/Source/Core/HCBaseDescription.h b/Example/Pods/OCHamcrest/Source/Core/HCBaseDescription.h index 80da5f0..8e13bc8 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCBaseDescription.h +++ b/Example/Pods/OCHamcrest/Source/Core/HCBaseDescription.h @@ -1,12 +1,14 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import #import +NS_ASSUME_NONNULL_BEGIN + /*! - * @abstract Base class for all @ref HCDescription implementations. + * @abstract Base class for all HCDescription implementations. */ @interface HCBaseDescription : NSObject @end @@ -23,3 +25,5 @@ - (void)append:(NSString *)str; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/HCBaseDescription.m b/Example/Pods/OCHamcrest/Source/Core/HCBaseDescription.m index 65adcc9..fabf17e 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCBaseDescription.m +++ b/Example/Pods/OCHamcrest/Source/Core/HCBaseDescription.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCBaseDescription.h" @@ -14,7 +14,7 @@ @implementation HCBaseDescription return self; } -- (id )appendDescriptionOf:(id)value +- (id )appendDescriptionOf:(nullable id)value { if (value == nil) [self append:@"nil"]; diff --git a/Example/Pods/OCHamcrest/Source/Core/HCBaseMatcher.h b/Example/Pods/OCHamcrest/Source/Core/HCBaseMatcher.h index 5bebb30..879b45e 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCBaseMatcher.h +++ b/Example/Pods/OCHamcrest/Source/Core/HCBaseMatcher.h @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import #import @@ -7,11 +7,13 @@ #define HC_ABSTRACT_METHOD [self subclassResponsibility:_cmd] +NS_ASSUME_NONNULL_BEGIN + /*! - * @abstract Base class for all @ref HCMatcher implementations. + * @abstract Base class for all HCMatcher implementations. * @discussion Simple matchers can just subclass HCBaseMatcher and implement -matches: * and -describeTo:. But if the matching algorithm has several "no match" paths, - * consider subclassing @ref HCDiagnosingMatcher instead. + * consider subclassing HCDiagnosingMatcher instead. */ @interface HCBaseMatcher : NSObject @@ -19,3 +21,5 @@ - (void)subclassResponsibility:(SEL)command; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/HCBaseMatcher.m b/Example/Pods/OCHamcrest/Source/Core/HCBaseMatcher.m index 02add1b..f988c0a 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCBaseMatcher.m +++ b/Example/Pods/OCHamcrest/Source/Core/HCBaseMatcher.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCBaseMatcher.h" @@ -13,13 +13,13 @@ - (NSString *)description return [HCStringDescription stringFrom:self]; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { HC_ABSTRACT_METHOD; return NO; } -- (BOOL)matches:(id)item describingMismatchTo:(id )mismatchDescription +- (BOOL)matches:(nullable id)item describingMismatchTo:(id )mismatchDescription { BOOL matchResult = [self matches:item]; if (!matchResult) @@ -27,7 +27,7 @@ - (BOOL)matches:(id)item describingMismatchTo:(id )mismatchDescri return matchResult; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { [[mismatchDescription appendText:@"was "] appendDescriptionOf:item]; } diff --git a/Example/Pods/OCHamcrest/Source/Core/HCDescription.h b/Example/Pods/OCHamcrest/Source/Core/HCDescription.h index 5534196..c09ba0e 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCDescription.h +++ b/Example/Pods/OCHamcrest/Source/Core/HCDescription.h @@ -1,12 +1,14 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! - * @abstract A description of an @ref HCMatcher. - * @discussion An @ref HCMatcher will describe itself to a description which can later be used for reporting. + * @abstract A description of an HCMatcher. + * @discussion An HCMatcher will describe itself to a description which can later be used for reporting. */ @protocol HCDescription @@ -18,10 +20,10 @@ /*! * @abstract Appends description of specified value to description. - * @discussion If the value implements the @ref HCSelfDescribing protocol, then it will be used. + * @discussion If the value implements the HCSelfDescribing protocol, then it will be used. * @return self, for chaining. */ -- (id )appendDescriptionOf:(id)value; +- (id )appendDescriptionOf:(nullable id)value; /*! * @abstract Appends a list of objects to the description. @@ -33,3 +35,5 @@ end:(NSString *)end; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/HCDiagnosingMatcher.h b/Example/Pods/OCHamcrest/Source/Core/HCDiagnosingMatcher.h index aa90c34..0cae596 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCDiagnosingMatcher.h +++ b/Example/Pods/OCHamcrest/Source/Core/HCDiagnosingMatcher.h @@ -1,15 +1,19 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Base class for matchers that generate mismatch descriptions during the matching. * @discussion Some matching algorithms have several "no match" paths. It helps to make the mismatch * description as precise as possible, but we don't want to have to repeat the matching logic to do - * so. For such matchers, subclass HCDiagnosingMatcher and implement @ref HCMatcher's + * so. For such matchers, subclass HCDiagnosingMatcher and implement HCMatcher's * -matches:describingMismatchTo:. */ @interface HCDiagnosingMatcher : HCBaseMatcher @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/HCDiagnosingMatcher.m b/Example/Pods/OCHamcrest/Source/Core/HCDiagnosingMatcher.m index 4367daf..141ecba 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCDiagnosingMatcher.m +++ b/Example/Pods/OCHamcrest/Source/Core/HCDiagnosingMatcher.m @@ -1,23 +1,23 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCDiagnosingMatcher.h" @implementation HCDiagnosingMatcher -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return [self matches:item describingMismatchTo:nil]; } -- (BOOL)matches:(id)item describingMismatchTo:(id )mismatchDescription +- (BOOL)matches:(nullable id)item describingMismatchTo:(id )mismatchDescription { HC_ABSTRACT_METHOD; return NO; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { [self matches:item describingMismatchTo:mismatchDescription]; } diff --git a/Example/Pods/OCHamcrest/Source/Core/HCMatcher.h b/Example/Pods/OCHamcrest/Source/Core/HCMatcher.h index 4472845..59d648c 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCMatcher.h +++ b/Example/Pods/OCHamcrest/Source/Core/HCMatcher.h @@ -1,16 +1,18 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCSelfDescribing.h" +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract A matcher over acceptable values. * @discussion A matcher is able to describe itself to give feedback when it fails. * * HCMatcher implementations should not directly implement this protocol. Instead, extend the - * @ref HCBaseMatcher class, which will ensure that the HCMatcher API can grow to support new - * features and remain compatible with all HCMatcher implementations. + * HCBaseMatcher class, which will ensure that the HCMatcher API can grow to support new features + * and remain compatible with all HCMatcher implementations. */ @protocol HCMatcher @@ -19,7 +21,7 @@ * @param item The object against which the matcher is evaluated. * @return YES if item matches, otherwise NO. */ -- (BOOL)matches:(id)item; +- (BOOL)matches:(nullable id)item; /*! * @abstract Evaluates the matcher for argument item. @@ -27,7 +29,7 @@ * @param mismatchDescription The description to be built or appended to if item does not match. * @return YES if item matches, otherwise NO. */ -- (BOOL)matches:(id)item describingMismatchTo:(id )mismatchDescription; +- (BOOL)matches:(nullable id)item describingMismatchTo:(nullable id )mismatchDescription; /*! * @abstract Generates a description of why the matcher has not accepted the item. @@ -38,6 +40,8 @@ * * This method assumes that matches:item is false, but will not check this. */ -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription; +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/HCSelfDescribing.h b/Example/Pods/OCHamcrest/Source/Core/HCSelfDescribing.h index 415e5d7..68ac956 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCSelfDescribing.h +++ b/Example/Pods/OCHamcrest/Source/Core/HCSelfDescribing.h @@ -1,11 +1,13 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import #import "HCDescription.h" // Convenience header +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract The ability of an object to describe itself. */ @@ -20,3 +22,5 @@ - (void)describeTo:(id )description; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/HCStringDescription.h b/Example/Pods/OCHamcrest/Source/Core/HCStringDescription.h index a645591..fad5a60 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCStringDescription.h +++ b/Example/Pods/OCHamcrest/Source/Core/HCStringDescription.h @@ -1,18 +1,18 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import @protocol HCSelfDescribing; +NS_ASSUME_NONNULL_BEGIN + /*! - * @abstract An @ref HCDescription that is stored as a string. + * @abstract An HCDescription that is stored as a string. */ @interface HCStringDescription : HCBaseDescription -{ - NSMutableString *accumulator; -} + /*! * @abstract Returns the description of an HCSelfDescribing object as a string. @@ -29,6 +29,8 @@ /*! * @abstract Initializes a newly allocated HCStringDescription that is initially empty. */ -- (instancetype)init; +- (instancetype)init NS_DESIGNATED_INITIALIZER; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/HCStringDescription.m b/Example/Pods/OCHamcrest/Source/Core/HCStringDescription.m index a9d9fa3..b51b243 100644 --- a/Example/Pods/OCHamcrest/Source/Core/HCStringDescription.m +++ b/Example/Pods/OCHamcrest/Source/Core/HCStringDescription.m @@ -1,11 +1,15 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCStringDescription.h" #import "HCSelfDescribing.h" +@interface HCStringDescription () +@property (nonatomic, strong) NSMutableString *accumulator; +@end + @implementation HCStringDescription + (NSString *)stringFrom:(id )selfDescribing @@ -24,18 +28,18 @@ - (instancetype)init { self = [super init]; if (self) - accumulator = [[NSMutableString alloc] init]; + _accumulator = [[NSMutableString alloc] init]; return self; } - (NSString *)description { - return accumulator; + return self.accumulator; } - (void)append:(NSString *)str { - [accumulator appendString:str]; + [self.accumulator appendString:str]; } @end diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCCollect.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCCollect.h index ac68ca6..b3731e0 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCCollect.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCCollect.h @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import @@ -8,30 +8,19 @@ @protocol HCMatcher; -/*! - * @abstract Returns an array of values from a variable-length comma-separated list terminated - * by nil. - */ -FOUNDATION_EXPORT NSMutableArray *HCCollectItems(id item, va_list args); +NS_ASSUME_NONNULL_BEGIN /*! - * @abstract Returns an array of matchers from a variable-length comma-separated list terminated + * @abstract Returns an array of values from a variable-length comma-separated list terminated * by nil. - * @discussion Each item is wrapped in @ref HCWrapInMatcher to transform non-matcher items into - * equality matchers. */ -FOUNDATION_EXPORT NSMutableArray *HCCollectMatchers(id item, va_list args); +FOUNDATION_EXPORT NSArray * HCCollectItems(id item, va_list args); /*! - * @abstract Returns an array of wrapped items from a variable-length comma-separated list - * terminated by nil. - * @discussion Each item is transformed by passing it to the specified wrap function. + * @abstract Returns an array of matchers from a mixed array of items and matchers. + * @discussion Each item is wrapped in HCWrapInMatcher to transform non-matcher items into equality + * matchers. */ -FOUNDATION_EXPORT NSMutableArray *HCCollectWrappedItems(id item, va_list args, id (*wrap)(id)); +FOUNDATION_EXPORT NSArray> * HCWrapIntoMatchers(NSArray *items); -/*! - * @abstract Returns an array of matchers from an array of mixed items and matchers. - * @discussion Each item is wrapped in @ref HCWrapInMatcher to transform non-matcher items into - * equality matchers. - */ -FOUNDATION_EXPORT NSArray *HCWrapIntoMatchers(NSArray *items); +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCCollect.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCCollect.m index 003dfea..ba540f0 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCCollect.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCCollect.m @@ -1,26 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCCollect.h" #import "HCWrapInMatcher.h" -static id passThrough(id value) -{ - return value; -} - -NSMutableArray *HCCollectItems(id item, va_list args) -{ - return HCCollectWrappedItems(item, args, passThrough); -} - -NSMutableArray *HCCollectMatchers(id item, va_list args) -{ - return HCCollectWrappedItems(item, args, HCWrapInMatcher); -} - -NSMutableArray *HCCollectWrappedItems(id item, va_list args, id (*wrap)(id)) +/*! + * @abstract Returns an array of wrapped items from a variable-length comma-separated list + * terminated by nil. + * @discussion Each item is transformed by passing it to the specified wrap function. + */ +static NSArray * HCCollectWrappedItems(id item, va_list args, id (*wrap)(id)) { NSMutableArray *list = [NSMutableArray arrayWithObject:wrap(item)]; @@ -34,10 +24,20 @@ static id passThrough(id value) return list; } -NSArray *HCWrapIntoMatchers(NSArray *items) +static id passThrough(id value) +{ + return value; +} + +NSArray * HCCollectItems(id item, va_list args) +{ + return HCCollectWrappedItems(item, args, passThrough); +} + +NSArray> * HCWrapIntoMatchers(NSArray *items) { - NSMutableArray *matchers = [[NSMutableArray alloc] init]; + NSMutableArray> *matchers = [[NSMutableArray alloc] init]; for (id item in items) [matchers addObject:HCWrapInMatcher(item)]; - return [matchers copy]; + return matchers; } diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.h index 719a63d..379280f 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.h @@ -1,19 +1,18 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Supporting class for matching a feature of an object. * @discussion Tests whether the result of passing the specified invocation to the value satisfies * the specified matcher. */ @interface HCInvocationMatcher : HCBaseMatcher -{ - NSInvocation *_invocation; - id _subMatcher; -} + /*! * @abstract Determines whether a mismatch will be described in short form. @@ -25,7 +24,8 @@ /*! * @abstract Initializes a newly allocated HCInvocationMatcher with an invocation and a matcher. */ -- (instancetype)initWithInvocation:(NSInvocation *)anInvocation matching:(id )aMatcher; +- (instancetype)initWithInvocation:(NSInvocation *)anInvocation matching:(id )aMatcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; /*! * @abstract Invokes stored invocation on the specified item and returns the result. @@ -38,3 +38,5 @@ - (NSString *)stringFromSelector; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.m index d400d84..2767311 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.m @@ -1,9 +1,14 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCInvocationMatcher.h" +@interface HCInvocationMatcher () +@property (nonatomic, strong) NSInvocation *invocation; +@property (nonatomic, strong) id subMatcher; +@end + @implementation HCInvocationMatcher - (instancetype)initWithInvocation:(NSInvocation *)anInvocation matching:(id )aMatcher @@ -17,35 +22,35 @@ - (instancetype)initWithInvocation:(NSInvocation *)anInvocation matching:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { if ([self invocationNotSupportedForItem:item]) [super describeMismatchOf:item to:mismatchDescription]; else { [self describeLongMismatchDescriptionOf:item to:mismatchDescription]; - [_subMatcher describeMismatchOf:[self invokeOn:item] to:mismatchDescription]; + [self.subMatcher describeMismatchOf:[self invokeOn:item] to:mismatchDescription]; } } @@ -65,12 +70,12 @@ - (void)describeTo:(id )description [[[[description appendText:@"an object with "] appendText:[self stringFromSelector]] appendText:@" "] - appendDescriptionOf:_subMatcher]; + appendDescriptionOf:self.subMatcher]; } - (NSString *)stringFromSelector { - return NSStringFromSelector([_invocation selector]); + return NSStringFromSelector(self.invocation.selector); } @end diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.h index 73d7d71..d9ad35c 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.h @@ -1,10 +1,14 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Throws an NSException if obj is nil. */ FOUNDATION_EXPORT void HCRequireNonNilObject(id obj); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.m index e64ff05..08fe383 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCRequireNonNilObject.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRunloopRunner.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRunloopRunner.h new file mode 100644 index 0000000..206ee1e --- /dev/null +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRunloopRunner.h @@ -0,0 +1,21 @@ +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt + +#import + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Runs runloop until fulfilled, or timeout is reached. + * @discussion Based on http://bou.io/CTTRunLoopRunUntil.html + */ +@interface HCRunloopRunner : NSObject + +- (instancetype)initWithFulfillmentBlock:(BOOL (^)())fulfillmentBlock NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; +- (void)runUntilFulfilledOrTimeout:(CFTimeInterval)timeout; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRunloopRunner.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRunloopRunner.m new file mode 100644 index 0000000..0bdcdb2 --- /dev/null +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCRunloopRunner.m @@ -0,0 +1,36 @@ +#import "HCRunloopRunner.h" + + +@implementation HCRunloopRunner +{ + CFRunLoopObserverRef _observer; +} + +- (instancetype)initWithFulfillmentBlock:(BOOL (^)())fulfillmentBlock +{ + self = [super init]; + if (self) + { + _observer = CFRunLoopObserverCreateWithHandler(NULL, kCFRunLoopBeforeWaiting, YES, 0, ^(CFRunLoopObserverRef observer, CFRunLoopActivity activity) { + if (fulfillmentBlock()) + CFRunLoopStop(CFRunLoopGetCurrent()); + else + CFRunLoopWakeUp(CFRunLoopGetCurrent()); + }); + CFRunLoopAddObserver(CFRunLoopGetCurrent(), _observer, kCFRunLoopDefaultMode); + } + return self; +} + +- (void)dealloc +{ + CFRunLoopRemoveObserver(CFRunLoopGetCurrent(), _observer, kCFRunLoopDefaultMode); + CFRelease(_observer); +} + +- (void)runUntilFulfilledOrTimeout:(CFTimeInterval)timeout +{ + CFRunLoopRunInMode(kCFRunLoopDefaultMode, timeout, false); +} + +@end diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.h index 759ac5a..16ff013 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.h @@ -1,13 +1,17 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import @protocol HCMatcher; +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Wraps argument in a matcher, if necessary. * @return The argument as-is if it is already a matcher, otherwise wrapped in an equalTo matcher. */ -FOUNDATION_EXPORT id HCWrapInMatcher(id matcherOrValue); +FOUNDATION_EXPORT _Nullable id HCWrapInMatcher(_Nullable id matcherOrValue); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.m index 818ea31..f86e564 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCWrapInMatcher.h" #import "HCIsEqual.h" -id HCWrapInMatcher(id matcherOrValue) +_Nullable id HCWrapInMatcher(_Nullable id matcherOrValue) { if (!matcherOrValue) return nil; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/NSInvocation+OCHamcrest.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/NSInvocation+OCHamcrest.h index cb63ccf..ce86a6f 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/NSInvocation+OCHamcrest.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/NSInvocation+OCHamcrest.h @@ -1,9 +1,11 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + @interface NSInvocation (OCHamcrest) + (NSInvocation *)och_invocationWithTarget:(id)target selector:(SEL)selector; @@ -11,3 +13,5 @@ - (id)och_invoke; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/NSInvocation+OCHamcrest.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/NSInvocation+OCHamcrest.m index 2e20ab3..9927ee5 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/NSInvocation+OCHamcrest.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/NSInvocation+OCHamcrest.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "NSInvocation+OCHamcrest.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.h index 91edd59..54fa863 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCBoolReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.m index 1f30d0b..39a86d5 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCBoolReturnGetter.h" @implementation HCBoolReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(BOOL) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.h index ea035b1..033b96b 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCCharReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.m index 315bba8..db2c7ca 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCCharReturnGetter.h" @implementation HCCharReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(char) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.h index 74f6139..35e4aec 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCDoubleReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.m index aead5e3..6cdcaae 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCDoubleReturnGetter.h" @implementation HCDoubleReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(double) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.h index 919ed6d..3d49fba 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCFloatReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.m index 423d86a..99edf33 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCFloatReturnGetter.h" @implementation HCFloatReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(float) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.h index 71a22c3..a0b5213 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCIntReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.m index a48df7a..0b5b59f 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIntReturnGetter.h" @implementation HCIntReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(int) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.h index 1febe60..abbb524 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCLongLongReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.m index 0bc8703..54251f8 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCLongLongReturnGetter.h" @implementation HCLongLongReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(long long) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.h index 215120e..a8d1687 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCLongReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.m index f7be984..50ba0e6 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCLongReturnGetter.h" @implementation HCLongReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(long) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.h index f2db64a..00b1896 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCObjectReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.m index 21dad7a..2354830 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCObjectReturnGetter.h" @implementation HCObjectReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(id) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.h index 8f47c2b..03f8213 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.h @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.m index f30fb65..931a73d 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnTypeHandlerChain.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.h index e1e5822..cbfd8a9 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.h @@ -1,15 +1,20 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Chain-of-responsibility for handling NSInvocation return types. */ @interface HCReturnValueGetter : NSObject -- (instancetype)initWithType:(char const *)handlerType successor:(HCReturnValueGetter *)successor; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; - (id)returnValueOfType:(char const *)type fromInvocation:(NSInvocation *)invocation; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.m index 422a85a..91818b6 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" @@ -10,13 +10,12 @@ - (id)returnValueFromInvocation:(NSInvocation *)invocation; @interface HCReturnValueGetter () @property (nonatomic, assign, readonly) char const *handlerType; -@property (nonatomic, strong, readonly) HCReturnValueGetter *successor; +@property (nullable, nonatomic, strong, readonly) HCReturnValueGetter *successor; @end - @implementation HCReturnValueGetter -- (instancetype)initWithType:(char const *)handlerType successor:(HCReturnValueGetter *)successor +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor { self = [super init]; if (self) diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.h index f948088..7234ae7 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCShortReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.m index a7d42c5..611f90a 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCShortReturnGetter.h" @implementation HCShortReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(short) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.h index d6482c0..9cd6ddc 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCUnsignedCharReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.m index 57322e8..f7c737b 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCUnsignedCharReturnGetter.h" @implementation HCUnsignedCharReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(unsigned char) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.h index df88101..10cedf3 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCUnsignedIntReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.m index 7b8a71b..47dfa25 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCUnsignedIntReturnGetter.h" @implementation HCUnsignedIntReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(unsigned int) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.h index 2345fbd..e4671b1 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCUnsignedLongLongReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.m index 326ecb5..87c88de 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCUnsignedLongLongReturnGetter.h" @implementation HCUnsignedLongLongReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(unsigned long long) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.h index 6e9878d..abec904 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCUnsignedLongReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.m index 7f4dd52..fe6ef2c 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCUnsignedLongReturnGetter.h" @implementation HCUnsignedLongReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(unsigned long) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.h index 2cf7e74..9fc1151 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.h @@ -1,11 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCReturnValueGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface HCUnsignedShortReturnGetter : HCReturnValueGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor; +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable HCReturnValueGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.m index 05ef93f..b5dd20a 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.m @@ -1,12 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCUnsignedShortReturnGetter.h" @implementation HCUnsignedShortReturnGetter -- (instancetype)initWithSuccessor:(HCReturnValueGetter *)successor +- (instancetype)initWithSuccessor:(nullable HCReturnValueGetter *)successor { self = [super initWithType:@encode(unsigned short) successor:successor]; return self; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandler.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandler.h deleted file mode 100644 index d00da07..0000000 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandler.h +++ /dev/null @@ -1,11 +0,0 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt - -#import - -/*! - * @class HCTestFailureHandler - * @abstract Chain-of-responsibility for handling test failures. - * @deprecated Version 4.2.0. Use @ref HCTestFailureReporter instead. - */ -@compatibility_alias HCTestFailureHandler HCTestFailureReporter; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.h deleted file mode 100644 index 7e86e6f..0000000 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.h +++ /dev/null @@ -1,11 +0,0 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt - -#import - -/*! - * @abstract Returns chain of test failure handlers. - * @deprecated Version 4.2.0. Use [HCTestFailureReporterChain chain] instead. - * @see HCTestFailureReporterChain - */ -FOUNDATION_EXPORT HCTestFailureHandler *HC_testFailureHandlerChain(void) __attribute__((deprecated)); diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.m deleted file mode 100644 index cc03bf6..0000000 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.m +++ /dev/null @@ -1,12 +0,0 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt - -#import "HCTestFailureHandlerChain.h" - -#import "HCTestFailureReporterChain.h" - - -HCTestFailureHandler *HC_testFailureHandlerChain(void) -{ - return [HCTestFailureReporterChain reporterChain]; -} diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.h index c847b0d..3611d46 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.h @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCTestFailureReporter.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.m index d958099..24bf53d 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCGenericTestFailureReporter.h" @@ -13,7 +13,7 @@ - (BOOL)willHandleFailure:(HCTestFailure *)failure return YES; } -- (void)executeHandlingOfFailure:(HCTestFailure *)failure; +- (void)executeHandlingOfFailure:(HCTestFailure *)failure { NSException *exception = [self createExceptionForFailure:failure]; [exception raise]; diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.h index 0fc7042..bf10913 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.h @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCTestFailureReporter.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.m index a3809e6..6228e70 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCSenTestFailureReporter.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailure.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailure.h index 8651652..58615db 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailure.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailure.h @@ -1,9 +1,11 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! @abstract Test failure location and reason. */ @@ -13,8 +15,8 @@ * @abstract Test case used to run test method. * @discussion Can be nil. * - * For unmet OCHamcrest assertions, if the assertion was @ref assertThat or @ref assertWithTimeout, - * testCase will be the test case instance. + * For unmet OCHamcrest assertions, if the assertion was assertThat or + * assertWithTimeout, testCase will be the test case instance. */ @property (nonatomic, strong, readonly) id testCase; @@ -36,3 +38,5 @@ reason:(NSString *)reason; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailure.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailure.m index a24bb5c..d6d8487 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailure.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailure.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCTestFailure.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.h index bde8b86..b9b075e 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.h @@ -1,17 +1,19 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import @class HCTestFailure; +NS_ASSUME_NONNULL_BEGIN + /*! Chain-of-responsibility for handling test failures. */ @interface HCTestFailureReporter : NSObject -@property (nonatomic, strong) HCTestFailureReporter *successor; +@property (nullable, nonatomic, strong) HCTestFailureReporter *successor; /*! Handle test failure at specific location, or pass to successor. @@ -19,3 +21,5 @@ - (void)handleFailure:(HCTestFailure *)failure; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.m index 0cb66d2..d8c7211 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCTestFailureReporter.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.h index a33f052..3c1a279 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.h @@ -1,11 +1,13 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import @class HCTestFailureReporter; +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Manage chain-of-responsibility for reporting test failures. * @discussion This provides a generic way of reporting test failures without knowing about the @@ -30,3 +32,5 @@ + (void)reset; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.m index b597f47..1c4e3ed 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCTestFailureReporterChain.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.h b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.h index f7d6252..d77db53 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.h +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.h @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCTestFailureReporter.h" diff --git a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.m b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.m index e6a4b24..1f130da 100644 --- a/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.m +++ b/Example/Pods/OCHamcrest/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCXCTestFailureReporter.h" diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCEvery.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCEvery.h index b22dc74..d56c1df 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCEvery.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCEvery.h @@ -1,9 +1,11 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if every item in a collection satisfies a nested matcher. */ @@ -11,28 +13,33 @@ @property (nonatomic, strong, readonly) id matcher; -- (instancetype)initWithMatcher:(id )matcher; +- (instancetype)initWithMatcher:(id )matcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end -FOUNDATION_EXPORT id HC_everyItem(id itemMatcher); +FOUNDATION_EXPORT id HC_everyItem(id itemMatcher); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract everyItem(itemMatcher) - - * Creates a matcher for collections that matches when the examined collection's items are all - * matched by the specified matcher. + * @abstract Creates a matcher for collections that matches when the examined collection's items are + * all matched by the specified matcher. * @param itemMatcher The matcher to apply to every item provided by the examined collection. * @discussion This matcher works on any collection that conforms to the NSFastEnumeration protocol, * performing a single pass. * * Example
- *
assertThat(@[@"bar", @"baz"], everyItem(startsWith(@"ba")))
+ *
assertThat(\@[\@"bar", \@"baz"], everyItem(startsWith(\@"ba")))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_everyItem instead. */ -#define everyItem HC_everyItem +static inline id everyItem(id itemMatcher) +{ + return HC_everyItem(itemMatcher); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCEvery.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCEvery.m index 5fec552..6e78076 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCEvery.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCEvery.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCEvery.h" @@ -68,7 +68,7 @@ - (void)describeTo:(id )description @end -id HC_everyItem(id itemMatcher) +id HC_everyItem(id itemMatcher) { return [[HCEvery alloc] initWithMatcher:itemMatcher]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCHasCount.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCHasCount.h index 8418d2b..ee83072 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCHasCount.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCHasCount.h @@ -1,55 +1,63 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if collection size satisfies a nested matcher. */ @interface HCHasCount : HCBaseMatcher -+ (instancetype)hasCount:(id )countMatcher; -- (instancetype)initWithCount:(id )countMatcher; +- (instancetype)initWithMatcher:(id )countMatcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_hasCount(id countMatcher); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract hasCount(countMatcher) - - * Creates a matcher that matches when the examined object's -count method returns a - * value that satisfies the specified matcher. + * @abstract Creates a matcher that matches when the examined object's -count method + * returns a value that satisfies the specified matcher. * @param countMatcher A matcher for the count of an examined collection. * @discussion * Example
- * assertThat(\@[\@"foo", \@"bar"], hasCount(equalTo(\@2))) + *
assertThat(\@[\@"foo", \@"bar"], hasCount(equalTo(@2)))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasCount instead. */ -#define hasCount HC_hasCount +static inline id hasCount(id countMatcher) +{ + return HC_hasCount(countMatcher); +} #endif FOUNDATION_EXPORT id HC_hasCountOf(NSUInteger count); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract hasCountOf(value) - - * Creates a matcher that matches when the examined object's -count method returns a - * value that equals the specified value. - * @param value NSUInteger value to compare against as the expected count. + * @abstract Creates a matcher that matches when the examined object's -count method + * returns a value that equals the specified value. + * @param value Value to compare against as the expected count. * @discussion * Example
- * assertThat(\@[\@"foo", \@"bar"], hasCountOf(2)) + *
assertThat(\@[\@"foo", \@"bar"], hasCountOf(2))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasCountOf instead. */ -#define hasCountOf HC_hasCountOf +static inline id hasCountOf(NSUInteger value) +{ + return HC_hasCountOf(value); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCHasCount.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCHasCount.m index d3693c8..9f63d0e 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCHasCount.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCHasCount.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCHasCount.h" @@ -12,12 +12,7 @@ @interface HCHasCount () @implementation HCHasCount -+ (instancetype)hasCount:(id )countMatcher -{ - return [[self alloc] initWithCount:countMatcher]; -} - -- (instancetype)initWithCount:(id )countMatcher +- (instancetype)initWithMatcher:(id )countMatcher { self = [super init]; if (self) @@ -25,7 +20,7 @@ - (instancetype)initWithCount:(id )countMatcher return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (![self itemHasCount:item]) return NO; @@ -39,7 +34,7 @@ - (BOOL)itemHasCount:(id)item return [item respondsToSelector:@selector(count)]; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { [mismatchDescription appendText:@"was "]; if ([self itemHasCount:item]) @@ -61,7 +56,7 @@ - (void)describeTo:(id )description id HC_hasCount(id countMatcher) { - return [HCHasCount hasCount:countMatcher]; + return [[HCHasCount alloc] initWithMatcher:countMatcher]; } id HC_hasCountOf(NSUInteger value) diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.h index 075747f..7a5d6f6 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.h @@ -1,23 +1,25 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if any item in a collection satisfies a nested matcher. */ @interface HCIsCollectionContaining : HCDiagnosingMatcher -+ (instancetype)isCollectionContaining:(id )elementMatcher; -- (instancetype)initWithMatcher:(id )elementMatcher; +- (instancetype)initWithMatcher:(id )elementMatcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_hasItem(id itemMatcher); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract hasItem(itemMatcher) - * Creates a matcher for collections that matches when at least one item in the examined collection @@ -31,38 +33,63 @@ FOUNDATION_EXPORT id HC_hasItem(id itemMatcher); * to check for equality. * * Example
- *
assertThat(@[@1, @2, @3], hasItem(equalTo(@2)))
+ *
assertThat(\@[\@1, \@2, \@3], hasItem(equalTo(\@2)))
* - *
assertThat(@[@1, @2, @3], hasItem(@2))
+ *
assertThat(\@[\@1, \@2, \@3], hasItem(\@2))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasItem instead. */ #define hasItem HC_hasItem #endif -FOUNDATION_EXPORT id HC_hasItems(id itemMatchers, ...) NS_REQUIRES_NIL_TERMINATION; +FOUNDATION_EXPORT id HC_hasItemsIn(NSArray *itemMatchers); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract hasItems(itemMatchers, ...) - - * Creates a matcher for collections that matches when all specified matchers are satisfied by any - * item in the examined collection. - * @param itemMatchers,... A comma-separated list of matchers ending with nil. + * @abstract Creates a matcher for collections that matches when all specified matchers are + * satisfied by any item in the examined collection. + * @param itemMatchers An array of matchers. Any element that is not a matcher is implicitly wrapped + * in an equalTo matcher to check for equality. * @discussion This matcher works on any collection that conforms to the NSFastEnumeration protocol, * performing one pass for each matcher. * + * Example
+ *
assertThat(\@[\@"foo", \@"bar", \@"baz"], hasItems(\@[endsWith(\@"z"), endsWith(\@"o")]))
+ * + * Name Clash
+ * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym + * HC_hasItemsIn instead. + */ +static inline id hasItemsIn(NSArray *itemMatchers) +{ + return HC_hasItemsIn(itemMatchers); +} +#endif + + +FOUNDATION_EXPORT id HC_hasItems(id itemMatchers, ...) NS_REQUIRES_NIL_TERMINATION; + +#ifndef HC_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates a matcher for collections that matches when all specified matchers are + * satisfied by any item in the examined collection. + * @param itemMatchers... A comma-separated list of matchers ending with nil. * Any argument that is not a matcher is implicitly wrapped in an equalTo matcher to check * for equality. + * @discussion This matcher works on any collection that conforms to the NSFastEnumeration protocol, + * performing one pass for each matcher. * * Example
- *
assertThat(@[@"foo", @"bar", @"baz"], hasItems(endsWith(@"z"), endsWith(@"o")))
+ *
assertThat(\@[\@"foo", \@"bar", \@"baz"], hasItems(endsWith(\@"z"), endsWith(\@"o"), nil))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasItems instead. */ -#define hasItems HC_hasItems +#define hasItems(itemMatchers...) HC_hasItems(itemMatchers) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.m index 2534912..96cb321 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsCollectionContaining.h" @@ -15,12 +15,6 @@ @interface HCIsCollectionContaining () @implementation HCIsCollectionContaining - -+ (instancetype)isCollectionContaining:(id )elementMatcher -{ - return [[self alloc] initWithMatcher:elementMatcher]; -} - - (instancetype)initWithMatcher:(id )elementMatcher { self = [super init]; @@ -72,15 +66,23 @@ - (void)describeTo:(id )description id HC_hasItem(id itemMatcher) { HCRequireNonNilObject(itemMatcher); - return [HCIsCollectionContaining isCollectionContaining:HCWrapInMatcher(itemMatcher)]; + return [[HCIsCollectionContaining alloc] initWithMatcher:HCWrapInMatcher(itemMatcher)]; +} + +id HC_hasItemsIn(NSArray *itemMatchers) +{ + NSMutableArray *matchers = [[NSMutableArray alloc] init]; + for (id itemMatcher in itemMatchers) + [matchers addObject:HC_hasItem(itemMatcher)]; + return HC_allOfIn(matchers); } id HC_hasItems(id itemMatchers, ...) { va_list args; va_start(args, itemMatchers); - NSArray *matchers = HCCollectWrappedItems(itemMatchers, args, HC_hasItem); + NSArray *array = HCCollectItems(itemMatchers, args); va_end(args); - return [HCAllOf allOf:matchers]; + return HC_hasItemsIn(array); } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.h index c3f7fc5..c75d0c7 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.h @@ -1,28 +1,30 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if every item in a collection, in any order, satisfy a list of nested matchers. */ @interface HCIsCollectionContainingInAnyOrder : HCDiagnosingMatcher -+ (instancetype)isCollectionContainingInAnyOrder:(NSArray *)itemMatchers; -- (instancetype)initWithMatchers:(NSArray *)itemMatchers; +- (instancetype)initWithMatchers:(NSArray> *)itemMatchers NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end -FOUNDATION_EXPORT id HC_containsInAnyOrder(id itemMatchers, ...) NS_REQUIRES_NIL_TERMINATION; +FOUNDATION_EXPORT id HC_containsInAnyOrderIn(NSArray *itemMatchers); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract containsInAnyOrder(itemMatchers, ...) - - * Creates an order-agnostic matcher for collections that matches when each item in the examined - * collection satisfies one matcher anywhere in the specified list of matchers. - * @param itemMatchers,... A comma-separated list of matchers ending with nil. + * @abstract Creates an order-agnostic matcher for collections that matches when each item in the + * examined collection satisfies one matcher anywhere in the specified list of matchers. + * @param itemMatchers An array of matchers. Any element that is not a matcher is implicitly wrapped + * in an equalTo matcher to check for equality. * @discussion This matcher works on any collection that conforms to the NSFastEnumeration protocol, * performing a single pass. For a positive match, the examined collection must be of the same * length as the specified list of matchers. @@ -31,17 +33,47 @@ FOUNDATION_EXPORT id HC_containsInAnyOrder(id itemMatchers, ...) NS_REQUIRES_NIL * be careful when specifying matchers that may be satisfied by more than one entry in an examined * collection. * + * Examples
+ *
assertThat(\@[\@"foo", \@"bar"], containsInAnyOrderIn(\@[equalTo(\@"bar"), equalTo(\@"foo")]))
+ *
assertThat(\@[\@"foo", \@"bar"], containsInAnyOrderIn(@[\@"bar", \@"foo"]))
+ * + * Name Clash
+ * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym + * HC_containsInAnyOrderIn instead. + */ +static inline id containsInAnyOrderIn(NSArray *itemMatchers) +{ + return HC_containsInAnyOrderIn(itemMatchers); +} +#endif + + +FOUNDATION_EXPORT id HC_containsInAnyOrder(id itemMatchers, ...) NS_REQUIRES_NIL_TERMINATION; + +#ifndef HC_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates an order-agnostic matcher for collections that matches when each item in the + * examined collection satisfies one matcher anywhere in the specified list of matchers. + * @param itemMatchers... A comma-separated list of matchers ending with nil. * Any argument that is not a matcher is implicitly wrapped in an equalTo matcher to check * for equality. + * @discussion This matcher works on any collection that conforms to the NSFastEnumeration protocol, + * performing a single pass. For a positive match, the examined collection must be of the same + * length as the specified list of matchers. * - * Examples
- *
assertThat(@[@"foo", @"bar"], containsInAnyOrder(equalTo(@"bar"), equalTo(@"foo")))
+ * Note: Each matcher in the specified list will only be used once during a given examination, so + * be careful when specifying matchers that may be satisfied by more than one entry in an examined + * collection. * - *
assertThat(@[@"foo", @"bar"], containsInAnyOrder(@"bar", @"foo"))
+ * Examples
+ *
assertThat(\@[\@"foo", \@"bar"], containsInAnyOrder(equalTo(\@"bar"), equalTo(\@"foo"), nil))
+ *
assertThat(\@[\@"foo", \@"bar"], containsInAnyOrder(\@"bar", \@"foo", nil))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_containsInAnyOrder instead. */ -#define containsInAnyOrder HC_containsInAnyOrder +#define containsInAnyOrder(itemMatchers...) HC_containsInAnyOrder(itemMatchers) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.m index e11c7d3..9e5dc61 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsCollectionContainingInAnyOrder.h" @@ -7,13 +7,13 @@ @interface HCMatchingInAnyOrder : NSObject -@property (nonatomic, copy, readonly) NSMutableArray *matchers; +@property (nonatomic, copy, readonly) NSMutableArray> *matchers; @property (nonatomic, strong, readonly) id mismatchDescription; @end @implementation HCMatchingInAnyOrder -- (instancetype)initWithMatchers:(NSArray *)itemMatchers +- (instancetype)initWithMatchers:(NSArray> *)itemMatchers mismatchDescription:(id )description { self = [super init]; @@ -25,7 +25,7 @@ - (instancetype)initWithMatchers:(NSArray *)itemMatchers return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { NSUInteger index = 0; for (id matcher in self.matchers) @@ -58,17 +58,12 @@ - (BOOL)isFinishedWith:(NSArray *)collection @interface HCIsCollectionContainingInAnyOrder () -@property (nonatomic, copy, readonly) NSArray *matchers; +@property (nonatomic, copy, readonly) NSArray> *matchers; @end @implementation HCIsCollectionContainingInAnyOrder -+ (instancetype)isCollectionContainingInAnyOrder:(NSArray *)itemMatchers -{ - return [[self alloc] initWithMatchers:itemMatchers]; -} - -- (instancetype)initWithMatchers:(NSArray *)itemMatchers +- (instancetype)initWithMatchers:(NSArray> *)itemMatchers { self = [super init]; if (self) @@ -104,12 +99,17 @@ - (void)describeTo:(id )description @end +id HC_containsInAnyOrderIn(NSArray *itemMatchers) +{ + return [[HCIsCollectionContainingInAnyOrder alloc] initWithMatchers:HCWrapIntoMatchers(itemMatchers)]; +} + id HC_containsInAnyOrder(id itemMatchers, ...) { va_list args; va_start(args, itemMatchers); - NSArray *matchers = HCCollectMatchers(itemMatchers, args); + NSArray *array = HCCollectItems(itemMatchers, args); va_end(args); - return [HCIsCollectionContainingInAnyOrder isCollectionContainingInAnyOrder:matchers]; + return HC_containsInAnyOrderIn(array); } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.h index d80b528..a011224 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.h @@ -1,44 +1,71 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if every item in a collection satisfies a list of nested matchers, in order. */ @interface HCIsCollectionContainingInOrder : HCDiagnosingMatcher -+ (instancetype)isCollectionContainingInOrder:(NSArray *)itemMatchers; -- (instancetype)initWithMatchers:(NSArray *)itemMatchers; +- (instancetype)initWithMatchers:(NSArray> *)itemMatchers NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end -FOUNDATION_EXPORT id HC_contains(id itemMatchers, ...) NS_REQUIRES_NIL_TERMINATION; +FOUNDATION_EXPORT id HC_containsIn(NSArray *itemMatchers); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract contains(itemMatchers, ...) - - * Creates a matcher for collections that matches when each item in the examined collection - * satisfies the corresponding matcher in the specified list of matchers. - * @param itemMatchers,... A comma-separated list of matchers ending with nil. + * @abstract Creates a matcher for collections that matches when each item in the examined + * collection satisfies the corresponding matcher in the specified list of matchers. + * @param itemMatchers An array of matchers. Any element that is not a matcher is implicitly wrapped + * in an equalTo matcher to check for equality. * @discussion This matcher works on any collection that conforms to the NSFastEnumeration protocol, * performing a single pass. For a positive match, the examined collection must be of the same * length as the specified list of matchers. * + * Examples
+ *
assertThat(\@[\@"foo", \@"bar"], containsIn(\@[equalTo(\@"foo"), equalTo(\@"bar")]))
+ *
assertThat(\@[\@"foo", \@"bar"], containsIn(\@[\@"foo", \@"bar"]))
+ * + * Name Clash
+ * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym + * HC_containsIn instead.) + */ +static inline id containsIn(NSArray *itemMatchers) +{ + return HC_containsIn(itemMatchers); +} +#endif + + +FOUNDATION_EXPORT id HC_contains(id itemMatchers, ...) NS_REQUIRES_NIL_TERMINATION; + +#ifndef HC_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates a matcher for collections that matches when each item in the examined + * collection satisfies the corresponding matcher in the specified list of matchers. + * @param itemMatchers... A comma-separated list of matchers ending with nil. * Any argument that is not a matcher is implicitly wrapped in an equalTo matcher to check * for equality. + * @discussion This matcher works on any collection that conforms to the NSFastEnumeration protocol, + * performing a single pass. For a positive match, the examined collection must be of the same + * length as the specified list of matchers. * * Examples
- *
assertThat(@[@"foo", @"bar"], contains(equalTo(@"foo"), equalTo(@"bar")))
- * - *
assertThat(@[@"foo", @"bar"], contains(@"foo", @"bar"))
- * + *
assertThat(\@[\@"foo", \@"bar"], contains(equalTo(\@"foo"), equalTo(\@"bar"), nil))
+ *
assertThat(\@[\@"foo", \@"bar"], contains(\@"foo", \@"bar", nil))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_contains instead.) */ -#define contains HC_contains +#define contains(itemMatchers...) HC_contains(itemMatchers) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.m index 5e6ec0e..eab6614 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsCollectionContainingInOrder.h" @@ -7,14 +7,14 @@ @interface HCMatchSequence : NSObject -@property (nonatomic, copy, readonly) NSArray *matchers; +@property (nonatomic, copy, readonly) NSArray> *matchers; @property (nonatomic, strong, readonly) id mismatchDescription; @property (nonatomic, assign) NSUInteger nextMatchIndex; @end @implementation HCMatchSequence -- (instancetype)initWithMatchers:(NSArray *)itemMatchers +- (instancetype)initWithMatchers:(NSArray> *)itemMatchers mismatchDescription:(id )description { self = [super init]; @@ -26,7 +26,7 @@ - (instancetype)initWithMatchers:(NSArray *)itemMatchers return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return [self isNotSurplus:item] && [self isMatched:item]; } @@ -58,7 +58,10 @@ - (BOOL)isNotSurplus:(id)item { if (self.matchers.count <= self.nextMatchIndex) { - [[self.mismatchDescription appendText:@"not matched: "] appendDescriptionOf:item]; + [[self.mismatchDescription + appendText:[NSString stringWithFormat:@"exceeded count of %lu with item ", + (unsigned long)self.matchers.count]] + appendDescriptionOf:item]; return NO; } return YES; @@ -66,7 +69,8 @@ - (BOOL)isNotSurplus:(id)item - (void)describeMismatchOfMatcher:(id )matcher item:(id)item { - [self.mismatchDescription appendText:[NSString stringWithFormat:@"item %zi: ", (size_t)self.nextMatchIndex]]; + [self.mismatchDescription appendText:[NSString stringWithFormat:@"item %lu: ", + (unsigned long)self.nextMatchIndex]]; [matcher describeMismatchOf:item to:self.mismatchDescription]; } @@ -74,17 +78,12 @@ - (void)describeMismatchOfMatcher:(id )matcher item:(id)item @interface HCIsCollectionContainingInOrder () -@property (nonatomic, copy, readonly) NSArray *matchers; +@property (nonatomic, copy, readonly) NSArray> *matchers; @end @implementation HCIsCollectionContainingInOrder -+ (instancetype)isCollectionContainingInOrder:(NSArray *)itemMatchers -{ - return [[self alloc] initWithMatchers:itemMatchers]; -} - -- (instancetype)initWithMatchers:(NSArray *)itemMatchers +- (instancetype)initWithMatchers:(NSArray> *)itemMatchers { self = [super init]; if (self) @@ -119,12 +118,17 @@ - (void)describeTo:(id )description @end +id HC_containsIn(NSArray *itemMatchers) +{ + return [[HCIsCollectionContainingInOrder alloc] initWithMatchers:HCWrapIntoMatchers(itemMatchers)]; +} + id HC_contains(id itemMatchers, ...) { va_list args; va_start(args, itemMatchers); - NSArray *matchers = HCCollectMatchers(itemMatchers, args); + NSArray *array = HCCollectItems(itemMatchers, args); va_end(args); - return [HCIsCollectionContainingInOrder isCollectionContainingInOrder:matchers]; + return HC_containsIn(array); } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.h index 3f05fc2..fc25327 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.h @@ -1,18 +1,23 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if every item in a collection satisfies a list of nested matchers, in order. */ @interface HCIsCollectionContainingInRelativeOrder : HCDiagnosingMatcher -- (instancetype)initWithMatchers:(NSArray *)itemMatchers; + +- (instancetype)initWithMatchers:(NSArray> *)itemMatchers NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + @end -FOUNDATION_EXPORT id hc_containsInRelativeOrder(NSArray *itemMatchers); +FOUNDATION_EXPORT id HC_containsInRelativeOrder(NSArray *itemMatchers); #ifndef HC_DISABLE_SHORT_SYNTAX /*! @@ -27,16 +32,17 @@ FOUNDATION_EXPORT id hc_containsInRelativeOrder(NSArray *itemMatchers); * equalTo matcher to check for equality. * * Examples
- *
assertThat(@[@1, @2, @3, @4, @5], containsInRelativeOrder(equalTo(@2), equalTo(@4)))
- * - *
assertThat(@[@1, @2, @3, @4, @5], containsInRelativeOrder(@2, @4))
+ *
assertThat(\@[\@1, \@2, \@3, \@4, \@5], containsInRelativeOrder(equalTo(\@2), equalTo(\@4)))
+ *
assertThat(\@[\@1, \@2, \@3, \@4, \@5], containsInRelativeOrder(\@2, \@4))
* * Name Clash
* In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym - * hc_containsInRelativeOrder instead. + * HC_containsInRelativeOrder instead. */ static inline id containsInRelativeOrder(NSArray *itemMatchers) { - return hc_containsInRelativeOrder(itemMatchers); + return HC_containsInRelativeOrder(itemMatchers); } #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.m index 007d88f..264e535 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsCollectionContainingInRelativeOrder.h" @@ -18,7 +18,7 @@ static void HCRequireNonEmptyArray(NSArray *array) @interface HCMatchSequenceInRelativeOrder : NSObject -@property (nonatomic, copy, readonly) NSArray *matchers; +@property (nonatomic, copy, readonly) NSArray> *matchers; @property (nonatomic, strong, readonly) id mismatchDescription; @property (nonatomic, assign) NSUInteger nextMatchIndex; @property (nonatomic, strong) id lastMatchedItem; @@ -26,16 +26,9 @@ @interface HCMatchSequenceInRelativeOrder : NSObject @implementation HCMatchSequenceInRelativeOrder -- (instancetype)initWithMatchers:(NSArray *)itemMatchers +- (instancetype)initWithMatchers:(NSArray> *)itemMatchers mismatchDescription:(id )description { - if (itemMatchers.count == 0) - { - @throw [NSException exceptionWithName:@"EmptyArray" - reason:@"Must be non-empty array" - userInfo:nil]; - } - self = [super init]; if (self) { @@ -83,12 +76,12 @@ - (BOOL)isFinished @interface HCIsCollectionContainingInRelativeOrder () -@property (nonatomic, copy, readonly) NSArray *matchers; +@property (nonatomic, copy, readonly) NSArray> *matchers; @end @implementation HCIsCollectionContainingInRelativeOrder -- (instancetype)initWithMatchers:(NSArray *)itemMatchers +- (instancetype)initWithMatchers:(NSArray> *)itemMatchers { HCRequireNonEmptyArray(itemMatchers); @@ -124,7 +117,7 @@ - (void)describeTo:(id )description @end -id hc_containsInRelativeOrder(NSArray *itemMatchers) +id HC_containsInRelativeOrder(NSArray *itemMatchers) { NSArray *matchers = HCWrapIntoMatchers(itemMatchers); return [[HCIsCollectionContainingInRelativeOrder alloc] initWithMatchers:matchers]; diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.h index 5a053e5..fe050de 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.h @@ -1,39 +1,62 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if every item in a collection satisfies any of the nested matchers. */ @interface HCIsCollectionOnlyContaining : HCEvery - -+ (instancetype)isCollectionOnlyContaining:(id )matcher; - @end +FOUNDATION_EXPORT id HC_onlyContainsIn(NSArray *itemMatchers); -FOUNDATION_EXPORT id HC_onlyContains(id itemMatchers, ...) NS_REQUIRES_NIL_TERMINATION; - -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract onlyContains(itemMatchers, ...) - - * Creates a matcher for collections that matches when each item of the examined collection - * satisfies any of the specified matchers. - * @param itemMatchers,... A comma-separated list of matchers ending with nil. + * @abstract Creates a matcher for collections that matches when each item of the examined + * collection satisfies any of the specified matchers. + * @param itemMatchers An array of matchers. Any element that is not a matcher is implicitly wrapped + * in an equalTo matcher to check for equality. * @discussion This matcher works on any collection that conforms to the NSFastEnumeration protocol, * performing a single pass. Any matcher may match multiple elements. * + * Example
+ *
assertThat(\@[\@"Jon", \@"John", \@"Bob"], onlyContainsIn(\@[startsWith(\@"Jo"), startsWith(\@("Bo")]))
+ * + * Name Clash
+ * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym + * HC_onlyContainsIn instead. + */ +static inline id onlyContainsIn(NSArray *itemMatchers) +{ + return HC_onlyContainsIn(itemMatchers); +} +#endif + + +FOUNDATION_EXPORT id HC_onlyContains(id itemMatchers, ...) NS_REQUIRES_NIL_TERMINATION; + +#ifndef HC_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates a matcher for collections that matches when each item of the examined + * collection satisfies any of the specified matchers. + * @param itemMatchers... A comma-separated list of matchers ending with nil. * Any argument that is not a matcher is implicitly wrapped in an equalTo matcher to check for * equality. + * @discussion This matcher works on any collection that conforms to the NSFastEnumeration protocol, + * performing a single pass. Any matcher may match multiple elements. * * Example
- *
assertThat(@[@"Jon", @"John", @"Bob"], onlyContains(startsWith(@"Jo"), startsWith(@("Bo"), nil))
+ *
assertThat(\@[\@"Jon", \@"John", \@"Bob"], onlyContains(startsWith(\@"Jo"), startsWith(\@("Bo"), nil))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_onlyContains instead. */ -#define onlyContains HC_onlyContains +#define onlyContains(itemMatchers...) HC_onlyContains(itemMatchers) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.m index e960a16..d5c5fed 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsCollectionOnlyContaining.h" @@ -9,11 +9,6 @@ @implementation HCIsCollectionOnlyContaining -+ (instancetype)isCollectionOnlyContaining:(id )matcher -{ - return [[self alloc] initWithMatcher:matcher]; -} - - (void)describeTo:(id )description { [[description appendText:@"a collection containing items matching "] @@ -23,12 +18,17 @@ - (void)describeTo:(id )description @end +id HC_onlyContainsIn(NSArray *itemMatchers) +{ + return [[HCIsCollectionOnlyContaining alloc] initWithMatcher:HC_anyOfIn(itemMatchers)]; +} + id HC_onlyContains(id itemMatchers, ...) { va_list args; va_start(args, itemMatchers); - NSArray *matchers = HCCollectMatchers(itemMatchers, args); + NSArray *array = HCCollectItems(itemMatchers, args); va_end(args); - return [HCIsCollectionOnlyContaining isCollectionOnlyContaining:[HCAnyOf anyOf:matchers]]; + return HC_onlyContainsIn(array); } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.h index 2c212d5..f0567a3 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.h @@ -1,44 +1,47 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if any entry in a dictionary satisfies the nested pair of matchers. */ @interface HCIsDictionaryContaining : HCBaseMatcher -+ (instancetype)isDictionaryContainingKey:(id )keyMatcher - value:(id )valueMatcher; - - (instancetype)initWithKeyMatcher:(id )keyMatcher - valueMatcher:(id )valueMatcher; + valueMatcher:(id )valueMatcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_hasEntry(id keyMatcher, id valueMatcher); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract hasEntry(keyMatcher, valueMatcher) - - * Creates a matcher for NSDictionaries that matches when the examined dictionary contains at least - * one entry whose key satisfies the specified keyMatcher and whose value - * satisfies the specified valueMatcher. + * @abstract Creates a matcher for NSDictionaries that matches when the examined dictionary contains + * at least one entry whose key satisfies the specified keyMatcher and whose + * value satisfies the specified valueMatcher. * @param keyMatcher The matcher to satisfy for the key, or an expected value for equalTo matching. * @param valueMatcher The matcher to satisfy for the value, or an expected value for equalTo matching. * @discussion Any argument that is not a matcher is implicitly wrapped in an equalTo * matcher to check for equality. * * Examples
- *
assertThat(myDictionary, hasEntry(equalTo(@"foo"), equalTo(@"bar")))
- * - *
assertThat(myDictionary, hasEntry(@"foo", @"bar"))
+ *
assertThat(myDictionary, hasEntry(equalTo(\@"foo"), equalTo(\@"bar")))
+ *
assertThat(myDictionary, hasEntry(\@"foo", \@"bar"))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasEntry instead. */ -#define hasEntry HC_hasEntry +static inline id hasEntry(id keyMatcher, id valueMatcher) +{ + return HC_hasEntry(keyMatcher, valueMatcher); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.m index 6470337..e11011e 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsDictionaryContaining.h" @@ -12,15 +12,8 @@ @interface HCIsDictionaryContaining () @property (nonatomic, strong, readonly) id valueMatcher; @end - @implementation HCIsDictionaryContaining -+ (instancetype)isDictionaryContainingKey:(id )keyMatcher - value:(id )valueMatcher -{ - return [[self alloc] initWithKeyMatcher:keyMatcher valueMatcher:valueMatcher]; -} - - (instancetype)initWithKeyMatcher:(id )keyMatcher valueMatcher:(id )valueMatcher { @@ -58,6 +51,6 @@ id HC_hasEntry(id keyMatcher, id valueMatcher) { HCRequireNonNilObject(keyMatcher); HCRequireNonNilObject(valueMatcher); - return [HCIsDictionaryContaining isDictionaryContainingKey:HCWrapInMatcher(keyMatcher) - value:HCWrapInMatcher(valueMatcher)]; + return [[HCIsDictionaryContaining alloc] initWithKeyMatcher:HCWrapInMatcher(keyMatcher) + valueMatcher:HCWrapInMatcher(valueMatcher)]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.h index 2c8cbfb..89b0ee2 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.h @@ -1,45 +1,68 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if dictionary contains entries that satisfy the list of keys and value * matchers. */ @interface HCIsDictionaryContainingEntries : HCDiagnosingMatcher -+ (instancetype)isDictionaryContainingKeys:(NSArray *)keys - valueMatchers:(NSArray *)valueMatchers; - - (instancetype)initWithKeys:(NSArray *)keys - valueMatchers:(NSArray *)valueMatchers; + valueMatchers:(NSArray> *)valueMatchers NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end +FOUNDATION_EXPORT id HC_hasEntriesIn(NSDictionary *valueMatchersForKeys); -FOUNDATION_EXPORT id HC_hasEntries(id keysAndValueMatch, ...) NS_REQUIRES_NIL_TERMINATION; +#ifndef HC_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates a matcher for NSDictionaries that matches when the examined dictionary contains + * entries satisfying a dictionary of keys and their value matchers. + * @param valueMatchersForKeys A dictionary of keys (not matchers) and their value matchers. Any + * value argument that is not a matcher is implicitly wrapped in an equalTo matcher to + * check for equality. + * @discussion + * Examples
+ *
assertThat(personDict, hasEntriesIn(\@{\@"firstName": equalTo(\@"Jon"), \@"lastName": equalTo(\@"Reid")}))
+ *
assertThat(personDict, hasEntriesIn(\@{\@"firstName": \@"Jon", \@"lastName": \@"Reid"}))
+ * + * Name Clash
+ * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym + * HC_hasEntryIn instead. + */ +static inline id hasEntriesIn(NSDictionary *valueMatchersForKeys) +{ + return HC_hasEntriesIn(valueMatchersForKeys); +} +#endif + +FOUNDATION_EXPORT id HC_hasEntries(id keysAndValueMatchers, ...) NS_REQUIRES_NIL_TERMINATION; -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract hasEntries(firstKey, valueMatcher, ...) - - * Creates a matcher for NSDictionaries that matches when the examined dictionary contains entries - * satisfying a list of alternating keys and their value matchers. - * @param firstKey A key (not a matcher) to look up. - * @param valueMatcher,... The matcher to satisfy for the value, or an expected value - * for equalTo matching. + * @abstract Creates a matcher for NSDictionaries that matches when the examined dictionary contains + * entries satisfying a list of alternating keys and their value matchers. + * @param keysAndValueMatchers... A key (not a matcher) to look up, followed by a value matcher or + * an expected value for equalTo matching, in a comma-separated list ending + * with nil * @discussion Note that the keys must be actual keys, not matchers. Any value argument that is not * a matcher is implicitly wrapped in an equalTo matcher to check for equality. * * Examples
- *
assertThat(personDict, hasEntries(@"firstName", equalTo(@"Jon"), @"lastName", equalTo(@"Reid"), nil))
- * - *
assertThat(personDict, hasEntries(@"firstName", @"Jon", @"lastName", @"Reid", nil))
+ *
assertThat(personDict, hasEntries(\@"firstName", equalTo(\@"Jon"), \@"lastName", equalTo(\@"Reid"), nil))
+ *
assertThat(personDict, hasEntries(\@"firstName", \@"Jon", \@"lastName", \@"Reid", nil))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasEntry instead. */ -#define hasEntries HC_hasEntries +#define hasEntries(keysAndValueMatchers...) HC_hasEntries(keysAndValueMatchers) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.m index 39d2124..7585df2 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsDictionaryContainingEntries.h" @@ -8,20 +8,13 @@ @interface HCIsDictionaryContainingEntries () @property (nonatomic, copy, readonly) NSArray *keys; -@property (nonatomic, copy, readonly) NSArray *valueMatchers; +@property (nonatomic, copy, readonly) NSArray> *valueMatchers; @end - @implementation HCIsDictionaryContainingEntries -+ (instancetype)isDictionaryContainingKeys:(NSArray *)keys - valueMatchers:(NSArray *)valueMatchers -{ - return [[self alloc] initWithKeys:keys valueMatchers:valueMatchers]; -} - - (instancetype)initWithKeys:(NSArray *)keys - valueMatchers:(NSArray *)valueMatchers + valueMatchers:(NSArray> *)valueMatchers { self = [super init]; if (self) @@ -102,16 +95,27 @@ static void requirePairedObject(id obj) } -id HC_hasEntries(id keysAndValueMatch, ...) +id HC_hasEntriesIn(NSDictionary *valueMatchersForKeys) +{ + NSArray *keys = valueMatchersForKeys.allKeys; + NSMutableArray> *valueMatchers = [[NSMutableArray alloc] init]; + for (id key in keys) + [valueMatchers addObject:HCWrapInMatcher(valueMatchersForKeys[key])]; + + return [[HCIsDictionaryContainingEntries alloc] initWithKeys:keys + valueMatchers:valueMatchers]; +} + +id HC_hasEntries(id keysAndValueMatchers, ...) { va_list args; - va_start(args, keysAndValueMatch); + va_start(args, keysAndValueMatchers); - id key = keysAndValueMatch; + id key = keysAndValueMatchers; id valueMatcher = va_arg(args, id); requirePairedObject(valueMatcher); NSMutableArray *keys = [NSMutableArray arrayWithObject:key]; - NSMutableArray *valueMatchers = [NSMutableArray arrayWithObject:HCWrapInMatcher(valueMatcher)]; + NSMutableArray> *valueMatchers = [NSMutableArray arrayWithObject:HCWrapInMatcher(valueMatcher)]; key = va_arg(args, id); while (key != nil) @@ -123,6 +127,6 @@ id HC_hasEntries(id keysAndValueMatch, ...) key = va_arg(args, id); } - return [HCIsDictionaryContainingEntries isDictionaryContainingKeys:keys - valueMatchers:valueMatchers]; + return [[HCIsDictionaryContainingEntries alloc] initWithKeys:keys + valueMatchers:valueMatchers]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.h index e91b92a..9785dd5 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.h @@ -1,39 +1,44 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if any entry in a dictionary has a key satisfying the nested matcher. */ @interface HCIsDictionaryContainingKey : HCBaseMatcher -+ (instancetype)isDictionaryContainingKey:(id )keyMatcher; -- (instancetype)initWithKeyMatcher:(id )keyMatcher; +- (instancetype)initWithKeyMatcher:(id )keyMatcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_hasKey(id keyMatcher); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract hasKey(keyMatcher) - - * Creates a matcher for NSDictionaries that matches when the examined dictionary contains at least - * key that satisfies the specified matcher. + * @abstract Creates a matcher for NSDictionaries that matches when the examined dictionary contains + * at least key that satisfies the specified matcher. * @param keyMatcher The matcher to satisfy for the key, or an expected value for equalTo matching. * @discussion Any argument that is not a matcher is implicitly wrapped in an equalTo * matcher to check for equality. * * Examples
- *
assertThat(myDictionary, hasEntry(equalTo(@"foo")))
- * - *
assertThat(myDictionary, hasEntry(@"foo"))
+ *
assertThat(myDictionary, hasEntry(equalTo(\@"foo")))
+ *
assertThat(myDictionary, hasEntry(\@"foo"))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasKey instead. */ -#define hasKey HC_hasKey +static inline id hasKey(id keyMatcher) +{ + return HC_hasKey(keyMatcher); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.m index d299740..5426330 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsDictionaryContainingKey.h" @@ -11,14 +11,8 @@ @interface HCIsDictionaryContainingKey () @property (nonatomic, strong, readonly) id keyMatcher; @end - @implementation HCIsDictionaryContainingKey -+ (instancetype)isDictionaryContainingKey:(id )keyMatcher -{ - return [[self alloc] initWithKeyMatcher:keyMatcher]; -} - - (instancetype)initWithKeyMatcher:(id )keyMatcher { self = [super init]; @@ -48,5 +42,5 @@ - (void)describeTo:(id )description id HC_hasKey(id keyMatcher) { HCRequireNonNilObject(keyMatcher); - return [HCIsDictionaryContainingKey isDictionaryContainingKey:HCWrapInMatcher(keyMatcher)]; + return [[HCIsDictionaryContainingKey alloc] initWithKeyMatcher:HCWrapInMatcher(keyMatcher)]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.h index c81ba03..cbd61a7 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.h @@ -1,27 +1,28 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if any entry in a dictionary has a value satisfying the nested matcher. */ @interface HCIsDictionaryContainingValue : HCBaseMatcher -+ (instancetype)isDictionaryContainingValue:(id )valueMatcher; -- (instancetype)initWithValueMatcher:(id )valueMatcher; +- (instancetype)initWithValueMatcher:(id )valueMatcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_hasValue(id valueMatcher); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract hasValue(valueMatcher) - - * Creates a matcher for NSDictionaries that matches when the examined dictionary contains at least - * value that satisfies the specified matcher. + * @abstract Creates a matcher for NSDictionaries that matches when the examined dictionary contains + * at least value that satisfies the specified matcher. * @param valueMatcher The matcher to satisfy for the value, or an expected value for equalTo matching. * @discussion This matcher works on any collection that has an -allValues method. * @@ -29,13 +30,17 @@ FOUNDATION_EXPORT id HC_hasValue(id valueMatcher); * for equality. * * Examples
- *
assertThat(myDictionary, hasValue(equalTo(@"bar")))
- * - *
assertThat(myDictionary, hasValue(@"bar"))
+ * 
assertThat(myDictionary, hasValue(equalTo(\@"bar")))
+ *
assertThat(myDictionary, hasValue(\@"bar"))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasValue instead. */ -#define hasValue HC_hasValue +static inline id hasValue(id valueMatcher) +{ + return HC_hasValue(valueMatcher); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.m index 728a9ff..97b073e 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsDictionaryContainingValue.h" @@ -11,14 +11,8 @@ @interface HCIsDictionaryContainingValue () @property (nonatomic, strong, readonly) id valueMatcher; @end - @implementation HCIsDictionaryContainingValue -+ (instancetype)isDictionaryContainingValue:(id )valueMatcher -{ - return [[self alloc] initWithValueMatcher:valueMatcher]; -} - - (instancetype)initWithValueMatcher:(id )valueMatcher { self = [super init]; @@ -48,5 +42,5 @@ - (void)describeTo:(id )description id HC_hasValue(id valueMatcher) { HCRequireNonNilObject(valueMatcher); - return [HCIsDictionaryContainingValue isDictionaryContainingValue:HCWrapInMatcher(valueMatcher)]; + return [[HCIsDictionaryContainingValue alloc] initWithValueMatcher:HCWrapInMatcher(valueMatcher)]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.h index 34311c6..4818d55 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.h @@ -1,15 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches empty collections. */ @interface HCIsEmptyCollection : HCHasCount -+ (instancetype)isEmptyCollection; - (instancetype)init; @end @@ -17,17 +18,22 @@ FOUNDATION_EXPORT id HC_isEmpty(void); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract Creates a matcher that matches any examined object whose -count method - * returns an NSNumber of zero. + * returns zero. * * Example
- *
assertThat(@[], isEmpty())
+ *
assertThat(\@[], isEmpty())
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_isEmpty instead. */ -#define isEmpty() HC_isEmpty() +static inline id isEmpty(void) +{ + return HC_isEmpty(); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.m index 11616dc..698234b 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsEmptyCollection.h" @@ -8,18 +8,13 @@ @implementation HCIsEmptyCollection -+ (instancetype)isEmptyCollection -{ - return [[self alloc] init]; -} - - (instancetype)init { - self = [super initWithCount:HC_equalTo(@0)]; + self = [super initWithMatcher:HC_equalTo(@0)]; return self; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { [[mismatchDescription appendText:@"was "] appendDescriptionOf:item]; } @@ -34,5 +29,5 @@ - (void)describeTo:(id )description FOUNDATION_EXPORT id HC_isEmpty() { - return [HCIsEmptyCollection isEmptyCollection]; + return [[HCIsEmptyCollection alloc] init]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsIn.h b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsIn.h index 78ad14e..a3a8789 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsIn.h +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsIn.h @@ -1,36 +1,43 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches if examined object is contained within the nested collection. */ @interface HCIsIn : HCBaseMatcher -+ (instancetype)isInCollection:(id)collection; -- (instancetype)initWithCollection:(id)collection; +- (instancetype)initWithCollection:(id)collection NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_isIn(id aCollection); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract isIn(aCollection) - - * Creates a matcher that matches when the examined object is found within the specified collection. + * @abstract Creates a matcher that matches when the examined object is found within the specified + * collection. * @param aCollection The collection to search. * @discussion Invokes -containsObject: on aCollection to determine if the * examined object is an element of the collection. * * Example
- *
assertThat(@"foo", isIn(@[@"bar", @"foo"]))
+ *
assertThat(\@"foo", isIn(\@@[\@"bar", \@"foo"]))
* * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_isIn instead. */ -#define isIn HC_isIn +static inline id isIn(id aCollection) +{ + return HC_isIn(aCollection); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsIn.m b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsIn.m index 3f2635f..2ddf114 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsIn.m +++ b/Example/Pods/OCHamcrest/Source/Library/Collection/HCIsIn.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsIn.h" @@ -10,11 +10,6 @@ @interface HCIsIn () @implementation HCIsIn -+ (instancetype)isInCollection:(id)collection -{ - return [[self alloc] initWithCollection:collection]; -} - - (instancetype)initWithCollection:(id)collection { if (![collection respondsToSelector:@selector(containsObject:)]) @@ -30,7 +25,7 @@ - (instancetype)initWithCollection:(id)collection return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return [self.collection containsObject:item]; } @@ -46,5 +41,5 @@ - (void)describeTo:(id )description id HC_isIn(id aCollection) { - return [HCIsIn isInCollection:aCollection]; + return [[HCIsIn alloc] initWithCollection:aCollection]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.h b/Example/Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.h index 3129ba8..53f3fdf 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.h +++ b/Example/Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.h @@ -1,41 +1,41 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Provides a custom description to another matcher. */ @interface HCDescribedAs : HCBaseMatcher -+ (instancetype)describedAs:(NSString *)description - forMatcher:(id )matcher - overValues:(NSArray *)templateValues; - - (instancetype)initWithDescription:(NSString *)description forMatcher:(id )matcher - overValues:(NSArray *)templateValues; + overValues:(NSArray *)templateValues NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_describedAs(NSString *description, id matcher, ...) NS_REQUIRES_NIL_TERMINATION; -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract describedAs(description, matcher, ...) - - * Wraps an existing matcher, overriding its description with that specified. All other functions - * are delegated to the decorated matcher, including its mismatch description. + * @abstract Wraps an existing matcher, overriding its description with that specified. All other + * functions are delegated to the decorated matcher, including its mismatch description. * @param description The new description for the wrapped matcher. - * @param matcher,... The matcher to wrap, followed by a comma-separated list of substitution + * @param matcher The matcher to wrap, followed by a comma-separated list of substitution * values ending with nil. * @discussion The description may contain substitution placeholders %0, %1, etc. These will be * replaced by any values that follow the matcher. * * Name Clash
- * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_describedAs instead. */ -#define describedAs HC_describedAs +#define describedAs(description, matcher, ...) HC_describedAs(description, matcher, ##__VA_ARGS__) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.m b/Example/Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.m index 5efa52a..4c6b076 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.m +++ b/Example/Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCDescribedAs.h" @@ -44,18 +44,8 @@ @interface HCDescribedAs () @property (nonatomic, copy, readonly) NSArray *values; @end - @implementation HCDescribedAs -+ (instancetype)describedAs:(NSString *)description - forMatcher:(id )matcher - overValues:(NSArray *)templateValues -{ - return [[self alloc] initWithDescription:description - forMatcher:matcher - overValues:templateValues]; -} - - (instancetype)initWithDescription:(NSString *)description forMatcher:(id )matcher overValues:(NSArray *)templateValues @@ -70,19 +60,19 @@ - (instancetype)initWithDescription:(NSString *)description return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return [self.matcher matches:item]; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { [self.matcher describeMismatchOf:item to:mismatchDescription]; } - (void)describeTo:(id )description { - NSArray *components = [self.descriptionTemplate componentsSeparatedByString:@"%"]; + NSArray *components = [self.descriptionTemplate componentsSeparatedByString:@"%"]; BOOL firstComponent = YES; for (NSString *component in components) { @@ -125,5 +115,7 @@ id HC_describedAs(NSString *description, id matcher, ...) } va_end(args); - return [HCDescribedAs describedAs:description forMatcher:matcher overValues:valueList]; + return [[HCDescribedAs alloc] initWithDescription:description + forMatcher:matcher + overValues:valueList]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Decorator/HCIs.h b/Example/Pods/OCHamcrest/Source/Library/Decorator/HCIs.h index 548d595..5b27f89 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Decorator/HCIs.h +++ b/Example/Pods/OCHamcrest/Source/Library/Decorator/HCIs.h @@ -1,37 +1,39 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Decorates another matcher. */ @interface HCIs : HCBaseMatcher -+ (instancetype)is:(id )matcher; -- (instancetype)initWithMatcher:(id )matcher; +- (instancetype)initWithMatcher:(id )matcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end -FOUNDATION_EXPORT id HC_is(id match); +FOUNDATION_EXPORT id HC_is(_Nullable id value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract is(aMatcher) - - * Wraps an existing matcher, or provides a shortcut to the frequently used is(equalTo(x)). - * @param aMatcher The matcher to satisfy, or an expected value for equalTo matching. + * @abstract Wraps an existing matcher, or provides a shortcut to the frequently + * used is(equalTo(x)). + * @param value The matcher to satisfy, or an expected value for equalTo matching. * @discussion - * If aMatcheris a matcher, its behavior is retained, but the test may be slightly more + * If valueis a matcher, its behavior is retained, but the test may be slightly more * expressive. For example: *
    *
  • assertThat(\@(value), equalTo(\@5))
  • *
  • assertThat(\@(value), is(equalTo(\@5)))
  • *
* - * If aMatcheris not a matcher, it is wrapped in an equalTo matcher. This makes - * the following statements equivalent: + * If valueis not a matcher, it is wrapped in an equalTo matcher. This makes the + * following statements equivalent: *
    *
  • assertThat(cheese, equalTo(smelly))
  • *
  • assertThat(cheese, is(equalTo(smelly)))
  • @@ -41,8 +43,13 @@ FOUNDATION_EXPORT id HC_is(id match); * Choose the style that makes your expression most readable. This will vary depending on context. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_is instead. */ -#define is HC_is +static inline id is(_Nullable id value) +{ + return HC_is(value); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Decorator/HCIs.m b/Example/Pods/OCHamcrest/Source/Library/Decorator/HCIs.m index ec46c0a..beb9c2b 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Decorator/HCIs.m +++ b/Example/Pods/OCHamcrest/Source/Library/Decorator/HCIs.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIs.h" @@ -12,11 +12,6 @@ @interface HCIs () @implementation HCIs -+ (instancetype)is:(id )matcher -{ - return [[self alloc] initWithMatcher:matcher]; -} - - (instancetype)initWithMatcher:(id )matcher { self = [super init]; @@ -25,12 +20,12 @@ - (instancetype)initWithMatcher:(id )matcher return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return [self.matcher matches:item]; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { [self.matcher describeMismatchOf:item to:mismatchDescription]; } @@ -43,7 +38,7 @@ - (void)describeTo:(id )description @end -id HC_is(id match) +id HC_is(_Nullable id value) { - return [HCIs is:HCWrapInMatcher(match)]; + return [[HCIs alloc] initWithMatcher:HCWrapInMatcher(value)]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Logical/HCAllOf.h b/Example/Pods/OCHamcrest/Source/Library/Logical/HCAllOf.h index b0e5249..a2630ab 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Logical/HCAllOf.h +++ b/Example/Pods/OCHamcrest/Source/Library/Logical/HCAllOf.h @@ -1,9 +1,11 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Calculates the logical conjunction of multiple matchers. * @discussion Evaluation is shortcut, so subsequent matchers are not called if an earlier matcher @@ -11,28 +13,52 @@ */ @interface HCAllOf : HCDiagnosingMatcher -+ (instancetype)allOf:(NSArray *)matchers; -- (instancetype)initWithMatchers:(NSArray *)matchers; +- (instancetype)initWithMatchers:(NSArray> *)matchers NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end -FOUNDATION_EXPORT id HC_allOf(id matchers, ...) NS_REQUIRES_NIL_TERMINATION; +FOUNDATION_EXPORT id HC_allOfIn(NSArray> *matchers); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract allOf(matchers, ...) - - * Creates a matcher that matches when the examined object matches all of the specified matchers. - * @param matchers,... A comma-separated list of matchers ending with nil. - * @discussion Any argument that is not a matcher is implicitly wrapped in an equalTo - * matcher to check for equality. + * @abstract Creates a matcher that matches when the examined object matches all of the + * specified matchers. + * @param matchers An array of matchers. Any element that is not a matcher is implicitly wrapped in + * an equalTo matcher to check for equality. + * @discussion + * Example
    + *
    assertThat(\@"myValue", allOfIn(\@[startsWith(\@"my"), containsSubstring(\@"Val")]))
    * + * Name Clash
    + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym + * HC_allOfIn instead. + */ +static inline id allOfIn(NSArray *matchers) +{ + return HC_allOfIn(matchers); +} +#endif + + +FOUNDATION_EXPORT id HC_allOf(id matchers, ...) NS_REQUIRES_NIL_TERMINATION; + +#ifndef HC_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates a matcher that matches when the examined object matches all of the + * specified matchers. + * @param matchers... A comma-separated list of matchers ending with nil. Any argument + * that is not a matcher is implicitly wrapped in an equalTo matcher to check for equality. + * @discussion * Example
    - *
    assertThat(@"myValue", allOf(startsWith(@"my"), containsSubstring(@"Val"), nil))
    + *
    assertThat(\@"myValue", allOf(startsWith(\@"my"), containsSubstring(\@"Val"), nil))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_allOf instead. */ -#define allOf HC_allOf +#define allOf(matchers...) HC_allOf(matchers) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Logical/HCAllOf.m b/Example/Pods/OCHamcrest/Source/Library/Logical/HCAllOf.m index 2db92f1..a46021f 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Logical/HCAllOf.m +++ b/Example/Pods/OCHamcrest/Source/Library/Logical/HCAllOf.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCAllOf.h" @@ -7,17 +7,12 @@ @interface HCAllOf () -@property (nonatomic, copy, readonly) NSArray *matchers; +@property (nonatomic, copy, readonly) NSArray> *matchers; @end @implementation HCAllOf -+ (instancetype)allOf:(NSArray *)matchers -{ - return [[self alloc] initWithMatchers:matchers]; -} - -- (instancetype)initWithMatchers:(NSArray *)matchers +- (instancetype)initWithMatchers:(NSArray> *)matchers { self = [super init]; if (self) @@ -25,13 +20,15 @@ - (instancetype)initWithMatchers:(NSArray *)matchers return self; } -- (BOOL)matches:(id)item describingMismatchTo:(id )mismatchDescription +- (BOOL)matches:(nullable id)item describingMismatchTo:(id )mismatchDescription { for (id oneMatcher in self.matchers) { if (![oneMatcher matches:item]) { - [[mismatchDescription appendDescriptionOf:oneMatcher] appendText:@" "]; + [[[mismatchDescription appendText:@"instead of "] + appendDescriptionOf:oneMatcher] + appendText:@", "]; [oneMatcher describeMismatchOf:item to:mismatchDescription]; return NO; } @@ -47,12 +44,17 @@ - (void)describeTo:(id )description @end +id HC_allOfIn(NSArray *matchers) +{ + return [[HCAllOf alloc] initWithMatchers:HCWrapIntoMatchers(matchers)]; +} + id HC_allOf(id matchers, ...) { va_list args; va_start(args, matchers); - NSArray *matcherList = HCCollectMatchers(matchers, args); + NSArray *array = HCCollectItems(matchers, args); va_end(args); - return [HCAllOf allOf:matcherList]; + return HC_allOfIn(array); } diff --git a/Example/Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.h b/Example/Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.h index 5240833..00c0295 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.h +++ b/Example/Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.h @@ -1,9 +1,11 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Calculates the logical disjunction of multiple matchers. * @discussion Evaluation is shortcut, so subsequent matchers are not called if an earlier matcher @@ -11,28 +13,50 @@ */ @interface HCAnyOf : HCBaseMatcher -+ (instancetype)anyOf:(NSArray *)matchers; -- (instancetype)initWithMatchers:(NSArray *)matchers; +- (instancetype)initWithMatchers:(NSArray> *)matchers NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end +FOUNDATION_EXPORT id HC_anyOfIn(NSArray *matchers); + +#ifndef HC_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates a matcher that matches when the examined object matches any of the + * specified matchers. + * @param matchers An array of matchers. Any element that is not a matcher is implicitly wrapped in + * an equalTo matcher to check for equality. + * @discussion + * Example
    + *
    assertThat(\@"myValue", allOf(\@[startsWith(\@"foo"), containsSubstring(\@"Val")]))
    + * + * Name Clash
    + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym + * HC_anyOf instead. + */ +static inline id anyOfIn(NSArray *matchers) +{ + return HC_anyOfIn(matchers); +} +#endif FOUNDATION_EXPORT id HC_anyOf(id matchers, ...) NS_REQUIRES_NIL_TERMINATION; -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract anyOf(matchers, ...) - - * Creates a matcher that matches when the examined object matches any of the specified matchers. - * @param matchers,... A comma-separated list of matchers ending with nil. - * @discussion Any argument that is not a matcher is implicitly wrapped in an equalTo - * matcher to check for equality. - * + * @abstract Creates a matcher that matches when the examined object matches any of the + * specified matchers. + * @param matchers... A comma-separated list of matchers ending with nil. Any argument + * that is not a matcher is implicitly wrapped in an equalTo matcher to check for equality. + * @discussion * Example
    - *
    assertThat(@"myValue", allOf(startsWith(@"foo"), containsSubstring(@"Val"), nil))
    + *
    assertThat(\@"myValue", allOf(startsWith(\@"foo"), containsSubstring(\@"Val"), nil))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_anyOf instead. */ -#define anyOf HC_anyOf +#define anyOf(matchers...) HC_anyOf(matchers) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.m b/Example/Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.m index ba861b7..26263b8 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.m +++ b/Example/Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCAnyOf.h" @@ -7,17 +7,12 @@ @interface HCAnyOf () -@property (nonatomic, copy, readonly) NSArray *matchers; +@property (nonatomic, copy, readonly) NSArray> *matchers; @end @implementation HCAnyOf -+ (instancetype)anyOf:(NSArray *)matchers -{ - return [[self alloc] initWithMatchers:matchers]; -} - -- (instancetype)initWithMatchers:(NSArray *)matchers +- (instancetype)initWithMatchers:(NSArray> *)matchers { self = [super init]; if (self) @@ -25,7 +20,7 @@ - (instancetype)initWithMatchers:(NSArray *)matchers return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { for (id oneMatcher in self.matchers) if ([oneMatcher matches:item]) @@ -41,12 +36,17 @@ - (void)describeTo:(id )description @end +id HC_anyOfIn(NSArray *matchers) +{ + return [[HCAnyOf alloc] initWithMatchers:HCWrapIntoMatchers(matchers)]; +} + id HC_anyOf(id matchers, ...) { va_list args; va_start(args, matchers); - NSArray *matcherList = HCCollectMatchers(matchers, args); + NSArray *array = HCCollectItems(matchers, args); va_end(args); - return [HCAnyOf anyOf:matcherList]; + return HC_anyOfIn(array); } diff --git a/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.h b/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.h index b5405c6..c6152f3 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.h +++ b/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.h @@ -1,49 +1,55 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches anything. */ @interface HCIsAnything : HCBaseMatcher -+ (instancetype)isAnything; -+ (instancetype)isAnythingWithDescription:(NSString *)description; - - (instancetype)init; -- (instancetype)initWithDescription:(NSString *)description; +- (instancetype)initWithDescription:(NSString *)description NS_DESIGNATED_INITIALIZER; @end FOUNDATION_EXPORT id HC_anything(void); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract Creates a matcher that always matches, regardless of the examined object. * @discussion * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_anything instead. */ -#define anything() HC_anything() +static inline id anything(void) +{ + return HC_anything(); +} #endif FOUNDATION_EXPORT id HC_anythingWithDescription(NSString *description); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract anythingWithDescription(description) - - * Creates a matcher that matches anything, regardless of the examined object, but describes itself - * with the specified NSString. + * @abstract Creates a matcher that matches anything, regardless of the examined object, but + * describes itself with the specified NSString. * @param description A meaningful string used to describe this matcher. * @discussion * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_anything instead. */ -#define anythingWithDescription HC_anythingWithDescription +static inline id anythingWithDescription(NSString *description) +{ + return HC_anythingWithDescription(description); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.m b/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.m index 8acf673..fb80dcd 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.m +++ b/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsAnything.h" @@ -9,16 +9,6 @@ @implementation HCIsAnything NSString *_description; } -+ (instancetype)isAnything -{ - return [[self alloc] init]; -} - -+ (instancetype)isAnythingWithDescription:(NSString *)description -{ - return [[self alloc] initWithDescription:description]; -} - - (instancetype)init { self = [self initWithDescription:@"ANYTHING"]; @@ -33,7 +23,7 @@ - (instancetype)initWithDescription:(NSString *)description return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return YES; } @@ -48,10 +38,10 @@ - (void)describeTo:(id )aDescription id HC_anything() { - return [HCIsAnything isAnything]; + return [[HCIsAnything alloc] init]; } id HC_anythingWithDescription(NSString *description) { - return [HCIsAnything isAnythingWithDescription:description]; + return [[HCIsAnything alloc] initWithDescription:description]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsNot.h b/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsNot.h index b1739a1..8e19048 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsNot.h +++ b/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsNot.h @@ -1,38 +1,44 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Calculates the logical negation of a matcher. */ @interface HCIsNot : HCBaseMatcher -+ (instancetype)isNot:(id )matcher; -- (instancetype)initNot:(id )matcher; +- (instancetype)initWithMatcher:(id )matcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end -FOUNDATION_EXPORT id HC_isNot(id matcher); +FOUNDATION_EXPORT id HC_isNot(_Nullable id value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract isNot(matcher) - - * Creates a matcher that wraps an existing matcher, but inverts the logic by which it will match. - * @param matcher The matcher to negate. - * @discussion If matcher is not a matcher, it is implicitly wrapped in an equalTo + * @abstract Creates a matcher that wraps an existing matcher, but inverts the logic by which it + * will match. + * @param value The matcher to negate, or an expected value to match for inequality. + * @discussion If value is not a matcher, it is implicitly wrapped in an equalTo * matcher to check for equality, and thus matches for inequality. * * Examples
    *
    assertThat(cheese, isNot(equalTo(smelly)))
    - * *
    assertThat(cheese, isNot(smelly))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_isNot instead. */ -#define isNot HC_isNot +static inline id isNot(_Nullable id value) +{ + return HC_isNot(value); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsNot.m b/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsNot.m index 6b4f449..3dd0385 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsNot.m +++ b/Example/Pods/OCHamcrest/Source/Library/Logical/HCIsNot.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsNot.h" @@ -12,12 +12,7 @@ @interface HCIsNot () @implementation HCIsNot -+ (instancetype)isNot:(id )matcher -{ - return [[self alloc] initNot:matcher]; -} - -- (instancetype)initNot:(id )matcher +- (instancetype)initWithMatcher:(id )matcher { self = [super init]; if (self) @@ -25,7 +20,7 @@ - (instancetype)initNot:(id )matcher return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return ![self.matcher matches:item]; } @@ -35,14 +30,14 @@ - (void)describeTo:(id )description [[description appendText:@"not "] appendDescriptionOf:self.matcher]; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { [self.matcher describeMismatchOf:item to:mismatchDescription]; } @end -id HC_isNot(id matcher) +id HC_isNot(_Nullable id value) { - return [HCIsNot isNot:HCWrapInMatcher(matcher)]; + return [[HCIsNot alloc] initWithMatcher:HCWrapInMatcher(value)]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.h b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.h index ea3fa0f..f16cf38 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.h +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.h @@ -1,37 +1,43 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matchers numbers close to a value, within a delta range. */ @interface HCIsCloseTo : HCBaseMatcher -+ (instancetype)isCloseTo:(double)value within:(double)delta; -- (instancetype)initWithValue:(double)value delta:(double)delta; +- (instancetype)initWithValue:(double)value delta:(double)delta NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_closeTo(double value, double delta); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract closeTo(value, delta) - - * Creates a matcher for NSNumbers that matches when the examined number is close to the specified - * value, within the specified delta. + * @abstract Creates a matcher for NSNumbers that matches when the examined number is close to the + * specified value, within the specified delta. * @param value The expected value of matching numbers. * @param delta The delta within which matches will be allowed. * @discussion Invokes -doubleValue on the examined number to get its value. * * Example
    - *
    assertThat(@1.03, closeTo(1.0, 0.03)
    + *
    assertThat(\@1.03, closeTo(1.0, 0.03)
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_closeTo instead. */ -#define closeTo HC_closeTo +static inline id closeTo(double value, double delta) +{ + return HC_closeTo(value, delta); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.m b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.m index 1b4a4b6..2c4fcc9 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.m +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.m @@ -1,23 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsCloseTo.h" @interface HCIsCloseTo () - @property (nonatomic, assign, readonly) double value; @property (nonatomic, assign, readonly) double delta; @end - @implementation HCIsCloseTo -+ (id)isCloseTo:(double)value within:(double)delta -{ - return [[self alloc] initWithValue:value delta:delta]; -} - - (id)initWithValue:(double)value delta:(double)delta { self = [super init]; @@ -29,7 +22,7 @@ - (id)initWithValue:(double)value delta:(double)delta return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if ([self itemIsNotNumber:item]) return NO; @@ -47,7 +40,7 @@ - (BOOL)itemIsNotNumber:(id)item return ![item isKindOfClass:[NSNumber class]]; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { if ([self itemIsNotNumber:item]) [super describeMismatchOf:item to:mismatchDescription]; @@ -72,5 +65,5 @@ - (void)describeTo:(id )description id HC_closeTo(double value, double delta) { - return [HCIsCloseTo isCloseTo:value within:delta]; + return [[HCIsCloseTo alloc] initWithValue:value delta:delta]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.h b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.h index b4f499c..0f87016 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.h +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.h @@ -1,164 +1,154 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import -FOUNDATION_EXPORT id HC_equalToBool(BOOL value) __attribute__((deprecated)); - -#ifdef HC_SHORTHAND -/*! - * @abstract equalToBool(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified BOOL value. - * @param value The BOOL value from which to create an NSNumber. - * @deprecated Version 4.1.0. Use @ref isTrue() or @ref isFalse() instead. - * @discussion - * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym - * HC_equalToBool instead. - */ -#define equalToBool HC_equalToBool -#endif - -@interface HCIsEqualToBool : HCBaseMatcher - -@property (nonatomic, assign, readonly) BOOL value; - -- (instancetype)initWithValue:(BOOL)value; - -@end - +NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT id HC_equalToChar(char value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToChar(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified char value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified char value. * @param value The char value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToChar instead. */ -#define equalToChar HC_equalToChar +static inline id equalToChar(char value) +{ + return HC_equalToChar(value); +} #endif FOUNDATION_EXPORT id HC_equalToDouble(double value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToDouble(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified double value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified double value. * @param value The double value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToDouble instead. */ -#define equalToDouble HC_equalToDouble +static inline id equalToDouble(double value) +{ + return HC_equalToDouble(value); +} #endif FOUNDATION_EXPORT id HC_equalToFloat(float value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToFloat(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified float value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified float value. * @param value The float value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToFloat instead. */ -#define equalToFloat HC_equalToFloat +static inline id equalToFloat(float value) +{ + return HC_equalToFloat(value); +} #endif FOUNDATION_EXPORT id HC_equalToInt(int value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToInt(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified int value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified int value. * @param value The int value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToInt instead. */ -#define equalToInt HC_equalToInt +static inline id equalToInt(int value) +{ + return HC_equalToInt(value); +} #endif FOUNDATION_EXPORT id HC_equalToLong(long value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToLong(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified long value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified long value. * @param value The long value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToLong instead. */ -#define equalToLong HC_equalToLong +static inline id equalToLong(long value) +{ + return HC_equalToLong(value); +} #endif FOUNDATION_EXPORT id HC_equalToLongLong(long long value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToLongLong(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified long long value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified long long value. * @param value The long long value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToLongLong instead. */ -#define equalToLongLong HC_equalToLongLong +static inline id equalToLongLong(long long value) +{ + return HC_equalToLongLong(value); +} #endif FOUNDATION_EXPORT id HC_equalToShort(short value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToShort(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified short value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified short value. * @param value The short value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToShort instead. */ -#define equalToShort HC_equalToShort +static inline id equalToShort(short value) +{ + return HC_equalToShort(value); +} #endif FOUNDATION_EXPORT id HC_equalToUnsignedChar(unsigned char value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract equalToUnsignedChar(value) - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the @@ -167,116 +157,133 @@ FOUNDATION_EXPORT id HC_equalToUnsignedChar(unsigned char value); * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToUnsignedChar instead. */ -#define equalToUnsignedChar HC_equalToUnsignedChar +static inline id equalToUnsignedChar(unsigned char value) +{ + return HC_equalToUnsignedChar(value); +} #endif FOUNDATION_EXPORT id HC_equalToUnsignedInt(unsigned int value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToUnsignedInt(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified unsigned int value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified unsigned int value. * @param value The unsigned int value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToUnsignedInt instead. */ -#define equalToUnsignedInt HC_equalToUnsignedInt +static inline id equalToUnsignedInt(unsigned int value) +{ + return HC_equalToUnsignedInt(value); +} #endif FOUNDATION_EXPORT id HC_equalToUnsignedLong(unsigned long value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToUnsignedLong(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified unsigned long value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified unsigned long value. * @param value The unsigned long value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToUnsignedLong instead. */ -#define equalToUnsignedLong HC_equalToUnsignedLong +static inline id equalToUnsignedLong(unsigned long value) +{ + return HC_equalToUnsignedLong(value); +} #endif FOUNDATION_EXPORT id HC_equalToUnsignedLongLong(unsigned long long value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToUnsignedLongLong(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified unsigned long long value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified unsigned long long value. * @param value The unsigned long long value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToUnsignedLongLong instead. */ -#define equalToUnsignedLongLong HC_equalToUnsignedLongLong +static inline id equalToUnsignedLongLong(unsigned long long value) +{ + return HC_equalToUnsignedLongLong(value); +} #endif FOUNDATION_EXPORT id HC_equalToUnsignedShort(unsigned short value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToUnsignedShort(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified unsigned short value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified unsigned short value. * @param value The unsigned short value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToUnsignedShort instead. */ -#define equalToUnsignedShort HC_equalToUnsignedShort +static inline id equalToUnsignedShort(unsigned short value) +{ + return HC_equalToUnsignedShort(value); +} #endif FOUNDATION_EXPORT id HC_equalToInteger(NSInteger value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToInteger(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified NSInteger value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified NSInteger value. * @param value The NSInteger value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToInteger instead. */ -#define equalToInteger HC_equalToInteger +static inline id equalToInteger(NSInteger value) +{ + return HC_equalToInteger(value); +} #endif FOUNDATION_EXPORT id HC_equalToUnsignedInteger(NSUInteger value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToUnsignedInteger(value) - - * Creates a matcher that matches when the examined object is equal to an NSNumber created from the - * specified NSUInteger value. + * @abstract Creates a matcher that matches when the examined object is equal to an NSNumber created + * from the specified NSUInteger value. * @param value The NSUInteger value from which to create an NSNumber. * @discussion Consider using equalTo(\@(value)) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToUnsignedInteger instead. */ -#define equalToUnsignedInteger HC_equalToUnsignedInteger +static inline id equalToUnsignedInteger(NSUInteger value) +{ + return HC_equalToUnsignedInteger(value); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.m b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.m index 32392f7..8cd7687 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.m +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsEqualToNumber.h" @@ -75,62 +75,3 @@ FOUNDATION_EXPORT id HC_equalToUnsignedInteger(NSUInteger value) { return HC_equalTo(@(value)); } - -#pragma mark - - -static NSString *stringForBool(BOOL value) -{ - return value ? @"" : @""; -} - -FOUNDATION_EXPORT id HC_equalToBool(BOOL value) -{ - return [[HCIsEqualToBool alloc] initWithValue:value]; -} - -@implementation HCIsEqualToBool - -static void HCRequireYesOrNo(BOOL value) -{ - if (value != YES && value != NO) - { - @throw [NSException exceptionWithName:@"BoolValue" - reason:@"Must be YES or NO" - userInfo:nil]; - } -} - -- (instancetype)initWithValue:(BOOL)value -{ - HCRequireYesOrNo(value); - - self = [super init]; - if (self) - _value = value; - return self; -} - -- (BOOL)matches:(id)item -{ - if (![item isKindOfClass:[NSNumber class]]) - return NO; - - return [item boolValue] == self.value; -} - -- (void)describeTo:(id )description -{ - [[description appendText:@"a BOOL with value "] - appendText:stringForBool(self.value)]; -} - -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription -{ - [mismatchDescription appendText:@"was "]; - if ([item isKindOfClass:[NSNumber class]]) - [mismatchDescription appendText:stringForBool([item boolValue])]; - else - [mismatchDescription appendDescriptionOf:item]; -} - -@end diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsTrueFalse.h b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsTrueFalse.h index ac995c6..2e9142f 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsTrueFalse.h +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsTrueFalse.h @@ -1,9 +1,11 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches true values. */ @@ -19,27 +21,35 @@ FOUNDATION_EXPORT id HC_isTrue(void); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract Creates a matcher that matches when the examined object is an non-zero NSNumber. * @discussion * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_isTrue instead. */ -#define isTrue() HC_isTrue() +static inline id isTrue(void) +{ + return HC_isTrue(); +} #endif FOUNDATION_EXPORT id HC_isFalse(void); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract Creates a matcher that matches when the examined object is NSNumber zero. * @discussion * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_isFalse instead. */ -#define isFalse() HC_isFalse() +static inline id isFalse(void) +{ + return HC_isFalse(); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsTrueFalse.m b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsTrueFalse.m index bc861df..419c73a 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCIsTrueFalse.m +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCIsTrueFalse.m @@ -1,17 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsTrueFalse.h" -FOUNDATION_EXPORT id HC_isTrue(void) -{ - return [[HCIsTrue alloc] init]; -} - @implementation HCIsTrue -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (![item isKindOfClass:[NSNumber class]]) return NO; @@ -26,16 +21,18 @@ - (void)describeTo:(id )description @end -#pragma mark - -FOUNDATION_EXPORT id HC_isFalse(void) +FOUNDATION_EXPORT id HC_isTrue(void) { - return [[HCIsFalse alloc] init]; + return [[HCIsTrue alloc] init]; } + +#pragma mark - + @implementation HCIsFalse -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (![item isKindOfClass:[NSNumber class]]) return NO; @@ -49,3 +46,10 @@ - (void)describeTo:(id )description } @end + + +FOUNDATION_EXPORT id HC_isFalse(void) +{ + return [[HCIsFalse alloc] init]; +} + diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.h b/Example/Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.h index ba778ab..73bb815 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.h +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.h @@ -1,18 +1,20 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import @protocol HCMatcher; +NS_ASSUME_NONNULL_BEGIN + FOUNDATION_EXPORT void HC_assertThatBoolWithLocation(id testCase, BOOL actual, id matcher, char const *fileName, int lineNumber); #define HC_assertThatBool(actual, matcher) \ HC_assertThatBoolWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatBool(actual, matcher) - * Asserts that BOOL actual value, converted to an NSNumber, satisfies matcher. @@ -21,10 +23,10 @@ FOUNDATION_EXPORT void HC_assertThatBoolWithLocation(id testCase, BOOL actual, * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatBool instead. */ -#define assertThatBool HC_assertThatBool +#define assertThatBool(actual, matcher) HC_assertThatBool(actual, matcher) #endif @@ -34,7 +36,7 @@ FOUNDATION_EXPORT void HC_assertThatCharWithLocation(id testCase, char actual, #define HC_assertThatChar(actual, matcher) \ HC_assertThatCharWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatChar(actual, matcher) - * Asserts that char actual value, converted to an NSNumber, satisfies matcher. @@ -43,10 +45,10 @@ FOUNDATION_EXPORT void HC_assertThatCharWithLocation(id testCase, char actual, * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatChar instead. */ -#define assertThatChar HC_assertThatChar +#define assertThatChar(actual, matcher) HC_assertThatChar(actual, matcher) #endif @@ -56,7 +58,7 @@ FOUNDATION_EXPORT void HC_assertThatDoubleWithLocation(id testCase, double actua #define HC_assertThatDouble(actual, matcher) \ HC_assertThatDoubleWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract HC_assertThatDouble(actual, matcher) - * Asserts that double actual value, converted to an NSNumber, satisfies matcher. @@ -65,10 +67,10 @@ FOUNDATION_EXPORT void HC_assertThatDoubleWithLocation(id testCase, double actua * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatDouble instead. */ -#define assertThatDouble HC_assertThatDouble +#define assertThatDouble(actual, matcher) HC_assertThatDouble(actual, matcher) #endif @@ -78,7 +80,7 @@ FOUNDATION_EXPORT void HC_assertThatFloatWithLocation(id testCase, float actual, #define HC_assertThatFloat(actual, matcher) \ HC_assertThatFloatWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatFloat(actual, matcher) - * Asserts that float actual value, converted to an NSNumber, satisfies matcher. @@ -87,10 +89,10 @@ FOUNDATION_EXPORT void HC_assertThatFloatWithLocation(id testCase, float actual, * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatFloat instead. */ -#define assertThatFloat HC_assertThatFloat +#define assertThatFloat(actual, matcher) HC_assertThatFloat(actual, matcher) #endif @@ -100,7 +102,7 @@ FOUNDATION_EXPORT void HC_assertThatIntWithLocation(id testCase, int actual, #define HC_assertThatInt(actual, matcher) \ HC_assertThatIntWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatInt(actual, matcher) - * Asserts that int actual value, converted to an NSNumber, satisfies matcher. @@ -109,10 +111,10 @@ FOUNDATION_EXPORT void HC_assertThatIntWithLocation(id testCase, int actual, * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatInt instead. */ -#define assertThatInt HC_assertThatInt +#define assertThatInt(actual, matcher) HC_assertThatInt(actual, matcher) #endif @@ -122,7 +124,7 @@ FOUNDATION_EXPORT void HC_assertThatLongWithLocation(id testCase, long actual, #define HC_assertThatLong(actual, matcher) \ HC_assertThatLongWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatLong(actual, matcher) - * Asserts that long actual value, converted to an NSNumber, satisfies matcher. @@ -131,10 +133,10 @@ FOUNDATION_EXPORT void HC_assertThatLongWithLocation(id testCase, long actual, * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatLong instead. */ -#define assertThatLong HC_assertThatLong +#define assertThatLong(actual, matcher) HC_assertThatLong(actual, matcher) #endif @@ -144,7 +146,7 @@ FOUNDATION_EXPORT void HC_assertThatLongLongWithLocation(id testCase, long long #define HC_assertThatLongLong(actual, matcher) \ HC_assertThatLongLongWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatLongLong(actual, matcher) - * Asserts that long long actual value, converted to an NSNumber, satisfies matcher. @@ -153,10 +155,10 @@ FOUNDATION_EXPORT void HC_assertThatLongLongWithLocation(id testCase, long long * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatLongLong instead. */ -#define assertThatLongLong HC_assertThatLongLong +#define assertThatLongLong(actual, matcher) HC_assertThatLongLong(actual, matcher) #endif @@ -166,7 +168,7 @@ FOUNDATION_EXPORT void HC_assertThatShortWithLocation(id testCase, short actual, #define HC_assertThatShort(actual, matcher) \ HC_assertThatShortWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatShort(actual, matcher) - * Asserts that short actual value, converted to an NSNumber, satisfies matcher. @@ -175,10 +177,10 @@ FOUNDATION_EXPORT void HC_assertThatShortWithLocation(id testCase, short actual, * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatShort instead. */ -#define assertThatShort HC_assertThatShort +#define assertThatShort(actual, matcher) HC_assertThatShort(actual, matcher) #endif @@ -188,7 +190,7 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedCharWithLocation(id testCase, unsign #define HC_assertThatUnsignedChar(actual, matcher) \ HC_assertThatUnsignedCharWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatUnsignedChar(actual, matcher) - * Asserts that unsigned char actual value, converted to an NSNumber, satisfies matcher. @@ -197,10 +199,10 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedCharWithLocation(id testCase, unsign * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatUnsignedChar instead. */ -#define assertThatUnsignedChar HC_assertThatUnsignedChar +#define assertThatUnsignedChar(actual, matcher) HC_assertThatUnsignedChar(actual, matcher) #endif @@ -210,7 +212,7 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedIntWithLocation(id testCase, unsigne #define HC_assertThatUnsignedInt(actual, matcher) \ HC_assertThatUnsignedIntWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatUnsignedInt(actual, matcher) - * Asserts that unsigned int actual value, converted to an NSNumber, satisfies matcher. @@ -219,10 +221,10 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedIntWithLocation(id testCase, unsigne * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatUnsignedInt instead. */ -#define assertThatUnsignedInt HC_assertThatUnsignedInt +#define assertThatUnsignedInt(actual, matcher) HC_assertThatUnsignedInt(actual, matcher) #endif @@ -232,7 +234,7 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedLongWithLocation(id testCase, unsign #define HC_assertThatUnsignedLong(actual, matcher) \ HC_assertThatUnsignedLongWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatUnsignedLong(actual, matcher) - * Asserts that unsigned long actual value, converted to an NSNumber, satisfies matcher. @@ -241,10 +243,10 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedLongWithLocation(id testCase, unsign * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatUnsignedLong instead. */ -#define assertThatUnsignedLong HC_assertThatUnsignedLong +#define assertThatUnsignedLong(actual, matcher) HC_assertThatUnsignedLong(actual, matcher) #endif @@ -254,7 +256,7 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedLongLongWithLocation(id testCase, un #define HC_assertThatUnsignedLongLong(actual, matcher) \ HC_assertThatUnsignedLongLongWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatUnsignedLongLong(actual, matcher) - * Asserts that unsigned long long actual value, converted to an NSNumber, satisfies matcher. @@ -263,10 +265,10 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedLongLongWithLocation(id testCase, un * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatUnsignedLongLong instead. */ -#define assertThatUnsignedLongLong HC_assertThatUnsignedLongLong +#define assertThatUnsignedLongLong(actual, matcher) HC_assertThatUnsignedLongLong(actual, matcher) #endif @@ -276,7 +278,7 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedShortWithLocation(id testCase, unsig #define HC_assertThatUnsignedShort(actual, matcher) \ HC_assertThatUnsignedShortWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatUnsignedShort(actual, matcher) - * Asserts that unsigned short actual value, converted to an NSNumber, satisfies matcher. @@ -285,10 +287,10 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedShortWithLocation(id testCase, unsig * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatUnsignedShort instead. */ -#define assertThatUnsignedShort HC_assertThatUnsignedShort +#define assertThatUnsignedShort(actual, matcher) HC_assertThatUnsignedShort(actual, matcher) #endif @@ -298,7 +300,7 @@ FOUNDATION_EXPORT void HC_assertThatIntegerWithLocation(id testCase, NSInteger a #define HC_assertThatInteger(actual, matcher) \ HC_assertThatIntegerWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatInteger(actual, matcher) - * Asserts that NSInteger actual value, converted to an NSNumber, satisfies matcher. @@ -307,10 +309,10 @@ FOUNDATION_EXPORT void HC_assertThatIntegerWithLocation(id testCase, NSInteger a * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatInteger instead. */ -#define assertThatInteger HC_assertThatInteger +#define assertThatInteger(actual, matcher) HC_assertThatInteger(actual, matcher) #endif @@ -320,7 +322,7 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedIntegerWithLocation(id testCase, NSU #define HC_assertThatUnsignedInteger(actual, matcher) \ HC_assertThatUnsignedIntegerWithLocation(self, actual, matcher, __FILE__, __LINE__) -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract assertThatUnsignedInteger(actual, matcher) - * Asserts that NSUInteger actual value, converted to an NSNumber, satisfies matcher. @@ -329,8 +331,10 @@ FOUNDATION_EXPORT void HC_assertThatUnsignedIntegerWithLocation(id testCase, NSU * @discussion Consider using assertThat(\@(actual), matcher) instead. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_assertThatUnsignedInteger instead. */ -#define assertThatUnsignedInteger HC_assertThatUnsignedInteger +#define assertThatUnsignedInteger(actual, matcher) HC_assertThatUnsignedInteger(actual, matcher) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.m b/Example/Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.m index abe8f6b..261d0bf 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.m +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCNumberAssert.h" diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.h b/Example/Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.h index 1a45980..31e69f0 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.h +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.h @@ -1,106 +1,114 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches values with -compare:. */ @interface HCOrderingComparison : HCBaseMatcher -+ (instancetype)compare:(id)expectedValue - minCompare:(NSComparisonResult)min - maxCompare:(NSComparisonResult)max - comparisonDescription:(NSString *)comparisonDescription; - - (instancetype)initComparing:(id)expectedValue minCompare:(NSComparisonResult)min maxCompare:(NSComparisonResult)max - comparisonDescription:(NSString *)comparisonDescription; + comparisonDescription:(NSString *)comparisonDescription NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_greaterThan(id value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract greaterThan(value) - - * Creates a matcher that matches when the examined object is greater than the specified value, as - * reported by the -compare: method of the examined object. + * @abstract Creates a matcher that matches when the examined object is greater than the specified + * value, as reported by the -compare: method of the examined object. * @param value The value which, when passed to the -compare: method of the examined * object, should return NSOrderedAscending. * @discussion * Example
    - *
    assertThat(@2, greaterThan(@1))
    + *
    assertThat(\@2, greaterThan(\@1))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_greaterThan instead. */ -#define greaterThan HC_greaterThan +static inline id greaterThan(id value) +{ + return HC_greaterThan(value); +} #endif FOUNDATION_EXPORT id HC_greaterThanOrEqualTo(id value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract greaterThanOrEqualTo(value) - - * Creates a matcher that matches when the examined object is greater than or equal to the specified - * value, as reported by the -compare: method of the examined object. + * @abstract Creates a matcher that matches when the examined object is greater than or equal to the + * specified value, as reported by the -compare: method of the examined object. * @param value The value which, when passed to the -compare: method of the examined * object, should return NSOrderedAscending or NSOrderedSame. * @discussion * Example
    - *
    assertThat(@1, greaterThan(@1))
    + *
    assertThat(\@1, greaterThanOrEqualTo(\@1))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_greaterThanOrEqualTo instead. */ -#define greaterThanOrEqualTo HC_greaterThanOrEqualTo +static inline id greaterThanOrEqualTo(id value) +{ + return HC_greaterThanOrEqualTo(value); +} #endif FOUNDATION_EXPORT id HC_lessThan(id value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract lessThan(value) - - * Creates a matcher that matches when the examined object is less than the specified value, as - * reported by the -compare: method of the examined object. + * @abstract Creates a matcher that matches when the examined object is less than the specified + * value, as reported by the -compare: method of the examined object. * @param value The value which, when passed to the -compare: method of the examined * object, should return NSOrderedDescending. * @discussion * Example
    - *
    assertThat(@1, lessThan(@2))
    + *
    assertThat(\@1, lessThan(\@2))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_lessThan instead. */ -#define lessThan HC_lessThan +static inline id lessThan(id value) +{ + return HC_lessThan(value); +} #endif FOUNDATION_EXPORT id HC_lessThanOrEqualTo(id value); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract lessThanOrEqualTo(value) - - * Creates a matcher that matches when the examined object is less than or equal to the specified - * value, as reported by the -compare: method of the examined object. + * @abstract Creates a matcher that matches when the examined object is less than or equal to the + * specified value, as reported by the -compare: method of the examined object. * @param value The value which, when passed to the -compare: method of the examined * object, should return NSOrderedDescending or NSOrderedSame. * @discussion * Example
    - *
    assertThat(@1, lessThanOrEqualTo(@1))
    + *
    assertThat(\@1, lessThanOrEqualTo(\@1))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_lessThanOrEqualTo instead. */ -#define lessThanOrEqualTo HC_lessThanOrEqualTo +static inline id lessThanOrEqualTo(id value) +{ + return HC_lessThanOrEqualTo(value); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.m b/Example/Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.m index 0d35f2a..20356be 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.m +++ b/Example/Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCOrderingComparison.h" @@ -13,17 +13,6 @@ @interface HCOrderingComparison () @implementation HCOrderingComparison -+ (instancetype)compare:(id)expectedValue - minCompare:(NSComparisonResult)min - maxCompare:(NSComparisonResult)max - comparisonDescription:(NSString *)description -{ - return [[self alloc] initComparing:expectedValue - minCompare:min - maxCompare:max - comparisonDescription:description]; -} - - (instancetype)initComparing:(id)expectedValue minCompare:(NSComparisonResult)min maxCompare:(NSComparisonResult)max @@ -47,7 +36,7 @@ - (instancetype)initComparing:(id)expectedValue return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (item == nil) return NO; @@ -77,32 +66,32 @@ - (void)describeTo:(id )description id HC_greaterThan(id value) { - return [HCOrderingComparison compare:value - minCompare:NSOrderedAscending - maxCompare:NSOrderedAscending - comparisonDescription:@"greater than"]; + return [[HCOrderingComparison alloc] initComparing:value + minCompare:NSOrderedAscending + maxCompare:NSOrderedAscending + comparisonDescription:@"greater than"]; } id HC_greaterThanOrEqualTo(id value) { - return [HCOrderingComparison compare:value - minCompare:NSOrderedAscending - maxCompare:NSOrderedSame - comparisonDescription:@"greater than or equal to"]; + return [[HCOrderingComparison alloc] initComparing:value + minCompare:NSOrderedAscending + maxCompare:NSOrderedSame + comparisonDescription:@"greater than or equal to"]; } id HC_lessThan(id value) { - return [HCOrderingComparison compare:value - minCompare:NSOrderedDescending - maxCompare:NSOrderedDescending - comparisonDescription:@"less than"]; + return [[HCOrderingComparison alloc] initComparing:value + minCompare:NSOrderedDescending + maxCompare:NSOrderedDescending + comparisonDescription:@"less than"]; } id HC_lessThanOrEqualTo(id value) { - return [HCOrderingComparison compare:value - minCompare:NSOrderedSame - maxCompare:NSOrderedDescending - comparisonDescription:@"less than or equal to"]; + return [[HCOrderingComparison alloc] initComparing:value + minCompare:NSOrderedSame + maxCompare:NSOrderedDescending + comparisonDescription:@"less than or equal to"]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCArgumentCaptor.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCArgumentCaptor.h index d119834..a6cfbd3 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCArgumentCaptor.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCArgumentCaptor.h @@ -1,15 +1,17 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches anything, capturing all values. * @discussion This matcher captures all values it was given to match, and always evaluates to * YES. Use it to capture argument values for further assertions. * - * Unlike other matchers which are usually transient, this matcher should be created outside of any + * Unlike other matchers, this matcher is not idempotent. It should be created outside of any * expression so that it can be queried for the items it captured. */ @interface HCArgumentCaptor : HCIsAnything @@ -22,7 +24,7 @@ * If -matches: was never invoked and so no value was captured, this property returns * nil. But if nil was captured, this property returns NSNull. */ -@property (nonatomic, readonly) id value; +@property (nullable, nonatomic, readonly) id value; /*! * @abstract Returns all captured values. @@ -31,4 +33,12 @@ */ @property (nonatomic, readonly) NSArray *allValues; +/*! + * @abstract Determines whether subsequent matched values are captured. + * @discussion YES by default. + */ +@property (nonatomic, assign) BOOL captureEnabled; + @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCArgumentCaptor.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCArgumentCaptor.m index 605cf1a..11c1a6f 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCArgumentCaptor.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCArgumentCaptor.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCArgumentCaptor.h" @@ -17,11 +17,14 @@ - (instancetype)init { self = [super initWithDescription:@""]; if (self) + { _values = [[NSMutableArray alloc] init]; + _captureEnabled = YES; + } return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { [self capture:item]; return [super matches:item]; @@ -29,8 +32,11 @@ - (BOOL)matches:(id)item - (void)capture:(id)item { - id value = item ?: [NSNull null]; - [self.values addObject:value]; + if (self.captureEnabled) + { + id value = item ?: [NSNull null]; + [self.values addObject:value]; + } } - (id)value diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCClassMatcher.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCClassMatcher.h index dafb1b3..d0d0206 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCClassMatcher.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCClassMatcher.h @@ -1,13 +1,18 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + @interface HCClassMatcher : HCBaseMatcher @property (nonatomic, strong, readonly) Class theClass; -- (instancetype)initWithClass:(Class)aClass; +- (instancetype)initWithClass:(Class)aClass NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCClassMatcher.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCClassMatcher.m index 7e154b2..05b0c6d 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCClassMatcher.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCClassMatcher.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCClassMatcher.h" @@ -29,7 +29,7 @@ - (void)describeTo:(id )description appendText:NSStringFromClass(self.theClass)]; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { [mismatchDescription appendText:@"was "]; if (item) diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.h index 3abc19c..337fa47 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.h @@ -1,35 +1,42 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt // Contribution by Todd Farrell #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches objects that conform to specified protocol. */ @interface HCConformsToProtocol : HCBaseMatcher -+ (instancetype)conformsTo:(Protocol *)protocol; -- (instancetype)initWithProtocol:(Protocol *)protocol; +- (instancetype)initWithProtocol:(Protocol *)protocol NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_conformsTo(Protocol *aProtocol); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract conformsTo(aProtocol) - - * Creates a matcher that matches when the examined object conforms to the specified protocol. + * @abstract Creates a matcher that matches when the examined object conforms to the specified + * protocol. * @param aProtocol The protocol to compare against as the expected protocol. * @discussion * Example
    - *
    assertThat(myObject, conformsTo(@protocol(NSCoding))
    + *
    assertThat(myObject, conformsTo(\@protocol(NSCoding))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_conformsTo instead. */ -#define conformsTo HC_conformsTo +static inline id conformsTo(Protocol *aProtocol) +{ + return HC_conformsTo(aProtocol); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.m index 5ae2537..18c70b3 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt // Contribution by Todd Farrell // @@ -14,11 +14,6 @@ @interface HCConformsToProtocol () @implementation HCConformsToProtocol -+ (instancetype)conformsTo:(Protocol *)protocol -{ - return [[self alloc] initWithProtocol:protocol]; -} - - (instancetype)initWithProtocol:(Protocol *)protocol { HCRequireNonNilObject(protocol); @@ -29,7 +24,7 @@ - (instancetype)initWithProtocol:(Protocol *)protocol return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return [item conformsToProtocol:self.protocol]; } @@ -45,5 +40,5 @@ - (void)describeTo:(id )description id HC_conformsTo(Protocol *aProtocol) { - return [HCConformsToProtocol conformsTo:aProtocol]; + return [[HCConformsToProtocol alloc] initWithProtocol:aProtocol]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCHasDescription.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCHasDescription.h index 0c0770c..85af248 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCHasDescription.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCHasDescription.h @@ -1,40 +1,45 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches objects whose description satisfies a nested matcher. */ @interface HCHasDescription : HCInvocationMatcher -+ (instancetype)hasDescription:(id )descriptionMatcher; -- (instancetype)initWithDescription:(id )descriptionMatcher; +- (instancetype)initWithDescription:(id )descriptionMatcher NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithInvocation:(NSInvocation *)anInvocation matching:(id )aMatcher NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_hasDescription(id descriptionMatcher); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract hasDescription(descriptionMatcher) - - * Creates a matcher that matches when the examined object's -description satisfies the - * specified matcher. + * @abstract Creates a matcher that matches when the examined object's -description + * satisfies the specified matcher. * @param descriptionMatcher The matcher used to verify the description result, or an expected value * for equalTo matching. * @discussion If descriptionMatcher is not a matcher, it is implicitly wrapped in * an equalTo matcher to check for equality. * * Examples
    - *
    assertThat(myObject, hasDescription(equalTo(@"foo"))
    - * - *
    assertThat(myObject, hasDescription(@"foo"))
    + *
    assertThat(myObject, hasDescription(equalTo(\@"foo"))
    + *
    assertThat(myObject, hasDescription(\@"foo"))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasDescription instead. */ -#define hasDescription HC_hasDescription +static inline id hasDescription(id descriptionMatcher) +{ + return HC_hasDescription(descriptionMatcher); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCHasDescription.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCHasDescription.m index d363738..ba472da 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCHasDescription.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCHasDescription.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCHasDescription.h" @@ -9,11 +9,6 @@ @implementation HCHasDescription -+ (instancetype)hasDescription:(id )descriptionMatcher -{ - return [[self alloc] initWithDescription:descriptionMatcher]; -} - - (instancetype)initWithDescription:(id )descriptionMatcher { NSInvocation *anInvocation = [NSInvocation och_invocationOnObjectOfType:[NSObject class] @@ -29,5 +24,5 @@ - (instancetype)initWithDescription:(id )descriptionMatcher id HC_hasDescription(id descriptionMatcher) { - return [HCHasDescription hasDescription:HCWrapInMatcher(descriptionMatcher)]; + return [[HCHasDescription alloc] initWithDescription:HCWrapInMatcher(descriptionMatcher)]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCHasProperty.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCHasProperty.h index 180f064..a65d272 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCHasProperty.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCHasProperty.h @@ -1,28 +1,29 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt // Contribution by Justin Shacklette #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches objects whose "property" (or simple method) satisfies a nested matcher. */ @interface HCHasProperty : HCDiagnosingMatcher -+ (instancetype)hasProperty:(NSString *)propertyName value:(id )valueMatcher; -- (instancetype)initWithProperty:(NSString *)propertyName value:(id )valueMatcher; +- (instancetype)initWithProperty:(NSString *)propertyName value:(id )valueMatcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end -FOUNDATION_EXPORT id HC_hasProperty(NSString *propertyName, id valueMatcher); +FOUNDATION_EXPORT id HC_hasProperty(NSString *propertyName, _Nullable id valueMatcher); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract hasProperty(propertyName, valueMatcher) - - * Creates a matcher that matches when the examined object has an instance method with the specified - * name whose return value satisfies the specified matcher. + * @abstract Creates a matcher that matches when the examined object has an instance method with the + * specified name whose return value satisfies the specified matcher. * @param propertyName The name of an instance method without arguments that returns an object. * @param valueMatcher The matcher to satisfy for the return value, or an expected value for * equalTo matching. @@ -30,13 +31,17 @@ FOUNDATION_EXPORT id HC_hasProperty(NSString *propertyName, id valueMatcher); * values of any instance methods without arguments, not just properties. * * Examples
    - *
    assertThat(person, hasProperty(@"firstName", equalTo(@"Joe")))
    - * - *
    assertThat(person, hasProperty(@"firstName", @"Joe"))
    + *
    assertThat(person, hasProperty(\@"firstName", equalTo(\@"Joe")))
    + *
    assertThat(person, hasProperty(\@"firstName", \@"Joe"))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_hasProperty instead. */ - #define hasProperty HC_hasProperty +static inline id hasProperty(NSString *propertyName, _Nullable id valueMatcher) +{ + return HC_hasProperty(propertyName, valueMatcher); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCHasProperty.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCHasProperty.m index 10b0a1e..90c6216 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCHasProperty.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCHasProperty.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt // Contribution by Justin Shacklette #import "HCHasProperty.h" @@ -16,11 +16,6 @@ @interface HCHasProperty () @implementation HCHasProperty -+ (instancetype)hasProperty:(NSString *)propertyName value:(id )valueMatcher -{ - return [[self alloc] initWithProperty:propertyName value:valueMatcher]; -} - - (instancetype)initWithProperty:(NSString *)propertyName value:(id )valueMatcher { HCRequireNonNilObject(propertyName); @@ -34,7 +29,7 @@ - (instancetype)initWithProperty:(NSString *)propertyName value:(id ) return self; } -- (BOOL)matches:(id)item describingMismatchTo:(id )mismatchDescription +- (BOOL)matches:(nullable id)item describingMismatchTo:(id )mismatchDescription { SEL propertyGetter = NSSelectorFromString(self.propertyName); if (![item respondsToSelector:propertyGetter]) @@ -70,7 +65,7 @@ - (void)describeTo:(id )description @end -id HC_hasProperty(NSString *propertyName, id valueMatcher) +id HC_hasProperty(NSString *propertyName, _Nullable id valueMatcher) { - return [HCHasProperty hasProperty:propertyName value:HCWrapInMatcher(valueMatcher)]; + return [[HCHasProperty alloc] initWithProperty:propertyName value:HCWrapInMatcher(valueMatcher)]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsEqual.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsEqual.h index 6548698..84d88fe 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsEqual.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsEqual.h @@ -1,35 +1,41 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Is the value equal to another value, as tested by the -isEqual: method? */ @interface HCIsEqual : HCBaseMatcher -+ (instancetype)isEqualTo:(id)expectedValue; -- (instancetype)initEqualTo:(id)expectedValue; +- (instancetype)initEqualTo:(nullable id)expectedValue NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end -FOUNDATION_EXPORT id HC_equalTo(id operand); +FOUNDATION_EXPORT id HC_equalTo(_Nullable id operand); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalTo(operand) - - * Creates a matcher that matches when the examined object is equal to the specified object, as - * determined by calling the -isEqual: method on the examined object. - * @param anObject The object to compare against as the expected value. + * @abstract Creates a matcher that matches when the examined object is equal to the specified + * object, as determined by calling the -isEqual: method on the examined object. + * @param operand The object to compare against as the expected value. * @discussion If the specified operand is nil, then the created matcher will match if * the examined object itself is nil, or if the examined object's -isEqual: * method returns YES when passed a nil. * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalTo instead. */ -#define equalTo HC_equalTo +static inline id equalTo(_Nullable id operand) +{ + return HC_equalTo(operand); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsEqual.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsEqual.m index 90f81fa..9424926 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsEqual.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsEqual.m @@ -1,22 +1,16 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsEqual.h" @interface HCIsEqual () -@property (nonatomic, strong, readonly) id expectedValue; +@property (nullable, nonatomic, strong, readonly) id expectedValue; @end - @implementation HCIsEqual -+ (instancetype)isEqualTo:(id)expectedValue -{ - return [[self alloc] initEqualTo:expectedValue]; -} - -- (instancetype)initEqualTo:(id)expectedValue +- (instancetype)initEqualTo:(nullable id)expectedValue { self = [super init]; if (self) @@ -24,7 +18,7 @@ - (instancetype)initEqualTo:(id)expectedValue return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (item == nil) return self.expectedValue == nil; @@ -46,7 +40,7 @@ - (void)describeTo:(id )description @end -id HC_equalTo(id operand) +id HC_equalTo(_Nullable id operand) { - return [HCIsEqual isEqualTo:operand]; + return [[HCIsEqual alloc] initEqualTo:operand]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.h index 300c07a..d2294ba 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.h @@ -1,34 +1,37 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches objects that are of a given class or any subclass. */ @interface HCIsInstanceOf : HCClassMatcher - -+ (id)isInstanceOf:(Class)expectedClass; - @end FOUNDATION_EXPORT id HC_instanceOf(Class expectedClass); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract instanceOf(expectedClass) - - * Creates a matcher that matches when the examined object is an instance of, or inherits from, the - * specified class. + * @abstract Creates a matcher that matches when the examined object is an instance of, or inherits + * from, the specified class. * @param expectedClass The class to compare against as the expected class. * @discussion * Example
    *
    assertThat(canoe, instanceOf([Canoe class]))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_instanceOf instead. */ -#define instanceOf HC_instanceOf +static inline id instanceOf(Class expectedClass) +{ + return HC_instanceOf(expectedClass); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.m index 321bd05..f51942d 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.m @@ -1,17 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsInstanceOf.h" @implementation HCIsInstanceOf -+ (instancetype)isInstanceOf:(Class)expectedClass -{ - return [[self alloc] initWithClass:expectedClass]; -} - -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return [item isKindOfClass:self.theClass]; } @@ -26,5 +21,5 @@ - (NSString *)expectation id HC_instanceOf(Class expectedClass) { - return [HCIsInstanceOf isInstanceOf:expectedClass]; + return [[HCIsInstanceOf alloc] initWithClass:expectedClass]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsNil.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsNil.h index 68744cb..eb917b2 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsNil.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsNil.h @@ -1,22 +1,21 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Is the value nil? */ @interface HCIsNil : HCBaseMatcher - -+ (id)isNil; - @end FOUNDATION_EXPORT id HC_nilValue(void); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract Creates a matcher that matches when the examined object is nil. * @discussion @@ -24,16 +23,19 @@ FOUNDATION_EXPORT id HC_nilValue(void); *
    assertThat(myObject, nilValue())
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_nilValue instead. */ -#define nilValue() HC_nilValue() +static inline id nilValue(void) +{ + return HC_nilValue(); +} #endif FOUNDATION_EXPORT id HC_notNilValue(void); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! * @abstract Creates a matcher that matches when the examined object is not nil. * @discussion @@ -41,8 +43,13 @@ FOUNDATION_EXPORT id HC_notNilValue(void); *
    assertThat(myObject, notNilValue())
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_notNilValue instead. */ -#define notNilValue() HC_notNilValue() +static inline id notNilValue(void) +{ + return HC_notNilValue(); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsNil.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsNil.m index db072f6..33ce66d 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsNil.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsNil.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsNil.h" @@ -8,12 +8,7 @@ @implementation HCIsNil -+ (instancetype)isNil -{ - return [[self alloc] init]; -} - -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return item == nil; } @@ -28,10 +23,10 @@ - (void)describeTo:(id )description id HC_nilValue() { - return [HCIsNil isNil]; + return [[HCIsNil alloc] init]; } id HC_notNilValue() { - return HC_isNot([HCIsNil isNil]); + return HC_isNot([[HCIsNil alloc] init]); } diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsSame.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsSame.h index 506843f..e75b0b2 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsSame.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsSame.h @@ -1,35 +1,41 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Is the value the same object as another value? */ @interface HCIsSame : HCBaseMatcher -+ (instancetype)isSameAs:(id)object; -- (instancetype)initSameAs:(id)object; +- (instancetype)initSameAs:(nullable id)object NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end -FOUNDATION_EXPORT id HC_sameInstance(id expectedInstance); +FOUNDATION_EXPORT id HC_sameInstance(_Nullable id expectedInstance); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract sameInstance(expectedInstance) - - * Creates a matcher that matches only when the examined object is the same instance as the - * specified target object. + * @abstract Creates a matcher that matches only when the examined object is the same instance as + * the specified target object. * @param expectedInstance The expected instance. * @discussion * Example
    *
    assertThat(delegate, sameInstance(expectedDelegate))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_sameInstance instead. */ -#define sameInstance HC_sameInstance +static inline id sameInstance(_Nullable id expectedInstance) +{ + return HC_sameInstance(expectedInstance); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsSame.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsSame.m index 4271167..4517edb 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsSame.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsSame.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsSame.h" @@ -10,12 +10,7 @@ @interface HCIsSame () @implementation HCIsSame -+ (instancetype)isSameAs:(id)object -{ - return [[self alloc] initSameAs:object]; -} - -- (instancetype)initSameAs:(id)object +- (instancetype)initSameAs:(nullable id)object { self = [super init]; if (self) @@ -23,12 +18,12 @@ - (instancetype)initSameAs:(id)object return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return item == self.object; } -- (void)describeMismatchOf:(id)item to:(id )mismatchDescription +- (void)describeMismatchOf:(nullable id)item to:(nullable id )mismatchDescription { [mismatchDescription appendText:@"was "]; if (item) @@ -45,7 +40,7 @@ - (void)describeTo:(id )description @end -id HC_sameInstance(id expectedInstance) +id HC_sameInstance(_Nullable id expectedInstance) { - return [HCIsSame isSameAs:expectedInstance]; + return [[HCIsSame alloc] initSameAs:expectedInstance]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsTypeOf.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsTypeOf.h index 6ab97b2..39b190d 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsTypeOf.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsTypeOf.h @@ -1,34 +1,37 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Matches objects that are of a given class. */ @interface HCIsTypeOf : HCClassMatcher - -+ (id)isTypeOf:(Class)expectedClass; - @end FOUNDATION_EXPORT id HC_isA(Class expectedClass); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract isA(expectedClass) - - * Creates a matcher that matches when the examined object is an instance of the specified class, - * but not of any subclass. + * @abstract Creates a matcher that matches when the examined object is an instance of the specified + * class, but not of any subclass. * @param expectedClass The class to compare against as the expected class. * @discussion * Example
    *
    assertThat(canoe, isA([Canoe class]))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_isA instead. */ -#define isA HC_isA +static inline id isA(Class expectedClass) +{ + return HC_isA(expectedClass); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsTypeOf.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsTypeOf.m index a811e30..4134842 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCIsTypeOf.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCIsTypeOf.m @@ -1,17 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsTypeOf.h" @implementation HCIsTypeOf -+ (instancetype)isTypeOf:(Class)expectedClass -{ - return [[self alloc] initWithClass:expectedClass]; -} - -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { return [item isMemberOfClass:self.theClass]; } @@ -26,5 +21,5 @@ - (NSString *)expectation id HC_isA(Class expectedClass) { - return [HCIsTypeOf isTypeOf:expectedClass]; + return [[HCIsTypeOf alloc] initWithClass:expectedClass]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCThrowsException.h b/Example/Pods/OCHamcrest/Source/Library/Object/HCThrowsException.h index 21dc200..b45b81f 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCThrowsException.h +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCThrowsException.h @@ -1,34 +1,41 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Does executing a block throw an exception which satisfies a nested matcher? */ @interface HCThrowsException : HCDiagnosingMatcher -- (id)initWithExceptionMatcher:(id)exceptionMatcher; +- (id)initWithExceptionMatcher:(id)exceptionMatcher NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_throwsException(id exceptionMatcher); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract throwsException(exceptionMatcher) - - * Creates a matcher that matches when the examined object is a block which, when executed, throws - * an exception satisfying the specified matcher. + * @abstract Creates a matcher that matches when the examined object is a block which, when + * executed, throws an exception satisfying the specified matcher. * @param exceptionMatcher The matcher to satisfy when passed the exception. * @discussion * Example
    - *
    assertThat(^{ [obj somethingBad]; }, throwsException(anything())
    + *
    assertThat(^{ [obj somethingBad]; }, throwsException(hasProperty(@"reason", @"EXPECTED REASON")))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_throwsException instead. */ -#define throwsException HC_throwsException +static inline id throwsException(id exceptionMatcher) +{ + return HC_throwsException(exceptionMatcher); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Object/HCThrowsException.m b/Example/Pods/OCHamcrest/Source/Library/Object/HCThrowsException.m index a12ea6b..e47495c 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Object/HCThrowsException.m +++ b/Example/Pods/OCHamcrest/Source/Library/Object/HCThrowsException.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCThrowsException.h" @@ -31,7 +31,7 @@ - (id)initWithExceptionMatcher:(id)exceptionMatcher return self; } -- (BOOL)matches:(id)item describingMismatchTo:(id )mismatchDescription +- (BOOL)matches:(nullable id)item describingMismatchTo:(id )mismatchDescription { if (![self isBlock:item]) { diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualCompressingWhiteSpace.h b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualCompressingWhiteSpace.h new file mode 100644 index 0000000..69c25f0 --- /dev/null +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualCompressingWhiteSpace.h @@ -0,0 +1,46 @@ +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt + +#import + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Tests if a string is equal to another string, when whitespace differences are (mostly) ignored. + */ +@interface HCIsEqualCompressingWhiteSpace : HCBaseMatcher + +- (instancetype)initWithString:(NSString *)string NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + + +FOUNDATION_EXPORT id HC_equalToCompressingWhiteSpace(NSString *expectedString); + +#ifndef HC_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates a matcher for NSStrings that matches when the examined string is equal to the + * specified expected string, when whitespace differences are (mostly) ignored. + * @param expectedString The expected value of matched strings. (Must not be nil.) + * @discussion To be exact, the following whitespace rules are applied: + *
      + *
    • all leading and trailing whitespace of both the expectedString and the examined string are ignored
    • + *
    • any remaining whitespace, appearing within either string, is collapsed to a single space before comparison
    • + *
    + * + * Example
    + *
    assertThat(\@"   my\tfoo  bar ", equalToCompressingWhiteSpace(\@" my  foo bar"))
    + * + * Name Clash
    + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym + * HC_equalToCompressingWhiteSpace instead. + */ +static inline id equalToCompressingWhiteSpace(NSString *expectedString) +{ + return HC_equalToCompressingWhiteSpace(expectedString); +} +#endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualCompressingWhiteSpace.m b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualCompressingWhiteSpace.m new file mode 100644 index 0000000..711510c --- /dev/null +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualCompressingWhiteSpace.m @@ -0,0 +1,62 @@ +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt + +#import "HCIsEqualCompressingWhiteSpace.h" + +#import "HCRequireNonNilObject.h" + + +static NSString *stripSpaces(NSString *string) +{ + NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\s+" + options:0 + error:NULL]; + NSString *modifiedString = [regex stringByReplacingMatchesInString:string + options:0 + range:NSMakeRange(0, string.length) + withTemplate:@" "]; + return [modifiedString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; +} + + +@interface HCIsEqualCompressingWhiteSpace () +@property (nonatomic, copy, readonly) NSString *originalString; +@property (nonatomic, copy, readonly) NSString *strippedString; +@end + +@implementation HCIsEqualCompressingWhiteSpace + +- (instancetype)initWithString:(NSString *)string +{ + HCRequireNonNilObject(string); + + self = [super init]; + if (self) + { + _originalString = [string copy]; + _strippedString = [stripSpaces(string) copy]; + } + return self; +} + +- (BOOL)matches:(nullable id)item +{ + if (![item isKindOfClass:[NSString class]]) + return NO; + + return [self.strippedString isEqualToString:stripSpaces(item)]; +} + +- (void)describeTo:(id )description +{ + [[description appendDescriptionOf:self.originalString] + appendText:@" ignoring whitespace"]; +} + +@end + + +id HC_equalToCompressingWhiteSpace(NSString *expectedString) +{ + return [[HCIsEqualCompressingWhiteSpace alloc] initWithString:expectedString]; +} diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.h b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.h index c2e36d6..32e6df5 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.h +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.h @@ -1,35 +1,41 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Tests if a string is equal to another string, regardless of the case. */ @interface HCIsEqualIgnoringCase : HCBaseMatcher -+ (instancetype)isEqualIgnoringCase:(NSString *)string; -- (instancetype)initWithString:(NSString *)string; +- (instancetype)initWithString:(NSString *)string NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end FOUNDATION_EXPORT id HC_equalToIgnoringCase(NSString *expectedString); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract equalToIgnoringCase(expectedString) - - * Creates a matcher for NSStrings that matches when the examined string is equal to the specified - * expected string, ignoring case differences. + * @abstract Creates a matcher for NSStrings that matches when the examined string is equal to the + * specified expected string, ignoring case differences. * @param expectedString The expected value of matched strings. (Must not be nil.) * @discussion * Example
    - *
    assertThat(@"Foo", equalToIgnoringCase(@"FOO"))
    + *
    assertThat(\@"Foo", equalToIgnoringCase(\@"FOO"))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_equalToIgnoringCase instead. */ -#define equalToIgnoringCase HC_equalToIgnoringCase +static inline id equalToIgnoringCase(NSString *expectedString) +{ + return HC_equalToIgnoringCase(expectedString); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.m b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.m index 941109d..d23f711 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.m +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCIsEqualIgnoringCase.h" @@ -12,11 +12,6 @@ @interface HCIsEqualIgnoringCase () @implementation HCIsEqualIgnoringCase -+ (instancetype)isEqualIgnoringCase:(NSString *)string -{ - return [[self alloc] initWithString:string]; -} - - (instancetype)initWithString:(NSString *)string { HCRequireNonNilObject(string); @@ -27,7 +22,7 @@ - (instancetype)initWithString:(NSString *)string return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (![item isKindOfClass:[NSString class]]) return NO; @@ -46,5 +41,5 @@ - (void)describeTo:(id )description id HC_equalToIgnoringCase(NSString *expectedString) { - return [HCIsEqualIgnoringCase isEqualIgnoringCase:expectedString]; + return [[HCIsEqualIgnoringCase alloc] initWithString:expectedString]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.h b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.h deleted file mode 100644 index 1e6633b..0000000 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.h +++ /dev/null @@ -1,40 +0,0 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt - -#import - - -/*! - * @abstract Tests if a string is equal to another string, ignoring any changes in whitespace. - */ -@interface HCIsEqualIgnoringWhiteSpace : HCBaseMatcher - -+ (instancetype)isEqualIgnoringWhiteSpace:(NSString *)string; -- (instancetype)initWithString:(NSString *)string; - -@end - - -FOUNDATION_EXPORT id HC_equalToIgnoringWhiteSpace(NSString *expectedString); - -#ifdef HC_SHORTHAND -/*! - * @abstract equalToIgnoringWhiteSpace(expectedString) - - * Creates a matcher for NSStrings that matches when the examined string is equal to the specified - * expected string, ignoring differences in whitespace. - * @param expectedString The expected value of matched strings. (Must not be nil.) - * @discussion To be exact, the following whitespace rules are applied: - *
      - *
    • all leading and trailing whitespace of both the expectedString and the examined string are ignored
    • - *
    • any remaining whitespace, appearing within either string, is collapsed to a single space before comparison
    • - *
    - * - * Example
    - *
    assertThat(@"   my\tfoo  bar ", equalToIgnoringWhiteSpace(@" my  foo bar"))
    - * - * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym - * HC_equalToIgnoringWhiteSpace instead. - */ -#define equalToIgnoringWhiteSpace HC_equalToIgnoringWhiteSpace -#endif diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.m b/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.m deleted file mode 100644 index 7c56e11..0000000 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.m +++ /dev/null @@ -1,91 +0,0 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt - -#import "HCIsEqualIgnoringWhiteSpace.h" - -#import "HCRequireNonNilObject.h" - - -static void removeTrailingSpace(NSMutableString *string) -{ - NSUInteger length = string.length; - if (length > 0) - { - NSUInteger charIndex = length - 1; - if (isspace([string characterAtIndex:charIndex])) - [string deleteCharactersInRange:NSMakeRange(charIndex, 1)]; - } -} - -static NSMutableString *stripSpace(NSString *string) -{ - NSUInteger length = string.length; - NSMutableString *result = [NSMutableString stringWithCapacity:length]; - BOOL lastWasSpace = YES; - for (NSUInteger charIndex = 0; charIndex < length; ++charIndex) - { - unichar character = [string characterAtIndex:charIndex]; - if (isspace(character)) - { - if (!lastWasSpace) - [result appendString:@" "]; - lastWasSpace = YES; - } - else - { - [result appendFormat:@"%C", character]; - lastWasSpace = NO; - } - } - - removeTrailingSpace(result); - return result; -} - - -@interface HCIsEqualIgnoringWhiteSpace () -@property (nonatomic, copy, readonly) NSString *originalString; -@property (nonatomic, copy, readonly) NSString *strippedString; -@end - -@implementation HCIsEqualIgnoringWhiteSpace - -+ (instancetype)isEqualIgnoringWhiteSpace:(NSString *)string -{ - return [[self alloc] initWithString:string]; -} - -- (instancetype)initWithString:(NSString *)string -{ - HCRequireNonNilObject(string); - - self = [super init]; - if (self) - { - _originalString = [string copy]; - _strippedString = [stripSpace(string) copy]; - } - return self; -} - -- (BOOL)matches:(id)item -{ - if (![item isKindOfClass:[NSString class]]) - return NO; - - return [self.strippedString isEqualToString:stripSpace(item)]; -} - -- (void)describeTo:(id )description -{ - [[description appendDescriptionOf:self.originalString] - appendText:@" ignoring whitespace"]; -} - -@end - - -id HC_equalToIgnoringWhiteSpace(NSString *expectedString) -{ - return [HCIsEqualIgnoringWhiteSpace isEqualIgnoringWhiteSpace:expectedString]; -} diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContains.h b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContains.h index aa0ccbf..61d5fe1 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContains.h +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContains.h @@ -1,63 +1,39 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Tests if string that contains a substring. */ @interface HCStringContains : HCSubstringMatcher - -+ (id)stringContains:(NSString *)substring; - @end -FOUNDATION_EXPORT id HC_containsString(NSString *aSubstring) __attribute__((deprecated)); - -#ifdef HC_SHORTHAND -/*! - * @abstract containsString(aString) - - * Creates a matcher that matches when the examined object is a string containing the specified - * substring. - * @param aString The string to search for. (Must not be nil.) - * @discussion Deprecated: Use @ref containsSubstring() instead. - * - * This matcher first checks whether the examined object is a string. If so, it checks whether it - * contains aString. - * - * Example: - *
      - *
    • containsString(\@"def")
    • - *
    - * will match "abcdefg". - * - * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym - * HC_containsString instead. - */ -#define containsString HC_containsString -#endif - - FOUNDATION_EXPORT id HC_containsSubstring(NSString *substring); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract containsSubstring(substring) - - * Creates a matcher that matches when the examined object is a string containing the specified - * substring anywhere. + * @abstract Creates a matcher that matches when the examined object is a string containing the + * specified substring anywhere. * @param substring The string to search for. (Must not be nil.) * @discussion The matcher invokes -rangeOfString: on the examined object, passing the * specified substring and matching if it is found. * * Example
    - *
    assertThat(@"myStringOfNote", containsSubstring(@"ring"))
    + *
    assertThat(\@"myStringOfNote", containsSubstring(\@"ring"))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_containsSubstring instead. */ -#define containsSubstring HC_containsSubstring +static inline id containsSubstring(NSString *substring) +{ + return HC_containsSubstring(substring); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContains.m b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContains.m index 5692f0e..a6fb1f2 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContains.m +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContains.m @@ -1,17 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCStringContains.h" @implementation HCStringContains -+ (instancetype)stringContains:(NSString *)substring -{ - return [[self alloc] initWithSubstring:substring]; -} - -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (![item respondsToSelector:@selector(rangeOfString:)]) return NO; @@ -27,12 +22,7 @@ - (NSString *)relationship @end -id HC_containsString(NSString *aString) -{ - return HC_containsSubstring(aString); -} - id HC_containsSubstring(NSString *substring) { - return [HCStringContains stringContains:substring]; + return [[HCStringContains alloc] initWithSubstring:substring]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.h b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.h index f460214..4788373 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.h +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.h @@ -1,37 +1,62 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Tests if string that contains a list of substrings in relative order. */ @interface HCStringContainsInOrder : HCBaseMatcher -+ (instancetype)containsInOrder:(NSArray *)substrings; -- (instancetype)initWithSubstrings:(NSArray *)substrings; +- (instancetype)initWithSubstrings:(NSArray *)substrings NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end +FOUNDATION_EXPORT id HC_stringContainsInOrderIn(NSArray *substrings); + +#ifndef HC_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates matcher for NSStrings that matches when the examined string contains all of the + * specified substrings, considering the order of their appearance. + * @param substrings An array of strings. + * @discussion + * Example
    + *
    assertThat(\@"myfoobarbaz", stringContainsInOrderIn(\@[\@"bar", \@"foo"]))
    + * fails as "foo" occurs before "bar" in the string "myfoobarbaz" + * + * Name Clash
    + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym + * HC_stringContainsInOrderIn instead. + */ +static inline id stringContainsInOrderIn(NSArray *substrings) +{ + return HC_stringContainsInOrderIn(substrings); +} +#endif + + FOUNDATION_EXPORT id HC_stringContainsInOrder(NSString *substrings, ...) NS_REQUIRES_NIL_TERMINATION; -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract stringContainsInOrder(substrings, ...) - - * Creates matcher for NSStrings that matches when the examined string contains all of - * the specified substrings, considering the order of their appearance. - * @param substrings,... A comma-separated list of strings that must be contained within matching - * strings, ending with nil. + * @abstract Creates matcher for NSStrings that matches when the examined string contains all of the + * specified substrings, considering the order of their appearance. + * @param substrings... A comma-separated list of strings, ending with nil. * @discussion * Example
    - *
    assertThat(@"myfoobarbaz", stringContainsInOrder(@"bar", @"foo", nil))
    + *
    assertThat(\@"myfoobarbaz", stringContainsInOrder(\@"bar", \@"foo", nil))
    * fails as "foo" occurs before "bar" in the string "myfoobarbaz" * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_stringContainsInOrder instead. */ -#define stringContainsInOrder HC_stringContainsInOrder +#define stringContainsInOrder(substrings...) HC_stringContainsInOrder(substrings) #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.m b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.m index 90306bb..e1d892f 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.m +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCStringContainsInOrder.h" @@ -21,17 +21,12 @@ static void requireElementsToBeStrings(NSArray *array) @interface HCStringContainsInOrder () -@property (nonatomic, copy, readonly) NSArray *substrings; +@property (nonatomic, copy, readonly) NSArray *substrings; @end @implementation HCStringContainsInOrder -+ (instancetype)containsInOrder:(NSArray *)substrings -{ - return [[self alloc] initWithSubstrings:substrings]; -} - -- (instancetype)initWithSubstrings:(NSArray *)substrings +- (instancetype)initWithSubstrings:(NSArray *)substrings { self = [super init]; if (self) @@ -42,7 +37,7 @@ - (instancetype)initWithSubstrings:(NSArray *)substrings return self; } -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (![item isKindOfClass:[NSString class]]) return NO; @@ -67,12 +62,17 @@ - (void)describeTo:(id )description @end +id HC_stringContainsInOrderIn(NSArray *substrings) +{ + return [[HCStringContainsInOrder alloc] initWithSubstrings:substrings]; +} + id HC_stringContainsInOrder(NSString *substrings, ...) { va_list args; va_start(args, substrings); - NSArray *strings = HCCollectItems(substrings, args); + NSArray *array = HCCollectItems(substrings, args); va_end(args); - return [HCStringContainsInOrder containsInOrder:strings]; + return HC_stringContainsInOrderIn(array); } diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.h b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.h index cdaa2a8..3c05af1 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.h +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.h @@ -1,37 +1,40 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Tests if string ends with a substring. */ @interface HCStringEndsWith : HCSubstringMatcher - -+ (id)stringEndsWith:(NSString *)substring; - @end FOUNDATION_EXPORT id HC_endsWith(NSString *suffix); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract endsWith(suffix) - - * Creates a matcher that matches when the examined object is a string that ends with the specified - * string. + * @abstract Creates a matcher that matches when the examined object is a string that ends with the + * specified string. * @param suffix The substring that the returned matcher will expect at the end of any examined * string. (Must not be nil.) * @discussion The matcher invokes -hasSuffix: on the examined object, passing the * specified suffix. * * Example
    - *
    assertThat(@"myStringOfNote", endsWith(@"Note"))
    + *
    assertThat(\@"myStringOfNote", endsWith(\@"Note"))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_endsWith instead. */ -#define endsWith HC_endsWith +static inline id endsWith(NSString *suffix) +{ + return HC_endsWith(suffix); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.m b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.m index 33e882c..93c888c 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.m +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.m @@ -1,17 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCStringEndsWith.h" @implementation HCStringEndsWith -+ (instancetype)stringEndsWith:(NSString *)substring -{ - return [[self alloc] initWithSubstring:substring]; -} - -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (![item respondsToSelector:@selector(hasSuffix:)]) return NO; @@ -29,5 +24,5 @@ - (NSString *)relationship id HC_endsWith(NSString *suffix) { - return [HCStringEndsWith stringEndsWith:suffix]; + return [[HCStringEndsWith alloc] initWithSubstring:suffix]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.h b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.h index 9ca4630..dad29ec 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.h +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.h @@ -1,37 +1,40 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + /*! * @abstract Tests string starts with a substring. */ @interface HCStringStartsWith : HCSubstringMatcher - -+ (id)stringStartsWith:(NSString *)substring; - @end FOUNDATION_EXPORT id HC_startsWith(NSString *prefix); -#ifdef HC_SHORTHAND +#ifndef HC_DISABLE_SHORT_SYNTAX /*! - * @abstract startsWith(prefix) - - * Creates a matcher that matches when the examined object is a string that starts with the - * specified string. + * @abstract Creates a matcher that matches when the examined object is a string that starts with + * the specified string. * @param prefix The substring that the returned matcher will expect at the start of any examined * string. (Must not be nil.) * @discussion The matcher invokes -hasPrefix: on the examined object, passing the * specified prefix. * * Example
    - *
    assertThat(@"myStringOfNote", startsWith(@"my"))
    + *
    assertThat(\@"myStringOfNote", startsWith(\@"my"))
    * * Name Clash
    - * In the event of a name clash, don't #define HC_SHORTHAND and use the synonym + * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym * HC_startsWith instead. */ -#define startsWith HC_startsWith +static inline id startsWith(NSString *prefix) +{ + return HC_startsWith(prefix); +} #endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.m b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.m index 3780f6a..981da93 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.m +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.m @@ -1,17 +1,12 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCStringStartsWith.h" @implementation HCStringStartsWith -+ (instancetype)stringStartsWith:(NSString *)substring -{ - return [[self alloc] initWithSubstring:substring]; -} - -- (BOOL)matches:(id)item +- (BOOL)matches:(nullable id)item { if (![item respondsToSelector:@selector(hasPrefix:)]) return NO; @@ -29,5 +24,5 @@ - (NSString *)relationship id HC_startsWith(NSString *prefix) { - return [HCStringStartsWith stringStartsWith:prefix]; + return [[HCStringStartsWith alloc] initWithSubstring:prefix]; } diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.h b/Example/Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.h index 23dfa62..a7a77ff 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.h +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.h @@ -1,13 +1,18 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + @interface HCSubstringMatcher : HCBaseMatcher @property (nonatomic, copy, readonly) NSString *substring; -- (instancetype)initWithSubstring:(NSString *)substring; +- (instancetype)initWithSubstring:(NSString *)substring NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.m b/Example/Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.m index 7dc64b8..b8d021b 100644 --- a/Example/Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.m +++ b/Example/Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.m @@ -1,5 +1,5 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import "HCSubstringMatcher.h" diff --git a/Example/Pods/OCHamcrest/Source/OCHamcrest.h b/Example/Pods/OCHamcrest/Source/OCHamcrest.h index 1c8637f..1ddc264 100644 --- a/Example/Pods/OCHamcrest/Source/OCHamcrest.h +++ b/Example/Pods/OCHamcrest/Source/OCHamcrest.h @@ -1,10 +1,10 @@ -// OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 hamcrest.org. See LICENSE.txt +// OCHamcrest by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 hamcrest.org. See LICENSE.txt #import #import +#import #import -#import "HCArgumentCaptor.h" #import #import #import @@ -26,7 +26,7 @@ #import #import #import -#import +#import #import #import #import @@ -42,8 +42,13 @@ #import #import #import -#import -#import #import #import #import + +// Carthage workaround: Include transitive public headers +#import +#import +#import +#import +#import diff --git a/Example/Pods/OCMockito/LICENSE.txt b/Example/Pods/OCMockito/LICENSE.txt index f7a967b..c6e55ba 100644 --- a/Example/Pods/OCMockito/LICENSE.txt +++ b/Example/Pods/OCMockito/LICENSE.txt @@ -1,5 +1,5 @@ -OCMockito by Jon Reid, http://qualitycoding.org/about/ -Copyright 2014 Jonathan M. Reid +OCMockito by Jon Reid, https://qualitycoding.org/ +Copyright 2017 Jonathan M. Reid Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/Example/Pods/OCMockito/README.md b/Example/Pods/OCMockito/README.md index 1bb3196..61aff90 100644 --- a/Example/Pods/OCMockito/README.md +++ b/Example/Pods/OCMockito/README.md @@ -1,6 +1,10 @@ -![mockito](http://docs.mockito.googlecode.com/hg/latest/org/mockito/logo.jpg) +![mockito](https://raw.githubusercontent.com/mockito/mockito.github.io/master/img/logo.png) + +[![Build Status](https://travis-ci.org/jonreid/OCMockito.svg?branch=master)](https://travis-ci.org/jonreid/OCMockito) +[![Coverage Status](https://coveralls.io/repos/jonreid/OCMockito/badge.svg?branch=master)](https://coveralls.io/r/jonreid/OCMockito?branch=master) +[![Cocoapods Version](https://cocoapod-badges.herokuapp.com/v/OCMockito/badge.png)](http://cocoapods.org/pods/OCMockito) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Build Status](https://travis-ci.org/jonreid/OCMockito.svg?branch=master)](https://travis-ci.org/jonreid/OCMockito) [![Coverage Status](https://coveralls.io/repos/jonreid/OCMockito/badge.png?branch=master)](https://coveralls.io/r/jonreid/OCMockito?branch=master) [![Cocoapods Version](https://cocoapod-badges.herokuapp.com/v/OCMockito/badge.png)](http://cocoapods.org/?q=ocmockito) OCMockito is an iOS and Mac OS X implementation of Mockito, supporting creation, verification and stubbing of mock objects. @@ -18,89 +22,6 @@ Key differences from other mocking frameworks: failures. -How do I add OCMockito to my project? -------------------------------------- - -The Examples folder shows projects using OCMockito either through CocoaPods or -through the prebuilt frameworks, for iOS and Mac OS X development. - -### CocoaPods - -If you want to add OCMockito using Cocoapods then add the following dependency -to your Podfile. Most people will want OCMockito in their test targets, and not -include any pods from their main targets: - -```ruby -target :MyTests, :exclusive => true do - pod 'OCMockito', '~> 1.0' -end -``` - -Use the following imports: - - #define HC_SHORTHAND - #import - - #define MOCKITO_SHORTHAND - #import - -### Prebuilt Frameworks - -Prebuilt binaries are available on GitHub for -[OCMockito](https://github.com/jonreid/OCMockito/releases/). You will also need -[OCHamcrest 4.0.1](https://github.com/hamcrest/OCHamcrest/releases/tag/v4.0.1). -The binaries are packaged as frameworks: - -* __OCMockitoIOS.framework__ for iOS development -* __OCMockito.framework__ for Mac OS X development - -OCHamcrest comes in a similar scheme. Drag the appropriate frameworks for both -both OCMockito and OCHamcrest into your project, specifying "Copy items into -destination group's folder". Then specify `-ObjC` in your "Other Linker Flags". - -#### iOS Development: - -Use the following imports: - - #define HC_SHORTHAND - #import - - #define MOCKITO_SHORTHAND - #import - - -#### Mac OS X Development: - -Add a "Copy Files" build phase to copy OCMockito.framework and -OCHamcrest.framework to your Products Directory. - -Use the following imports: - - #define HC_SHORTHAND - #import - - #define MOCKITO_SHORTHAND - #import - - -### Build Your Own - -If you want to build OCMockito yourself, clone the repo, then - -```sh -$ git submodule update --init -$ Frameworks/gethamcrest -$ cd Source -$ ./MakeDistribution.sh -``` - -### Xcode 5 confused by verify: - -Xcode 5 currently seems to get confused about #defines, and may complain -"Ambiguous expansion of macro 'verify'". If this happens, change your Build -Settings to set "Enable Modules" to No. - - Let's verify some behavior! --------------------------- @@ -195,8 +116,8 @@ To stub methods that return primitive scalars, box the scalars into NSValues: How do you stub methods that return structs? -------------------------------------------- -Use `willReturnStruct:objCType:` passing a pointer to your structure and the -type created with the Objective-C `@encode()` compiler directive: +Use `willReturnStruct:objCType:` passing a pointer to your structure and its +type from the Objective-C `@encode()` compiler directive: ```obj-c SomeStruct aStruct = {...}; @@ -208,12 +129,16 @@ SomeStruct aStruct = {...}; How do you stub a property so that KVO works? --------------------------------------------- -Use `stubProperty(instance, property, value)`. For example: +Use `stubProperty(mock, property, stubbedValue)`. For example, say you have a +mock object named `mockEmployee`. It has a property `firstName`. You want to +stub it to return the value "FIRST-NAME": ```obj-c -stubProperty(mockEmployee, firstName, @"fake-firstname"); +stubProperty(mockEmployee, firstName, @"FIRST-NAME"); ``` +This stubs the `firstName` property, `valueForKey:` and `valueForKeyPath:`. + Argument matchers ----------------- @@ -240,10 +165,10 @@ Typed arguments will issue a warning that the matcher is the wrong type. Just cast the matcher to `id`. -How do you specify matchers for primitive arguments? ----------------------------------------------------- +How do you specify matchers for non-object arguments? +----------------------------------------------------- -To stub a method that takes a primitive argument but specify a matcher, invoke +To stub a method that takes a non-object argument but specify a matcher, invoke the method with a dummy argument, then call `-withMatcher:forArgument:` ```obj-c @@ -259,7 +184,11 @@ Use the shortcut `-withMatcher:` to specify a matcher for a single argument: ``` These methods are also available to specify matchers for verification. Just call -them after `verify(…)` but before the invocation you want to verify. +them after `verify(…)` but before the invocation you want to verify: + +```obj-c +[[verify(mockArray) withMatcher:greaterThan(@5])] removeObjectAtIndex:0]; +``` Verifying exact number of invocations / at least x / never @@ -283,34 +212,42 @@ Verifying exact number of invocations / at least x / never // verify using never(), which is an alias for times(0) [verifyCount(mockArray, never()) addObject:@"never happened"]; -// verify using atLeast +// verify using atLeast()/atMost() [verifyCount(mockArray, atLeastOnce()) addObject:@"at least once"]; [verifyCount(mockArray, atLeast(2)) addObject:@"at least twice"]; +[verifyCount(mockArray, atMost(5)) addObject:@"at most five times"]; ``` Capturing arguments for further assertions ------------------------------------------ -OCMockito verifies argument values by using any provided OCHamcrest matchers, -with the default matcher being `equalTo` to test for equality. This is the -recommended way of matching arguments because it makes tests clean and simple. -In some situations though, it's helpful to assert on certain arguments after the -actual verification. For example: +OCMockito verifies argument values using OCHamcrest matchers; non-matcher +arguments are implicitly wrapped in the `equalTo` matcher to test for equality. +In some situations though, it's helpful to capture an argument so you can send +it another message. + +OCHamcrest provides a special matcher for this purpose: HCArgumentCaptor. +Specify it as an argument, then query it with either the `value` or `allValues` +properties. + +For example, you may want to send the captured argument a message to query its +state: ```obj-c -MKTArgumentCaptor *argument = [[MKTArgumentCaptor alloc] init]; -[verify(mockObject) doSomething:[argument capture]]; -assertThat([[argument value] nameAtIndex:0], is(@"Jon")); +HCArgumentCaptor *argument = [[HCArgumentCaptor alloc] init]; +[verify(mockObject) doSomething:(id)argument]; +assertThat([argument.value nameAtIndex:0], is(@"Jon")); ``` -Capturing arguments is especially handy for block arguments. You can capture a -block, then invoke it within your test: +Capturing arguments is especially handy for block arguments. Capture the +argument, cast it to the block type, then invoke the block directly to simulate +the ways it will be called by production code: ```obj-c -MKTArgumentCaptor *argument = [[MKTArgumentCaptor alloc] init]; -[verify(mockArray) sortUsingComparator:[argument capture]]; -NSComparator block = [argument value]; +HCArgumentCaptor *argument = [[HCArgumentCaptor alloc] init]; +[verify(mockArray) sortUsingComparator:(id)argument]; +NSComparator block = argument.value; assertThat(@(block(@"a", @"z")), is(@(NSOrderedAscending))); ``` @@ -338,12 +275,12 @@ Stubbing with blocks -------------------- We recommend using simple stubbing with `willReturn:` or `willThrow:` only. But -`willDo:` using a block can sometimes be helpful. The block can call -`mkt_arguments` (from NSInvocation+OCMockito.h) on the invocation to get the -arguments. Whatever the block returns will be used as the stubbed return value. +`willDo:` using a block can sometimes be helpful. The block can easily access +invocation arguments by calling `mkt_arguments` from NSInvocation+OCMockito.h. +Whatever the block returns will be used as the stubbed return value. ```obj-c -[[given([mockObject someMethod:anything()]) willDo:^id (NSInvocation *invocation){ +[given([mockObject someMethod:anything()]) willDo:^id (NSInvocation *invocation){ NSArray *args = [invocation mkt_arguments]; return @([args[0] intValue] * 2); }]; @@ -352,10 +289,123 @@ arguments. Whatever the block returns will be used as the stubbed return value. NSLog(@"%@", [mockObject someMethod:@2]); ``` +You can stub a void method with a block by using `givenVoid` instead of `given`. -Fixing retain cycles --------------------- -If you have a situation where the `-dealloc` of your System Under Test is not -called when you nil out your SUT, call `-reset` on your mock object (probably -from `tearDown`). +Problems with dealloc +--------------------- + +Use `stopMocking(…)` if a `-dealloc` of your System Under Test is trying to +message an object that is mocked. It disables message handling on the mock and +frees its retained arguments. This prevents retain cycles and crashes during +test clean-up. See StopMockingTests.m for an example. + + +How do you mock a singleton? +---------------------------- + +The short answer is: Don't. Instead of your class deciding who it's going to +talk to, inject those dependencies. + +The longer answer is: Well. Legacy code. Call `stubSingleton` on a mock class +object, specifying the name of the factory method. + +```obj-c +__strong Class mockUserDefaultsClass = mockClass([NSUserDefaults class]); +NSUserDefaults* mockDefaults = mock([NSUserDefaults class]); + +stubSingleton(mockUserDefaultsClass, standardUserDefaults); +[given([NSUserDefaults standardUserDefaults]) willReturn:mockDefaults]; +``` + +Beware! This uses swizzling. You need to make sure the mock class object gets +deallocated so that the swizzling is undone. + +In the example above, `mockUserDefaultsClass` will go out scope and be +destroyed. But what if you kept it in the test fixture, as an ivar or a +property? According to XCTest's design, it won't be implicitly destroyed. +You need to explicitly set it to nil in `-tearDown`, or the swizzling will +bleed over to your other tests, compromising their integrity. + +If you need more control over when the swizzling is undone, call +`stopMocking(…)` on the mock class. + + +How do I add OCMockito to my project? +------------------------------------- + +The Examples folder shows projects using OCMockito either through CocoaPods or +through the prebuilt frameworks, for iOS and Mac OS X development. + +### CocoaPods + +If you want to add OCMockito using Cocoapods then add the following dependency +to your Podfile. Most people will want OCMockito in their test targets, and not +include any pods from their main targets: + +```ruby +target 'MyTests' do + inherit! :search_paths + pod 'OCMockito', '~> 5.0' +end +``` + +Use the following imports: + + #import + #import + +### Carthage + +Add the following to your Cartfile: + +``` +github "jonreid/OCMockito" ~> 5.0 +``` + +Then drag the the built frameworks (both OCHamcrest and OCMockito) from the +appropriate Carthage/Build directory into your project, but with "Copy items +into destination group's folder" disabled. + +### Prebuilt Frameworks + +Prebuilt binaries are available on GitHub for +[OCMockito](https://github.com/jonreid/OCMockito/releases/). You will also need +[OCHamcrest](https://github.com/hamcrest/OCHamcrest/releases/). +The binaries are packaged as frameworks: + +* __OCMockitoIOS.framework__ for iOS development +* __OCMockito.framework__ for Mac OS X development + +OCHamcrest comes in a similar scheme. Drag the appropriate frameworks for both +both OCMockito and OCHamcrest into your project, specifying "Copy items into +destination group's folder". Then specify `-ObjC` in your "Other Linker Flags". + +#### iOS Development: + +Use the following imports: + + #import + #import + + +#### Mac OS X Development: + +Add a "Copy Files" build phase to copy OCMockito.framework and +OCHamcrest.framework to your Products Directory. + +Use the following imports: + + #import + #import + + +### Build Your Own + +If you want to build OCMockito yourself, clone the repo, then + +```sh +$ Frameworks/gethamcrest +$ cd Source +$ ./MakeDistribution.sh +``` diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTMockingProgress.h b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockingProgress.h similarity index 76% rename from Example/Pods/OCMockito/Source/OCMockito/MKTMockingProgress.h rename to Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockingProgress.h index 0153dd8..c6ec494 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTMockingProgress.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockingProgress.h @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import @@ -11,9 +11,11 @@ @protocol MKTVerificationMode; +NS_ASSUME_NONNULL_BEGIN + @interface MKTMockingProgress : NSObject -@property (nonatomic, assign) MKTTestLocation testLocation; +@property (nonatomic, assign, readonly) MKTTestLocation testLocation; + (instancetype)sharedProgress; - (void)reset; @@ -29,3 +31,5 @@ - (MKTInvocationMatcher *)pullInvocationMatcher; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTMockingProgress.m b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockingProgress.m similarity index 84% rename from Example/Pods/OCMockito/Source/OCMockito/MKTMockingProgress.m rename to Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockingProgress.m index 2aee403..2770904 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTMockingProgress.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockingProgress.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTMockingProgress.h" @@ -9,6 +9,7 @@ @interface MKTMockingProgress () +@property (nonatomic, assign, readwrite) MKTTestLocation testLocation; @property (nonatomic, strong) MKTInvocationMatcher *invocationMatcher; @property (nonatomic, strong) id verificationMode; @property (nonatomic, strong) MKTOngoingStubbing *ongoingStubbing; @@ -75,4 +76,12 @@ - (MKTInvocationMatcher *)pullInvocationMatcher return result; } +- (void)setOngoingStubbing:(MKTOngoingStubbing *)ongoingStubbing +{ + @synchronized (self) + { + _ongoingStubbing = ongoingStubbing; + } +} + @end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTMockitoCore.h b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockitoCore.h similarity index 72% rename from Example/Pods/OCMockito/Source/OCMockito/MKTMockitoCore.h rename to Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockitoCore.h index 0cfbbc9..cc8b616 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTMockitoCore.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockitoCore.h @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import @@ -10,6 +10,8 @@ @protocol MKTVerificationMode; +NS_ASSUME_NONNULL_BEGIN + @interface MKTMockitoCore : NSObject + (instancetype)sharedCore; @@ -21,3 +23,5 @@ atLocation:(MKTTestLocation)location; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTMockitoCore.m b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockitoCore.m similarity index 84% rename from Example/Pods/OCMockito/Source/OCMockito/MKTMockitoCore.m rename to Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockitoCore.m index 4f3a6b3..64c3ab9 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTMockitoCore.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTMockitoCore.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTMockitoCore.h" @@ -8,14 +8,11 @@ @interface MKTMockitoCore () - -@property (readonly, nonatomic, strong) MKTMockingProgress *mockingProgress; +@property (nonatomic, strong, readonly) MKTMockingProgress *mockingProgress; @end - @implementation MKTMockitoCore - + (instancetype)sharedCore { static id sharedCore = nil; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Core/MKTNonObjectArgumentMatching.h b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTNonObjectArgumentMatching.h new file mode 100644 index 0000000..192735f --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTNonObjectArgumentMatching.h @@ -0,0 +1,44 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +@protocol HCMatcher; + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Ability to specify OCHamcrest matchers for non-object arguments. + */ +@protocol MKTNonObjectArgumentMatching + +/*! + * @abstract Specifies OCHamcrest matcher for a specific argument of a method. + * @discussion For methods arguments that take objects, just pass the matcher directly as a method + * call. But for arguments that take non-objects, pass in a dummy value to satisfy the compiler, but + * call this to override it with the given matcher. Upon verification, the actual argument received + * will be converted to an object before being checked by the matcher. + * + * The argument index is 0-based, so the first argument of a method has index 0. + * + * Examples: + *
    [[given([mockFetchedResultsController performFetch:NULL]) withMatcher:anything()] willReturn:\@YES];
    + * This stubs performFetch: to return YES for any NSError ** argument. + * + *
    [[verify(mockArray) withMatcher:greaterThan(@5]) forArgument:0] removeObjectAtIndex:0];
    + * This verifies that removeObjectAtIndex: was called with an index greater than 5. + */ +- (id)withMatcher:(id )matcher forArgument:(NSUInteger)index; + +/*! + * @abstract Specifies OCHamcrest matcher for the first argument of a method. + * @discussion Equivalent to withMatcher:matcher forArgument:0. + * + * Example: + *
    [[verify(mockArray) withMatcher:greaterThan(\@5)] removeObjectAtIndex:0];
    + * This verifies that removeObjectAtIndex: was called with an index greater than 5. +*/ +- (id)withMatcher:(id )matcher; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTTestLocation.h b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTTestLocation.h similarity index 78% rename from Example/Pods/OCMockito/Source/OCMockito/MKTTestLocation.h rename to Example/Pods/OCMockito/Source/OCMockito/Core/MKTTestLocation.h index 80a03b4..da580aa 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTTestLocation.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTTestLocation.h @@ -1,9 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + typedef struct { __unsafe_unretained id testCase; @@ -23,3 +25,5 @@ static inline MKTTestLocation MKTTestLocationMake(id test, const char *file, int void MKTFailTest(id testCase, const char *fileName, int lineNumber, NSString *description); void MKTFailTestLocation(MKTTestLocation testLocation, NSString *description); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTTestLocation.m b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTTestLocation.m similarity index 67% rename from Example/Pods/OCMockito/Source/OCMockito/MKTTestLocation.m rename to Example/Pods/OCMockito/Source/OCMockito/Core/MKTTestLocation.m index d24d00b..3f20fc1 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTTestLocation.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Core/MKTTestLocation.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTTestLocation.h" #import -#import -#import +#import +#import void MKTFailTest(id testCase, const char *fileName, int lineNumber, NSString *description) { @@ -13,8 +13,8 @@ void MKTFailTest(id testCase, const char *fileName, int lineNumber, NSString *de fileName:[NSString stringWithUTF8String:fileName] lineNumber:(NSUInteger)lineNumber reason:description]; - HCTestFailureHandler *chain = HC_testFailureHandlerChain(); - [chain handleFailure:failure]; + HCTestFailureReporter *failureReporter = [HCTestFailureReporterChain reporterChain]; + [failureReporter handleFailure:failure]; } void MKTFailTestLocation(MKTTestLocation testLocation, NSString *description) diff --git a/Example/Pods/OCMockito/Source/OCMockito/Core/OCMockito.h b/Example/Pods/OCMockito/Source/OCMockito/Core/OCMockito.h new file mode 100644 index 0000000..fbb548f --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Core/OCMockito.h @@ -0,0 +1,399 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + +#import "MKTOngoingStubbing.h" +#import "NSInvocation+OCMockito.h" + +// Explicitly import transitive headers for complete "umbrella header" +#import "MKTBaseMockObject.h" +#import "MKTClassObjectMock.h" +#import "MKTObjectAndProtocolMock.h" +#import "MKTObjectMock.h" +#import "MKTProtocolMock.h" + +@protocol MKTVerificationMode; + + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT id MKTMock(Class classToMock); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates mock object of given class. + * @param classToMock The class for which to mock instance methods. + * @discussion The mock object will handle all instance methods of classToMock. Methods + * return 0 by default.
    + * Use given to stub different return values or behaviors.
    + * Use givenVoid to stub behaviors of void methods. + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTMock instead. + */ +static inline id mock(Class classToMock) +{ + return MKTMock(classToMock); +} +#endif + + +FOUNDATION_EXPORT id MKTMockClass(Class classToMock); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates mock class object of given class. + * @param classToMock The class for which to mock class methods. + * @discussion The mock object will handle all class methods of classToMock. Methods + * return 0 by default.
    + * Use given to stub different return values or behaviors.
    + * Use givenVoid to stub behaviors of void methods. + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTMockClass instead. + */ +static inline id mockClass(Class classToMock) +{ + return MKTMockClass(classToMock); +} +#endif + + +FOUNDATION_EXPORT id MKTMockProtocol(Protocol *protocolToMock); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates mock object of given protocol. + * @param protocolToMock The protocol to mock. + * @discussion The mock object will handle all methods of protocolToMock. Methods + * return 0 by default.
    + * Use given to stub different return values or behaviors.
    + * Use givenVoid to stub behaviors of void methods. + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTMockProtocol instead. + */ +static inline id mockProtocol(Protocol *protocolToMock) +{ + return MKTMockProtocol(protocolToMock); +} +#endif + + +FOUNDATION_EXPORT id MKTMockProtocolWithoutOptionals(Protocol *protocolToMock); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates mock object of given protocol, but without optional methods. + * @param protocolToMock The protocol to mock. + * @discussion The mock object will handle only required methods of protocolToMock. It + * will not respond to the protocol's optional methods. Methods return 0 by default.
    + * Use given to stub different return values or behaviors.
    + * Use givenVoid to stub behaviors of void methods. + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTMockProtocolWithoutOptionals instead. +*/ +static inline id mockProtocolWithoutOptionals(Protocol *protocolToMock) +{ + return MKTMockProtocolWithoutOptionals(protocolToMock); +} +#endif + + +FOUNDATION_EXPORT id MKTMockObjectAndProtocol(Class classToMock, Protocol *protocolToMock); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates mock object of given class that also implements given protocol. + * @param classToMock The class to mock. + * @param protocolToMock The protocol to mock. + * @discussion The mock object will handle all instance methods of classToMock, along + * with all methods of protocolToMock. Methods return 0 by default.
    + * Use given to stub different return values or behaviors.
    + * Use givenVoid to stub behaviors of void methods. + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTMockObjectAndProtocol instead. + */ +static inline id mockObjectAndProtocol(Class classToMock, Protocol *protocolToMock) +{ + return MKTMockObjectAndProtocol(classToMock, protocolToMock); +} +#endif + + +FOUNDATION_EXPORT MKTOngoingStubbing *MKTGivenWithLocation(id testCase, const char *fileName, int lineNumber, ...); +#define MKTGiven(methodCall) MKTGivenWithLocation(self, __FILE__, __LINE__, methodCall) + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Stubs a method call. + * @discussion Creates an MKTOngoingStubbing used for any matching method calls. Call + * MKTOngoingStubbing methods to define the stub's return value or behavior. + * + * Method arguments are matched with specified OCHamcrest matchers. Any argument that is not a + * matcher is implicitly wrapped in equalTo to match for equality. + * + * Example: + *
    [given([mockObject transform:\@"FOO"]) willReturn:\@"BAR"];
    + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTGiven instead. + */ +#define given(methodCall) MKTGiven(methodCall) +#endif + + +FOUNDATION_EXPORT MKTOngoingStubbing *MKTGivenVoidWithLocation(id testCase, const char *fileName, int lineNumber, void(^methodCallWrapper)()); +#define MKTGivenVoid(methodCall) MKTGivenVoidWithLocation(self, __FILE__, __LINE__, ^{ methodCall; }) + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Stubs a call to a void method. + * @discussion Creates an MKTOngoingStubbing used for any matching method calls. Call + * MKTOngoingStubbing methods to define the stub's behavior. + * + * Method arguments are matched with specified OCHamcrest matchers. Any argument that is not a + * matcher is implicitly wrapped in equalTo to match for equality. + * + * Example: + *
    [givenVoid([mockObject methodReturningVoid]) willDo:^id(NSInvocation *invocation) { magic(); return nil; }];
    + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTGiven instead. + */ +#define givenVoid(methodCall) MKTGivenVoid(methodCall) +#endif + + +#define MKTStubProperty(mock, propertyName, stubbedValue) \ + do { \ + [MKTGiven([mock propertyName]) willReturn:stubbedValue]; \ + [MKTGiven([mock valueForKey:@#propertyName]) willReturn:stubbedValue]; \ + [MKTGiven([mock valueForKeyPath:@#propertyName]) willReturn:stubbedValue]; \ + } while(0) + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Stubs a property and its related KVO methods to return a given value. + * @discussion + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTStubProperty instead. + */ +#define stubProperty(mock, propertyName, stubbedValue) MKTStubProperty(mock, propertyName, stubbedValue) +#endif + + +FOUNDATION_EXPORT void MKTStubSingletonWithLocation(id mockClass, SEL aSelector, id testCase, const char *fileName, int lineNumber); +#define MKTStubSingleton(mockClass, methodName) MKTStubSingletonWithLocation(mockClass, @selector(methodName), self, __FILE__, __LINE__) + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Stubs a singleton to the mock class object. + * @discussion + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTStubSingleton instead. + */ +#define stubSingleton(mockClass, methodName) MKTStubSingleton(mockClass, methodName) +#endif + + +FOUNDATION_EXPORT _Nullable id MKTVerifyWithLocation(id mock, id testCase, const char *fileName, int lineNumber); +#define MKTVerify(mock) MKTVerifyWithLocation(mock, self, __FILE__, __LINE__) + +#ifndef MKT_DISABLE_SHORT_SYNTAX +#undef verify +/*! + * @abstract Verifies certain behavior happened once. + * @discussion Equivalent to verifyCount(mock, times(1)). + * + * Method arguments are matched with specified OCHamcrest matchers. Any argument that is + * not a matcher is implicitly wrapped in equalTo to match for equality. + * + * Examples: + *
    [verify(mockObject) someMethod:startsWith(\@"foo")];
    + *
    [verify(mockObject) someMethod:\@"bar"];
    + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTVerify instead. + */ +#define verify(mock) MKTVerify(mock) +#endif + + +FOUNDATION_EXPORT id MKTVerifyCountWithLocation(id mock, id mode, id testCase, const char *fileName, int lineNumber); +#define MKTVerifyCount(mock, mode) MKTVerifyCountWithLocation(mock, mode, self, __FILE__, __LINE__) + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Verifies certain behavior happened a given number of times. + * @discussion Method arguments are matched with specified OCHamcrest matchers. Any argument that is + * not a matcher is implicitly wrapped in equalTo to match for equality. + * Examples: + *
    [verifyCount(mockObject, times(5)) someMethod:\@"was called five times"];
    + *
    [verifyCount(mockObject, never()) someMethod:\@"was never called"];
    + * verifyCount checks that a method was invoked the given number of times, with arguments that + * match given OCHamcrest matchers. If an argument is not a matcher, it is implicitly wrapped in an + * equalTo matcher to check for equality. + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTVerifyCount instead. + */ +#define verifyCount(mock, mode) MKTVerifyCount(mock, mode) +#endif + + +FOUNDATION_EXPORT id MKTTimes(NSUInteger wantedNumberOfInvocations); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates verifyCount mode verifying an exact number of invocations. + * @discussion Example: + *
    [verifyCount(mockObject, times(2)) someMethod:\@"some arg"];
    + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTTimes instead. + */ +static inline id times(NSUInteger wantedNumberOfInvocations) +{ + return MKTTimes(wantedNumberOfInvocations); +} +#endif + + +FOUNDATION_EXPORT id MKTNever(void); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates verifyCount mode verifying that an interaction did not happen. + * @discussion Example: + *
    [verifyCount(mockObject, never()) someMethod:\@"some arg"];
    + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTNever instead. + */ +static inline id never(void) +{ + return MKTNever(); +} +#endif + + +FOUNDATION_EXPORT id MKTAtLeast(NSUInteger minNumberOfInvocations); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates verifyCount mode verifying that an interaction happened at least + * the given number of times. + * @discussion + * Example: + *
    [verifyCount(mockObject, atLeast(2)) someMethod:\@"some arg"];
    + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTAtLeast instead. + */ +static inline id atLeast(NSUInteger minNumberOfInvocations) +{ + return MKTAtLeast(minNumberOfInvocations); +} +#endif + + +FOUNDATION_EXPORT id MKTAtLeastOnce(void); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates verifyCount mode verifying that an interaction happened at least + * once. + * @discussion Same as atLeast(1). + * + * Example: + *
    [verifyCount(mockObject, atLeastOnce()) someMethod:\@"some arg"];
    + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTAtLeastOnce instead. + */ +static inline id atLeastOnce(void) +{ + return MKTAtLeastOnce(); +} +#endif + + +FOUNDATION_EXPORT id MKTAtMost(NSUInteger maxNumberOfInvocations); + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Creates verifyCount mode verifying that an interaction happened at most + * the given number of times. + * @discussion + * Example: + *
    [verifyCount(mockObject, atMost(2)) someMethod:\@"some arg"];
    + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTAtLeast instead. + */ +static inline id atMost(NSUInteger maxNumberOfInvocations) +{ + return MKTAtMost(maxNumberOfInvocations); +} +#endif + + +FOUNDATION_EXPORT void MKTDisableMockingWithLocation(id mock, id testCase, const char *fileName, int lineNumber); +#define MKTDisableMocking(mock) MKTDisableMockingWithLocation(mock, self, __FILE__, __LINE__) + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Disables mocking, preventing any more invocations from being handled. + * @discussion There are cases where calling stopMocking() on a mock can release code under test + * that was being retained. If that code under test's dealloc method then references another mock + * that has not yet been stopped, it will create a strong reference to an object that is in the + * process of being deallocated, resulting in an over-release at a later date. A solution to this is + * to call disableMocking() on all mocks before calling stopMocking(). This allows a test to call + * stopMocking on all of its mocks without having to worry about which order to call them. + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTDisableMocking instead. + */ +#define disableMocking(mock) MKTDisableMocking(mock) +#endif + + +FOUNDATION_EXPORT void MKTStopMockingWithLocation(id mock, id testCase, const char *fileName, int lineNumber); +#define MKTStopMocking(mock) MKTStopMockingWithLocation(mock, self, __FILE__, __LINE__) + +#ifndef MKT_DISABLE_SHORT_SYNTAX +/*! + * @abstract Stops mocking and releases arguments. + * @discussion Mock objects normally retain all message arguments. This is not a problem for most + * tests, but can sometimes cause retain cycles. In such cases, call stopMocking to tell the mock + * to release its arguments, and to stop accepting messages. See StopMockingTests.m for an example. + * + * Name Clash
    + * In the event of a name clash, #define MKT_DISABLE_SHORT_SYNTAX and use the synonym + * MKTStopMocking instead. + */ +#define stopMocking(mock) MKTStopMocking(mock) +#endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Core/OCMockito.m b/Example/Pods/OCMockito/Source/OCMockito/Core/OCMockito.m new file mode 100644 index 0000000..c3a9a48 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Core/OCMockito.m @@ -0,0 +1,148 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "OCMockito.h" + +#import "MKTAtLeastTimes.h" +#import "MKTAtMostTimes.h" +#import "MKTExactTimes.h" +#import "MKTMockitoCore.h" + + +static NSString *actualTypeName(id mock) +{ + NSString *className = NSStringFromClass([mock class]); + if (!className) + return @"nil"; + return [@"type " stringByAppendingString:className]; +} + +static BOOL reportedInvalidMock(id mock, id testCase, const char *fileName, int lineNumber, NSString *functionName) +{ + if ([MKTBaseMockObject isMockObject:mock]) + return NO; + NSString *description = [NSString stringWithFormat: + @"Argument passed to %@ should be a mock, but was %@", + functionName, actualTypeName(mock)]; + MKTFailTest(testCase, fileName, lineNumber, description); + return YES; +} + +static BOOL reportedInvalidClassMock(id classMock, id testCase, const char *fileName, int lineNumber, NSString *functionName) +{ + NSString *className = NSStringFromClass([classMock class]); + if ([className isEqualToString:@"MKTClassObjectMock"]) + return NO; + NSString *description = [NSString stringWithFormat: + @"Argument passed to %@ should be a class mock, but was %@", + functionName, actualTypeName(classMock)]; + MKTFailTest(testCase, fileName, lineNumber, description); + return YES; +} + +static BOOL reportedInvalidClassMethod(MKTClassObjectMock *theMock, SEL aSelector, id testCase, const char *fileName, int lineNumber, NSString *functionName) +{ + if ([theMock respondsToSelector:aSelector]) + return NO; + NSString *description = [NSString stringWithFormat: + @"Method name passed to %@ should be a class method of %@, but was %@", + functionName, theMock.mockedClass, NSStringFromSelector(aSelector)]; + MKTFailTest(testCase, fileName, lineNumber, description); + return YES; +} + +id MKTMock(Class classToMock) +{ + return [[MKTObjectMock alloc] initWithClass:classToMock]; +} + +id MKTMockClass(Class classToMock) +{ + return [[MKTClassObjectMock alloc] initWithClass:classToMock]; +} + +id MKTMockProtocol(Protocol *protocolToMock) +{ + return [[MKTProtocolMock alloc] initWithProtocol:protocolToMock includeOptionalMethods:YES]; +} + +id MKTMockProtocolWithoutOptionals(Protocol *protocolToMock) +{ + return [[MKTProtocolMock alloc] initWithProtocol:protocolToMock includeOptionalMethods:NO]; +} + +id MKTMockObjectAndProtocol(Class classToMock, Protocol *protocolToMock) +{ + return [[MKTObjectAndProtocolMock alloc] initWithClass:classToMock protocol:protocolToMock]; +} + +MKTOngoingStubbing *MKTGivenWithLocation(id testCase, const char *fileName, int lineNumber, ...) +{ + return [[MKTMockitoCore sharedCore] stubAtLocation:MKTTestLocationMake(testCase, fileName, lineNumber)]; +} + +MKTOngoingStubbing *MKTGivenVoidWithLocation(id testCase, const char *fileName, int lineNumber, void(^methodCallWrapper)()) +{ + methodCallWrapper(); + return [[MKTMockitoCore sharedCore] stubAtLocation:MKTTestLocationMake(testCase, fileName, lineNumber)]; +} + +void MKTStubSingletonWithLocation(id mockClass, SEL aSelector, id testCase, const char *fileName, int lineNumber) +{ + if (reportedInvalidClassMock(mockClass, testCase, fileName, lineNumber, @"stubSingleton()")) + return; + MKTClassObjectMock *theMock = (MKTClassObjectMock *)mockClass; + if (reportedInvalidClassMethod(theMock, aSelector, testCase, fileName, lineNumber, @"stubSingleton()")) + return; + [theMock swizzleSingletonAtSelector:aSelector]; +} + +_Nullable id MKTVerifyWithLocation(id mock, id testCase, const char *fileName, int lineNumber) +{ + if (reportedInvalidMock(mock, testCase, fileName, lineNumber, @"verify()")) + return nil; + + return MKTVerifyCountWithLocation(mock, MKTTimes(1), testCase, fileName, lineNumber); +} + +id MKTVerifyCountWithLocation(id mock, id mode, id testCase, const char *fileName, int lineNumber) +{ + if (reportedInvalidMock(mock, testCase, fileName, lineNumber, @"verifyCount()")) + return nil; + + return [[MKTMockitoCore sharedCore] verifyMock:mock + withMode:mode + atLocation:MKTTestLocationMake(testCase, fileName, lineNumber)]; +} + +id MKTTimes(NSUInteger wantedNumberOfInvocations) +{ + return [[MKTExactTimes alloc] initWithCount:wantedNumberOfInvocations]; +} + +id MKTNever() +{ + return MKTTimes(0); +} + +id MKTAtLeast(NSUInteger minNumberOfInvocations) +{ + return [[MKTAtLeastTimes alloc] initWithMinimumCount:minNumberOfInvocations]; +} + +id MKTAtLeastOnce() +{ + return MKTAtLeast(1); +} + +id MKTAtMost(NSUInteger maxNumberOfInvocations) +{ + return [[MKTAtMostTimes alloc] initWithMaximumCount:maxNumberOfInvocations]; +} + +void MKTStopMockingWithLocation(id mock, id testCase, const char *fileName, int lineNumber) +{ + if (reportedInvalidMock(mock, testCase, fileName, lineNumber, @"stopMocking()")) + return; + [mock stopMocking]; +} diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.h index eb2af19..b4415ed 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.h @@ -1,12 +1,29 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Chain-of-responsibility for converting NSInvocation argument to object. + */ @interface MKTArgumentGetter : NSObject -- (instancetype)initWithType:(char const *)handlerType successor:(MKTArgumentGetter *)successor; +/*! + * @abstract Initializes a newly allocated argument getter. + * @param handlerType Argument type managed by this getter. Assign with \@encode compiler directive. + * @param successor Successor in chain to handle argument type. + */ +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +/*! + * @abstract Retrieve designated argument of specified type from NSInvocation, or pass to successor. + */ - (id)retrieveArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.m index a586f54..b6a3175 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.m @@ -1,22 +1,21 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" + @interface MKTArgumentGetter (SubclassResponsibility) - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation; @end @interface MKTArgumentGetter () -@property (readonly, nonatomic, assign) char const *handlerType; -@property (readonly, nonatomic, strong) MKTArgumentGetter *successor; +@property (nonatomic, assign, readonly) char const *handlerType; +@property (nullable, nonatomic, strong, readonly) MKTArgumentGetter *successor; @end - @implementation MKTArgumentGetter - -- (instancetype)initWithType:(char const *)handlerType successor:(MKTArgumentGetter *)successor +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor { self = [super init]; if (self) diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.h index cb42ad4..d8d52c3 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.h @@ -1,12 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import @class MKTArgumentGetter; -/** - Returns chain of argument getters. +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Returns chain of argument getters. */ FOUNDATION_EXPORT MKTArgumentGetter *MKTArgumentGetterChain(void); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.m index 3a8bcb2..2b65d91 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetterChain.h" diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.h deleted file mode 100644 index 587661f..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.h +++ /dev/null @@ -1,11 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTArgumentGetter.h" - - -@interface MKTBlockArgumentGetter : MKTArgumentGetter - -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.m deleted file mode 100644 index e7b7d57..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.m +++ /dev/null @@ -1,23 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTBlockArgumentGetter.h" - -typedef void (^MKTBlockType)(void); - -@implementation MKTBlockArgumentGetter - -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor -{ - self = [super initWithType:@encode(MKTBlockType) successor:successor]; - return self; -} - -- (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation -{ - __unsafe_unretained id arg = nil; - [invocation getArgument:&arg atIndex:idx]; - return arg ? [arg copy] : [NSNull null]; -} - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.h index 6b4a21b..ff406d2 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTBoolArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.m index 5d74b09..88aece8 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTBoolArgumentGetter.h" @implementation MKTBoolArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(BOOL) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.h index a0df0cd..550fcbb 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTCharArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.m index e85018b..ef98474 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTCharArgumentGetter.h" @implementation MKTCharArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(char) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.h index a4de895..dfa1bc2 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTClassArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.m index 26125e4..43deb26 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTClassArgumentGetter.h" @implementation MKTClassArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(Class) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.h index b765c2b..9fd8091 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTDoubleArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.m index 6bc6b56..f77194e 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTDoubleArgumentGetter.h" @implementation MKTDoubleArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(double) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.h index e0827ad..47c3e0e 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTFloatArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.m index df93f59..08d1851 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTFloatArgumentGetter.h" @implementation MKTFloatArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(float) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.h index 4782979..71d3e0e 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTIntArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.m index 10914c6..06617e7 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTIntArgumentGetter.h" @implementation MKTIntArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(int) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.h index 376ded0..719e8ac 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTLongArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.m index 03e5452..7375619 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTLongArgumentGetter.h" @implementation MKTLongArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(long) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.h index 4aae885..e38a187 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.h @@ -1,10 +1,15 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTLongLongArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.m index b5ff534..aec6133 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTLongLongArgumentGetter.h" @implementation MKTLongLongArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(long long) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.h index f380c87..4320ce8 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTObjectArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.m index ecb2359..b8fa91c 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTObjectArgumentGetter.h" @implementation MKTObjectArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(id) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.h index e5e5114..e0e21f8 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTPointerArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.m index d247f9d..fa30808 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTPointerArgumentGetter.h" @implementation MKTPointerArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(void *) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.h index d735173..81c5203 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTSelectorArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.m index 2e09b67..9995248 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTSelectorArgumentGetter.h" @implementation MKTSelectorArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(SEL) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.h index abb2d35..e45330f 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTShortArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.m index 8612410..38ed3ec 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTShortArgumentGetter.h" @implementation MKTShortArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(short) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.h index e998d52..5435dab 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTStructArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.m index ca46e78..c061402 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTStructArgumentGetter.h" @@ -8,7 +8,7 @@ @implementation MKTStructArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(MKTDummyStructure) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.h index cea1f4c..3b346a5 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedCharArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.m index 0542ff2..ec22159 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedCharArgumentGetter.h" @implementation MKTUnsignedCharArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(unsigned char) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.h index 1987b39..9416609 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedIntArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.m index eb374cc..b71c864 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedIntArgumentGetter.h" @implementation MKTUnsignedIntArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(unsigned int) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.h index 51a06e7..8576369 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedLongArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.m index d36ef77..1aa42b6 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedLongArgumentGetter.h" @implementation MKTUnsignedLongArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(unsigned long) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.h index 165570b..323ba0f 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedLongLongArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.m index 6314584..a381dc3 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedLongLongArgumentGetter.h" @implementation MKTUnsignedLongLongArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(unsigned long long) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.h index ce6b8c2..febc0d8 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTArgumentGetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedShortArgumentGetter : MKTArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTArgumentGetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.m index ae1def1..eaf5793 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedShortArgumentGetter.h" @implementation MKTUnsignedShortArgumentGetter -- (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTArgumentGetter *)successor { self = [super initWithType:@encode(unsigned short) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/MKTDynamicProperties.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/MKTDynamicProperties.h deleted file mode 100644 index c3db7b2..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/MKTDynamicProperties.h +++ /dev/null @@ -1,12 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - - -@interface MKTDynamicProperties : NSObject - -- (instancetype)initWithClass:(Class)aClass; -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.h index 7283992..73ce609 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTBoolReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.m index 1b61f92..bf4d182 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTBoolReturnSetter.h" @implementation MKTBoolReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(BOOL) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.h index 204daac..3a58da2 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTCharReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.m index 804fd05..ee16b86 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTCharReturnSetter.h" @implementation MKTCharReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(char) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.h index dd44e13..89dcf1a 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTClassReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.m index 2e101e8..2d40ef1 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTClassReturnSetter.h" @implementation MKTClassReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(Class) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.h index 726ca4b..42a6dd6 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTDoubleReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.m index af912a3..6af8a12 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTDoubleReturnSetter.h" @implementation MKTDoubleReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(double) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.h index a12b885..8dd3fc7 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTFloatReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.m index 1591532..205c1aa 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTFloatReturnSetter.h" @implementation MKTFloatReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(float) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.h index 623c0be..a1a4907 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTIntReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.m index d032eee..e585a37 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTIntReturnSetter.h" @implementation MKTIntReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(int) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.h index f89f286..d5c4e4d 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTLongLongReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.m index d96c2a4..be1de7c 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTLongLongReturnSetter.h" @implementation MKTLongLongReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(long long) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.h index 2db61fd..eefb482 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTLongReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.m index 4f8a7d1..b06f364 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTLongReturnSetter.h" @implementation MKTLongReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(long) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.h index 5d7b244..63d538e 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTObjectReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.m index b7404f4..6ccb750 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTObjectReturnSetter.h" @implementation MKTObjectReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(id) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.h index 30ff89e..ce81703 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.h @@ -1,12 +1,30 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Chain-of-responsibility for converting objects to NSInvocation return values. + */ @interface MKTReturnValueSetter : NSObject -- (instancetype)initWithType:(char const *)handlerType successor:(MKTReturnValueSetter *)successor; +/*! + * @abstract Initializes a newly allocated return value setter. + * @param handlerType Return type managed by this setter. Assign with \@encode compiler directive. + * @param successor Successor in chain to handle return type. + */ +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; +; + +/*! + * @abstract Set NSInvocation return value of specified type, or pass to successor. + */ - (void)setReturnValue:(id)returnValue ofType:(char const *)type onInvocation:(NSInvocation *)invocation; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.m index c94ac60..0eb9267 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" @@ -9,14 +9,14 @@ - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation; @end @interface MKTReturnValueSetter () -@property (readonly, nonatomic, assign) char const *handlerType; -@property (readonly, nonatomic, strong) MKTReturnValueSetter *successor; +@property (nonatomic, assign, readonly) char const *handlerType; +@property (nullable, nonatomic, strong, readonly) MKTReturnValueSetter *successor; @end @implementation MKTReturnValueSetter -- (instancetype)initWithType:(char const *)handlerType successor:(MKTReturnValueSetter *)successor +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor { self = [super init]; if (self) diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.h index c966610..d677f2e 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.h @@ -1,12 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import @class MKTReturnValueSetter; -/** - Returns chain of return value handlers. +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Returns chain of return value handlers. */ FOUNDATION_EXPORT MKTReturnValueSetter *MKTReturnValueSetterChain(void); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.m index e10b03d..f8f9602 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetterChain.h" diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.h index 3f4cde8..6260fb6 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTShortReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.m index 1cc38f2..fc1bb88 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTShortReturnSetter.h" @implementation MKTShortReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(short) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.h index 3c96979..404cb16 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.h @@ -1,11 +1,17 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTStructReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END + diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.m index 0e74d4f..bce3419 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTStructReturnSetter.h" @implementation MKTStructReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:"{" successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.h index a28a442..61f4239 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedCharReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.m index 87d4a41..0dfdea1 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedCharReturnSetter.h" @implementation MKTUnsignedCharReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(unsigned char) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.h index 90a30fe..dcc9978 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedIntReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.m index b336102..5556c9a 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedIntReturnSetter.h" @implementation MKTUnsignedIntReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(unsigned int) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.h index e0f5b91..7e58063 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.h @@ -1,11 +1,17 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedLongLongReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END + diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.m index 34487c4..d720584 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedLongLongReturnSetter.h" @implementation MKTUnsignedLongLongReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(unsigned long long) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.h index 9da5698..d319d20 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedLongReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.m index 7f85cd6..b3e8496 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedLongReturnSetter.h" @implementation MKTUnsignedLongReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(unsigned long) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.h b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.h index 7fd2286..ac14d2c 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.h @@ -1,11 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnValueSetter.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTUnsignedShortReturnSetter : MKTReturnValueSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithType:(char const *)handlerType successor:(nullable MKTReturnValueSetter *)successor NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.m b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.m index 6fa08a8..819625b 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.m @@ -1,12 +1,12 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTUnsignedShortReturnSetter.h" @implementation MKTUnsignedShortReturnSetter -- (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor +- (instancetype)initWithSuccessor:(nullable MKTReturnValueSetter *)successor { self = [super initWithType:@encode(unsigned short) successor:successor]; return self; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTCallStackElement.h b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTCallStackElement.h new file mode 100644 index 0000000..93fcf5f --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTCallStackElement.h @@ -0,0 +1,19 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTCallStackElement : NSObject + +@property (nonatomic, copy, readonly) NSString *moduleName; +@property (nonatomic, copy, readonly) NSString *instruction; + +- (instancetype)initWithSymbols:(NSString *)element NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTCallStackElement.m b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTCallStackElement.m new file mode 100644 index 0000000..19c7ce1 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTCallStackElement.m @@ -0,0 +1,53 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTCallStackElement.h" + + +static NSRange trimTrailingSpacesFromRange(NSString *string, NSRange range) +{ + while ([string characterAtIndex:range.location + range.length - 1] == ' ') + range.length -= 1; + return range; +} + +static NSString *extractModuleName(NSString *element) +{ + NSRange range = trimTrailingSpacesFromRange(element, NSMakeRange(4, 33)); + return [element substringWithRange:range]; +} + +static BOOL isAddress32Bit(NSString *element) +{ + return [element characterAtIndex:50] == ' '; +} + +static NSString *extractInstruction(NSString *element) +{ + NSUInteger loc = 59; + if (isAddress32Bit(element)) + loc -= 8; + NSRange range = NSMakeRange(loc, element.length - loc); + return [element substringWithRange:range]; +} + + +@implementation MKTCallStackElement + +- (instancetype)initWithSymbols:(NSString *)element +{ + self = [super init]; + if (self) + { + _moduleName = extractModuleName(element); + _instruction = extractInstruction(element); + } + return self; +} + +- (NSString *)description +{ + return [NSString stringWithFormat:@"%@ %@", self.moduleName, self.instruction]; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTFilterCallStack.h b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTFilterCallStack.h new file mode 100644 index 0000000..596edfa --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTFilterCallStack.h @@ -0,0 +1,13 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + +@class MKTCallStackElement; + + +NS_ASSUME_NONNULL_BEGIN + +NSArray *MKTFilterCallStack(NSArray *callStackSymbols); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTFilterCallStack.m b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTFilterCallStack.m new file mode 100644 index 0000000..3cb38db --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTFilterCallStack.m @@ -0,0 +1,34 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTFilterCallStack.h" + +#import "MKTCallStackElement.h" + + +static NSUInteger MKTFirstRelevantCallStackIndex(NSArray *parsedStack) +{ + NSUInteger firstIndex = [parsedStack indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { + MKTCallStackElement *element = obj; + return [element.instruction hasPrefix:@"-[MKTBaseMockObject forwardInvocation:]"]; + }]; + return firstIndex + 3; +} + +static NSUInteger MKTLastRelevantCallStackIndex(NSArray *parsedStack, + NSUInteger startBackFrom, + NSString *moduleName) +{ + NSUInteger lastIndex = startBackFrom; + while (lastIndex > 0 && ![[(parsedStack[lastIndex]) moduleName] isEqualToString:moduleName]) + lastIndex -= 1; + return [[(parsedStack[lastIndex]) moduleName] isEqualToString:moduleName] ? lastIndex : startBackFrom; +} + +NSArray *MKTFilterCallStack(NSArray *parsedStack) +{ + NSUInteger firstIndex = MKTFirstRelevantCallStackIndex(parsedStack); + NSUInteger lastIndex = MKTLastRelevantCallStackIndex(parsedStack, parsedStack.count - 1, @"XCTest"); + lastIndex = MKTLastRelevantCallStackIndex(parsedStack, lastIndex, [parsedStack[firstIndex] moduleName]); + return [parsedStack subarrayWithRange:NSMakeRange(firstIndex, lastIndex - firstIndex + 1)]; +} diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocation.h b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocation.h new file mode 100644 index 0000000..5857fb2 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocation.h @@ -0,0 +1,23 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + +@class MKTLocation; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTInvocation : NSObject + +@property (nonatomic, strong, readonly) NSInvocation *invocation; +@property (nonatomic, strong, readonly) MKTLocation *location; +@property (nonatomic, assign) BOOL verified; + +- (instancetype)initWithInvocation:(NSInvocation *)invocation; +- (instancetype)initWithInvocation:(NSInvocation *)invocation location:(MKTLocation *)location NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocation.m b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocation.m new file mode 100644 index 0000000..797197f --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocation.m @@ -0,0 +1,27 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTInvocation.h" + +#import "MKTLocation.h" + + +@implementation MKTInvocation + +- (instancetype)initWithInvocation:(NSInvocation *)invocation +{ + return [self initWithInvocation:invocation + location:[[MKTLocation alloc] init]]; +} + +- (instancetype)initWithInvocation:(NSInvocation *)invocation location:(MKTLocation *)location +{ + self = [super init]; + if (self) { + _invocation = invocation; + _location = location; + } + return self; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocationMatcher.h b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocationMatcher.h new file mode 100644 index 0000000..ed3832b --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocationMatcher.h @@ -0,0 +1,27 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + +@protocol HCMatcher; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTInvocationMatcher : NSObject + +@property (nonatomic, strong, readonly) NSInvocation *expected; +@property (nonatomic, assign, readonly) NSUInteger numberOfArguments; +@property (nonatomic, copy, readonly) NSArray> *matchers; + +- (instancetype)init NS_DESIGNATED_INITIALIZER; +- (void)setMatcher:(id )matcher atIndex:(NSUInteger)index; +- (void)setExpectedInvocation:(NSInvocation *)expectedInvocation; +- (BOOL)matches:(NSInvocation *)actual; +- (void)stopArgumentCapture; +- (void)enumerateMismatchesOf:(NSInvocation *)actual + usingBlock:(void (^)(NSUInteger idx, NSString *description))block; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationMatcher.m b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocationMatcher.m similarity index 64% rename from Example/Pods/OCMockito/Source/OCMockito/MKTInvocationMatcher.m rename to Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocationMatcher.m index b40a6db..712989c 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationMatcher.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTInvocationMatcher.m @@ -1,10 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTInvocationMatcher.h" -#import "MKTCapturingMatcher.h" #import "NSInvocation+OCMockito.h" +#import +#import #import #import @@ -18,15 +19,23 @@ + (instancetype)sharedPlaceholder { static MKTUnspecifiedArgumentPlaceholder *instance = nil; if (!instance) - instance = [[[self class] alloc] init]; + instance = [[self alloc] init]; return instance; } @end +@interface MKTInvocationMatcher () +@property (nonatomic, strong, readwrite) NSInvocation *expected; +@property (nonatomic, assign, readwrite) NSUInteger numberOfArguments; +@property (nonatomic, strong, readonly) NSMutableArray> *argumentMatchers; +@end + @implementation MKTInvocationMatcher +@dynamic matchers; + - (instancetype)init { self = [super init]; @@ -35,9 +44,14 @@ - (instancetype)init return self; } +- (NSArray> *)matchers +{ + return self.argumentMatchers; +} + - (void)setMatcher:(id )matcher atIndex:(NSUInteger)index { - if (index < [self.argumentMatchers count]) + if (index < self.argumentMatchers.count) self.argumentMatchers[index] = matcher; else { @@ -46,14 +60,9 @@ - (void)setMatcher:(id )matcher atIndex:(NSUInteger)index } } -- (NSUInteger)argumentMatchersCount -{ - return [self.argumentMatchers count]; -} - - (void)trueUpArgumentMatchersToCount:(NSUInteger)desiredCount { - NSUInteger count = [self.argumentMatchers count]; + NSUInteger count = self.argumentMatchers.count; while (count < desiredCount) { [self.argumentMatchers addObject:[self placeholderForUnspecifiedMatcher]]; @@ -95,7 +104,7 @@ - (id)placeholderForUnspecifiedMatcher - (BOOL)matches:(NSInvocation *)actual { - if ([self.expected selector] != [actual selector]) + if (self.expected.selector != actual.selector) return NO; NSArray *actualArgs = [actual mkt_arguments]; @@ -107,35 +116,34 @@ - (BOOL)matches:(NSInvocation *)actual return YES; } -- (BOOL)argument:(id)arg doesNotMatch:(id )matcher +- (void)stopArgumentCapture { - if (arg == [NSNull null]) - arg = nil; - return ![matcher matches:arg]; + for (id matcher in self.argumentMatchers) + if ([matcher isKindOfClass:[HCArgumentCaptor class]]) + { + HCArgumentCaptor *captor = (HCArgumentCaptor *)matcher; + captor.captureEnabled = NO; + } } -- (void)captureArgumentsFromInvocations:(NSArray *)invocations +- (void)enumerateMismatchesOf:(NSInvocation *)actual + usingBlock:(void (^)(NSUInteger idx, NSString *description))block { + NSArray *actualArgs = [actual mkt_arguments]; for (NSUInteger index = 0; index < self.numberOfArguments; ++index) - { - id matcher = self.argumentMatchers[index]; - if ([matcher respondsToSelector:@selector(captureArgument:)]) - [self captureArgumentsAtIndex:index acrossInvocations:invocations intoMatcher:matcher]; - } + if ([self argument:actualArgs[index] doesNotMatch:self.argumentMatchers[index]]) + { + id matcher = self.argumentMatchers[index]; + id argument = actualArgs[index]; + block(index, HCDescribeMismatch(matcher, argument)); + } } -- (void)captureArgumentsAtIndex:(NSUInteger)index - acrossInvocations:(NSArray *)invocations - intoMatcher:(id )capturingMatcher +- (BOOL)argument:(id)arg doesNotMatch:(id )matcher { - for (NSInvocation *inv in invocations) - { - if ([self.expected selector] == [inv selector]) - { - NSArray *args = [inv mkt_arguments]; - [capturingMatcher performSelector:@selector(captureArgument:) withObject:args[index]]; - } - } + if (arg == [NSNull null]) + arg = nil; + return ![matcher matches:arg]; } @end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTLocation.h b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTLocation.h new file mode 100644 index 0000000..1106ef4 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTLocation.h @@ -0,0 +1,16 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTLocation : NSObject + +- (instancetype)init; +- (instancetype)initWithCallStack:(NSArray *)callStack NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTLocation.m b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTLocation.m new file mode 100644 index 0000000..c0aa0ba --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTLocation.m @@ -0,0 +1,36 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTLocation.h" + +#import "MKTFilterCallStack.h" +#import "MKTParseCallStack.h" + + +@interface MKTLocation () +@property (nonatomic, strong, readonly) NSArray *callStack; // strong not copy, for speed +@end + +@implementation MKTLocation + +- (instancetype)init +{ + self = [self initWithCallStack:[NSThread callStackSymbols]]; + return self; +} + +- (instancetype)initWithCallStack:(NSArray *)callStack +{ + self = [super init]; + if (self) + _callStack = callStack; + return self; +} + +- (NSString *)description +{ + NSArray *stack = MKTFilterCallStack(MKTParseCallStack(self.callStack)); + return [stack componentsJoinedByString:@"\n"]; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTMatchingInvocationsFinder.h b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTMatchingInvocationsFinder.h new file mode 100644 index 0000000..3750e72 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTMatchingInvocationsFinder.h @@ -0,0 +1,24 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + +@class MKTInvocation; +@class MKTInvocationMatcher; +@class MKTLocation; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTMatchingInvocationsFinder : NSObject + +@property (nonatomic, assign, readonly) NSUInteger count; + +- (void)findInvocationsInList:(NSArray *)invocations matching:(MKTInvocationMatcher *)wanted; +- (MKTLocation *)locationOfInvocationAtIndex:(NSUInteger)index; +- (MKTLocation *)locationOfLastInvocation; +- (void)markInvocationsAsVerified; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTMatchingInvocationsFinder.m b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTMatchingInvocationsFinder.m new file mode 100644 index 0000000..28c04d8 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTMatchingInvocationsFinder.m @@ -0,0 +1,50 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTMatchingInvocationsFinder.h" + +#import "MKTInvocation.h" +#import "MKTInvocationMatcher.h" + + +@interface MKTMatchingInvocationsFinder () +@property (nonatomic, copy) NSArray *invocations; +@end + +@implementation MKTMatchingInvocationsFinder + +@dynamic count; + +- (void)findInvocationsInList:(NSArray *)invocations matching:(MKTInvocationMatcher *)wanted +{ + self.invocations = [invocations filteredArrayUsingPredicate: + [NSPredicate predicateWithBlock:^BOOL(id obj, NSDictionary *bindings) { + MKTInvocation *invocation = obj; + return !invocation.verified && [wanted matches:invocation.invocation]; + }]]; +} + +- (NSUInteger)count +{ + return self.invocations.count; +} + +- (MKTLocation *)locationOfInvocationAtIndex:(NSUInteger)index +{ + MKTInvocation *invocation = self.invocations[index]; + return invocation.location; +} + +- (MKTLocation *)locationOfLastInvocation +{ + MKTInvocation *invocation = self.invocations.lastObject; + return invocation.location; +} + +- (void)markInvocationsAsVerified +{ + for (MKTInvocation *invocation in self.invocations) + invocation.verified = YES; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTParseCallStack.h b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTParseCallStack.h new file mode 100644 index 0000000..49303d3 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTParseCallStack.h @@ -0,0 +1,13 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + +@class MKTCallStackElement; + + +NS_ASSUME_NONNULL_BEGIN + +NSArray *MKTParseCallStack(NSArray *callStackSymbols); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTParseCallStack.m b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTParseCallStack.m new file mode 100644 index 0000000..f21c071 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTParseCallStack.m @@ -0,0 +1,18 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTParseCallStack.h" + +#import "MKTCallStackElement.h" + + +NSArray *MKTParseCallStack(NSArray *callStackSymbols) +{ + NSMutableArray *result = [[NSMutableArray alloc] init]; + for (NSString *rawElement in callStackSymbols) + { + MKTCallStackElement *element = [[MKTCallStackElement alloc] initWithSymbols:rawElement]; + [result addObject:element]; + } + return result; +} diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTPrinter.h b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTPrinter.h new file mode 100644 index 0000000..7723ac5 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTPrinter.h @@ -0,0 +1,24 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + +@class MKTInvocation; +@class MKTInvocationMatcher; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTPrinter : NSObject + +- (NSString *)printMatcher:(MKTInvocationMatcher *)matcher; +- (NSString *)printInvocation:(MKTInvocation *)invocation; +- (NSString *)printMismatchOf:(MKTInvocation *)invocation + expectation:(MKTInvocationMatcher *)expectation; + +@end + + +FOUNDATION_EXPORT NSString *MKTOrdinal(NSUInteger index); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTPrinter.m b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTPrinter.m new file mode 100644 index 0000000..3db4c5c --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/MKTPrinter.m @@ -0,0 +1,170 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTPrinter.h" + +#import "MKTInvocation.h" +#import "MKTInvocationMatcher.h" +#import "NSInvocation+OCMockito.h" +#import +#import + + +@implementation MKTPrinter + +- (NSString *)printMatcher:(MKTInvocationMatcher *)matcher +{ + if (matcher.matchers.count == 0) + return [self printInvocationWithNoArguments:matcher.expected]; + return [self printMatcherWithArguments:matcher]; + +} + +- (NSString *)printMatcherWithArguments:(MKTInvocationMatcher *)matcher +{ + NSArray> *matchers = matcher.matchers; + NSArray *selectorParts = [NSStringFromSelector(matcher.expected.selector) componentsSeparatedByString:@":"]; + NSMutableString *result = [[NSMutableString alloc] init]; + for (NSUInteger index = 0; index < matchers.count; ++index) + { + HCStringDescription *description = [[HCStringDescription alloc] init]; + [matchers[index] describeTo:description]; + [result appendFormat:@" %@:%@", selectorParts[index], description]; + } + return [result substringFromIndex:1]; // Remove first space +} + +- (NSString *)printInvocation:(MKTInvocation *)invocation +{ + NSString *result; + if ([self invocationHasNoArguments:invocation.invocation]) + result = [self printInvocationWithNoArguments:invocation.invocation]; + else + result = [self printInvocationWithArguments:invocation.invocation]; + if (invocation.verified) + result = [@"✓ " stringByAppendingString:result]; + return result; +} + +- (BOOL)invocationHasNoArguments:(NSInvocation *)invocation +{ + return invocation.methodSignature.numberOfArguments == 2; // Indices 0 and 1 are self and _cmd +} + +- (NSString *)printInvocationWithNoArguments:(NSInvocation *)invocation +{ + return NSStringFromSelector(invocation.selector); +} + +- (NSString *)printInvocationWithArguments:(NSInvocation *)invocation +{ + NSArray *arguments = [invocation mkt_arguments]; + NSArray *selectorParts = [NSStringFromSelector(invocation.selector) componentsSeparatedByString:@":"]; + NSMutableString *result = [[NSMutableString alloc] init]; + for (NSUInteger index = 0; index < arguments.count; ++index) + { + const char *argType = [invocation.methodSignature getArgumentTypeAtIndex:index + 2]; + [result appendFormat:@" %@:%@", selectorParts[index], [self printArgument:arguments[index] type:argType]]; + } + return [result substringFromIndex:1]; // Remove first space +} + +- (NSString *)printArgument:(id)arg type:(const char *)type +{ + if (arg == [NSNull null]) + return [self printNil]; + if (type[0] == @encode(Class)[0]) + return [self printClass:arg]; + if (type[0] == @encode(SEL)[0]) + return [self printSelector:arg]; + if ([arg isKindOfClass:[NSString class]]) + return [self printString:arg]; + if ([arg isKindOfClass:[NSNumber class]]) + return [self printNumber:arg type:type]; + if ([arg isKindOfClass:[NSArray class]]) + return [self printArray:arg]; + if ([arg isKindOfClass:[NSDictionary class]]) + return [self printDictionary:arg]; + return [arg description]; +} + +- (NSString *)printNil +{ + return @"nil"; +} + +- (NSString *)printClass:(id)className +{ + return [NSString stringWithFormat:@"[%@ class]", className]; +} + +- (NSString *)printSelector:(id)arg +{ + return [NSString stringWithFormat:@"@selector(%@)", arg]; +} + +- (NSString *)printString:(id)arg +{ + return [NSString stringWithFormat:@"@\"%@\"", arg]; +} + +- (NSString *)printNumber:(id)arg type:(const char *)type +{ + if (type[0] == @encode(id)[0]) + return [NSString stringWithFormat:@"@%@", arg]; + if (type[0] == @encode(BOOL)[0]) + return [arg boolValue] ? @"YES" : @"NO"; + return [arg description]; +} + +- (NSString *)printArray:(id)arg +{ + NSMutableArray *printedArgs = [[NSMutableArray alloc] init]; + for (id item in arg) + [printedArgs addObject:[self printArgument:item type:@encode(id)]]; + NSString *joinedArgs = [printedArgs componentsJoinedByString:@", "]; + return [NSString stringWithFormat:@"@[ %@ ]", joinedArgs]; +} + +- (NSString *)printDictionary:(id)arg +{ + NSMutableArray *printedArgs = [[NSMutableArray alloc] init]; + for (id key in [[arg allKeys] sortedArrayUsingSelector:@selector(compare:)]) + { + NSString *printedKey = [self printArgument:key type:@encode(id)]; + NSString *printedValue = [self printArgument:[arg objectForKey:key] type:@encode(id)]; + [printedArgs addObject:[NSString stringWithFormat:@"%@ : %@", printedKey, printedValue]]; + } + NSString *joinedArgs = [printedArgs componentsJoinedByString:@", "]; + return [NSString stringWithFormat:@"@{ %@ }", joinedArgs]; +} + +- (NSString *)printMismatchOf:(MKTInvocation *)invocation + expectation:(MKTInvocationMatcher *)expectation +{ + NSMutableString *result = [[NSMutableString alloc] init]; + [expectation enumerateMismatchesOf:invocation.invocation + usingBlock:^(NSUInteger index, NSString *mismatchDescription) { + [result appendString:[NSString stringWithFormat: + @"\nMismatch in %@ argument. %@", MKTOrdinal(index), mismatchDescription]]; + }]; + return result; +} + +@end + + +NSString *MKTOrdinal(NSUInteger index) +{ + index += 1; + NSString *suffix; + if (index == 1) + suffix = @"st"; + else if (index == 2) + suffix = @"nd"; + else if (index == 3) + suffix = @"rd"; + else + suffix = @"th"; + return [NSString stringWithFormat:@"%lu%@", (unsigned long)index, suffix]; +} diff --git a/Example/Pods/OCMockito/Source/OCMockito/Invocation/NSInvocation+OCMockito.h b/Example/Pods/OCMockito/Source/OCMockito/Invocation/NSInvocation+OCMockito.h new file mode 100644 index 0000000..75aa254 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/NSInvocation+OCMockito.h @@ -0,0 +1,35 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract NSInvocation helper methods + */ +@interface NSInvocation (OCMockito) + +/*! + * @abstract Returns all invocation arguments in an NSArray. + * @discussion Non-object arguments are boxed as follows: + *
      + *
    • nil: NSNull
    • + *
    • Primitive numeric values: NSNumber
    • + *
    • Pointers: NSValue
    • + *
    • Selectors: NSString
    • + *
    • Structs: NSData
    • + *
    + */ +- (NSArray *)mkt_arguments; + +/*! @abstract Sets invocation return value. */ +- (void)mkt_setReturnValue:(id)returnValue; + +/*! @abstract Retains arguments but with weak invocation target to avoid retain cycles. */ +- (void)mkt_retainArgumentsWithWeakTarget; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/NSInvocation+OCMockito.m b/Example/Pods/OCMockito/Source/OCMockito/Invocation/NSInvocation+OCMockito.m similarity index 72% rename from Example/Pods/OCMockito/Source/OCMockito/NSInvocation+OCMockito.m rename to Example/Pods/OCMockito/Source/OCMockito/Invocation/NSInvocation+OCMockito.m index 89ba46f..7600847 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/NSInvocation+OCMockito.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Invocation/NSInvocation+OCMockito.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "NSInvocation+OCMockito.h" @@ -14,14 +14,14 @@ @implementation NSInvocation (OCMockito) - (NSArray *)mkt_arguments { - NSMethodSignature *signature = [self methodSignature]; - NSUInteger numberOfArguments = [signature numberOfArguments]; + NSMethodSignature *signature = self.methodSignature; + NSUInteger numberOfArguments = signature.numberOfArguments; NSMutableArray *arguments = [NSMutableArray arrayWithCapacity:numberOfArguments - 2]; for (NSUInteger idx = 2; idx < numberOfArguments; ++idx) // Indices 0 and 1 are self and _cmd { const char *argType = [signature getArgumentTypeAtIndex:idx]; - id arg = [MKTArgumentGetterChain() retrieveArgumentAtIndex:idx ofType:argType onInvocation:self]; + id arg = [MKTArgumentGetterChain() retrieveArgumentAtIndex:(NSInteger)idx ofType:argType onInvocation:self]; if (arg) [arguments addObject:arg]; else @@ -36,16 +36,16 @@ - (NSArray *)mkt_arguments - (void)mkt_setReturnValue:(id)returnValue { - char const *returnType = [[self methodSignature] methodReturnType]; + char const *returnType = self.methodSignature.methodReturnType; [MKTReturnValueSetterChain() setReturnValue:returnValue ofType:returnType onInvocation:self]; } - (void)mkt_retainArgumentsWithWeakTarget { - if ([self argumentsRetained]) + if (self.argumentsRetained) return; - MKT_TPDWeakProxy *proxy = [[MKT_TPDWeakProxy alloc] initWithObject:[self target]]; - [self setTarget:proxy]; + MKT_TPDWeakProxy *proxy = [[MKT_TPDWeakProxy alloc] initWithObject:self.target]; + self.target = proxy; [self retainArguments]; } diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTAnswer.h b/Example/Pods/OCMockito/Source/OCMockito/MKTAnswer.h deleted file mode 100644 index eff4bf6..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTAnswer.h +++ /dev/null @@ -1,11 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - - -@protocol MKTAnswer - -- (id)answerInvocation:(NSInvocation *)invocation; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTArgumentCaptor.h b/Example/Pods/OCMockito/Source/OCMockito/MKTArgumentCaptor.h deleted file mode 100644 index 14761a5..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTArgumentCaptor.h +++ /dev/null @@ -1,13 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - - -@interface MKTArgumentCaptor : NSObject - -- (id)capture; -- (id)value; -- (NSArray *)allValues; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTArgumentCaptor.m b/Example/Pods/OCMockito/Source/OCMockito/MKTArgumentCaptor.m deleted file mode 100644 index dae9d0e..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTArgumentCaptor.m +++ /dev/null @@ -1,38 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTArgumentCaptor.h" - -#import "MKTCapturingMatcher.h" - - -@interface MKTArgumentCaptor () -@property (readonly, nonatomic, strong) MKTCapturingMatcher *matcher; -@end - -@implementation MKTArgumentCaptor - -- (instancetype)init -{ - self = [super init]; - if (self) - _matcher = [[MKTCapturingMatcher alloc] init]; - return self; -} - -- (id)capture -{ - return self.matcher; -} - -- (id)value -{ - return [self.matcher lastValue]; -} - -- (NSArray *)allValues -{ - return [self.matcher allValues]; -} - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTAtLeastTimes.m b/Example/Pods/OCMockito/Source/OCMockito/MKTAtLeastTimes.m deleted file mode 100644 index 2b42e21..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTAtLeastTimes.m +++ /dev/null @@ -1,42 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt -// Contribution by Markus Gasser - -#import "MKTAtLeastTimes.h" - -#import "MKTVerificationData.h" - - -@interface MKTAtLeastTimes () -@property (readonly, nonatomic, assign) NSUInteger wantedCount; -@end - -@implementation MKTAtLeastTimes - -- (instancetype)initWithMinimumCount:(NSUInteger)minNumberOfInvocations -{ - self = [super init]; - if (self) - _wantedCount = minNumberOfInvocations; - return self; -} - - -#pragma mark MKTVerificationMode - -- (void)verifyData:(MKTVerificationData *)data -{ - if (self.wantedCount == 0) - return; // this always succeeds - - NSUInteger matchingCount = [data numberOfMatchingInvocations]; - if (matchingCount < self.wantedCount) - { - NSString *plural = (self.wantedCount == 1) ? @"" : @"s"; - NSString *description = [NSString stringWithFormat:@"Expected %u matching invocation%@, but received %u", - (unsigned)self.wantedCount, plural, (unsigned)matchingCount]; - MKTFailTestLocation(data.testLocation, description); - } -} - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTBaseMockObject.h b/Example/Pods/OCMockito/Source/OCMockito/MKTBaseMockObject.h deleted file mode 100644 index 367009b..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTBaseMockObject.h +++ /dev/null @@ -1,13 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import -#import "MKTPrimitiveArgumentMatching.h" - - -@interface MKTBaseMockObject : NSProxy - -- (instancetype)init; -- (void)reset; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTCapturingMatcher.h b/Example/Pods/OCMockito/Source/OCMockito/MKTCapturingMatcher.h deleted file mode 100644 index d080245..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTCapturingMatcher.h +++ /dev/null @@ -1,13 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - - -@interface MKTCapturingMatcher : HCIsAnything - -- (void)captureArgument:(id)arg; -- (NSArray *)allValues; -- (id)lastValue; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTCapturingMatcher.m b/Example/Pods/OCMockito/Source/OCMockito/MKTCapturingMatcher.m deleted file mode 100644 index a0c4ab7..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTCapturingMatcher.m +++ /dev/null @@ -1,60 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTCapturingMatcher.h" - - -@interface MKTCapturingMatcher () -@property (readonly, nonatomic, strong) NSMutableArray *arguments; -@end - -@implementation MKTCapturingMatcher - -- (instancetype)init -{ - self = [super initWithDescription:@""]; - if (self) - _arguments = [[NSMutableArray alloc] init]; - return self; -} - -- (void)captureArgument:(id)arg -{ - if (!arg) - arg = [NSNull null]; - [self.arguments addObject:arg]; -} - -- (NSArray *)allValues -{ - return self.arguments; -} - -- (id)lastValue -{ - if ([self noArgumentWasCaptured]) - return [self throwNoArgumentException]; - return [self convertNilArgument:[self.arguments lastObject]]; -} - -- (BOOL)noArgumentWasCaptured -{ - return [self.arguments count] == 0; -} - -- (id)throwNoArgumentException -{ - @throw [NSException exceptionWithName:@"NoArgument" - reason:@"No argument value was captured!\n" - "You might have forgotten to use [argument capture] in verify()" - userInfo:nil]; -} - -- (id)convertNilArgument:(id)arg -{ - if (arg == [NSNull null]) - arg = nil; - return arg; -} - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTClassObjectMock.h b/Example/Pods/OCMockito/Source/OCMockito/MKTClassObjectMock.h deleted file mode 100644 index 9768a73..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTClassObjectMock.h +++ /dev/null @@ -1,16 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt -// Contribution by David Hart - -#import "MKTBaseMockObject.h" - - -/** - Mock object of a given class object. - */ -@interface MKTClassObjectMock : MKTBaseMockObject - -+ (instancetype)mockForClass:(Class)aClass; -- (instancetype)initWithClass:(Class)aClass; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTClassObjectMock.m b/Example/Pods/OCMockito/Source/OCMockito/MKTClassObjectMock.m deleted file mode 100644 index 121d234..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTClassObjectMock.m +++ /dev/null @@ -1,45 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt -// Contribution by David Hart - -#import "MKTClassObjectMock.h" - - -@interface MKTClassObjectMock () -@property (readonly, nonatomic, strong) Class mockedClass; -@end - -@implementation MKTClassObjectMock - -+ (instancetype)mockForClass:(Class)aClass -{ - return [[self alloc] initWithClass:aClass]; -} - -- (instancetype)initWithClass:(Class)aClass -{ - self = [super init]; - if (self) - _mockedClass = aClass; - return self; -} - -- (NSString *)description -{ - return [@"mock class of " stringByAppendingString:NSStringFromClass(self.mockedClass)]; -} - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector -{ - return [self.mockedClass methodSignatureForSelector:aSelector]; -} - - -#pragma mark NSObject protocol - -- (BOOL)respondsToSelector:(SEL)aSelector -{ - return [self.mockedClass respondsToSelector:aSelector]; -} - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTExactTimes.h b/Example/Pods/OCMockito/Source/OCMockito/MKTExactTimes.h deleted file mode 100644 index 45f8a64..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTExactTimes.h +++ /dev/null @@ -1,12 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import -#import "MKTVerificationMode.h" - - -@interface MKTExactTimes : NSObject - -- (instancetype)initWithCount:(NSUInteger)wantedNumberOfInvocations; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTExactTimes.m b/Example/Pods/OCMockito/Source/OCMockito/MKTExactTimes.m deleted file mode 100644 index 7fd2ce5..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTExactTimes.m +++ /dev/null @@ -1,39 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTExactTimes.h" - -#import "MKTTestLocation.h" -#import "MKTVerificationData.h" - - -@interface MKTExactTimes () -@property (readonly, nonatomic, assign) NSUInteger wantedCount; -@end - -@implementation MKTExactTimes - -- (instancetype)initWithCount:(NSUInteger)wantedNumberOfInvocations -{ - self = [super init]; - if (self) - _wantedCount = wantedNumberOfInvocations; - return self; -} - - -#pragma mark MKTVerificationMode - -- (void)verifyData:(MKTVerificationData *)data -{ - NSUInteger matchingCount = [data numberOfMatchingInvocations]; - if (matchingCount != self.wantedCount) - { - NSString *plural = (self.wantedCount == 1) ? @"" : @"s"; - NSString *description = [NSString stringWithFormat:@"Expected %u matching invocation%@, but received %u", - (unsigned)self.wantedCount, plural, (unsigned)matchingCount]; - MKTFailTestLocation(data.testLocation, description); - } -} - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTExecutesBlock.h b/Example/Pods/OCMockito/Source/OCMockito/MKTExecutesBlock.h deleted file mode 100644 index ec72300..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTExecutesBlock.h +++ /dev/null @@ -1,11 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTAnswer.h" - - -@interface MKTExecutesBlock : NSObject - -- (instancetype)initWithBlock:(id (^)(NSInvocation *))block; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationContainer.h b/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationContainer.h deleted file mode 100644 index bdd986f..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationContainer.h +++ /dev/null @@ -1,21 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - -@class MKTInvocationMatcher; -@class MKTStubbedInvocationMatcher; -@protocol HCMatcher; -@protocol MKTAnswer; - - -@interface MKTInvocationContainer : NSObject - -@property (readonly, nonatomic, strong) NSMutableArray *registeredInvocations; - -- (instancetype)init; -- (void)setInvocationForPotentialStubbing:(NSInvocation *)invocation; -- (void)setMatcher:(id )matcher atIndex:(NSUInteger)argumentIndex; -- (void)addAnswer:(id )answer; -- (MKTStubbedInvocationMatcher *)findAnswerFor:(NSInvocation *)invocation; -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationMatcher.h b/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationMatcher.h deleted file mode 100644 index 338fd8c..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationMatcher.h +++ /dev/null @@ -1,22 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - -@protocol HCMatcher; - - -@interface MKTInvocationMatcher : NSObject - -@property (nonatomic, strong) NSInvocation *expected; -@property (nonatomic, assign) NSUInteger numberOfArguments; -@property (nonatomic, strong) NSMutableArray *argumentMatchers; - -- (instancetype)init; -- (void)setMatcher:(id )matcher atIndex:(NSUInteger)index; -- (NSUInteger)argumentMatchersCount; -- (void)setExpectedInvocation:(NSInvocation *)expectedInvocation; -- (BOOL)matches:(NSInvocation *)actual; -- (void)captureArgumentsFromInvocations:(NSArray *)invocations; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.h b/Example/Pods/OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.h deleted file mode 100644 index df6be09..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.h +++ /dev/null @@ -1,16 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt -// Contribution by Kevin Lundberg - -#import "MKTProtocolMock.h" - - -/** - Mock object of a given class that also implements a given protocol. - */ -@interface MKTObjectAndProtocolMock : MKTProtocolMock - -+ (instancetype)mockForClass:(Class)aClass protocol:(Protocol *)protocol; -- (instancetype)initWithClass:(Class)aClass protocol:(Protocol *)protocol; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTObjectMock.h b/Example/Pods/OCMockito/Source/OCMockito/MKTObjectMock.h deleted file mode 100644 index da0cf95..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTObjectMock.h +++ /dev/null @@ -1,15 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTBaseMockObject.h" - - -/** - Mock object of a given class. - */ -@interface MKTObjectMock : MKTBaseMockObject - -+ (instancetype)mockForClass:(Class)aClass; -- (instancetype)initWithClass:(Class)aClass; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTOngoingStubbing.h b/Example/Pods/OCMockito/Source/OCMockito/MKTOngoingStubbing.h deleted file mode 100644 index 3f46fa1..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTOngoingStubbing.h +++ /dev/null @@ -1,84 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import -#import "MKTPrimitiveArgumentMatching.h" - -@class MKTInvocationContainer; - - -/** - Methods to invoke on @c given(methodCall) to return stubbed values. - - The methods return the MKTOngoingStubbing object to allow stubbing consecutive calls. - */ -@interface MKTOngoingStubbing : NSObject - -- (instancetype)initWithInvocationContainer:(MKTInvocationContainer *)invocationContainer; - -/// Sets an object to be returned when the method is called. -- (MKTOngoingStubbing *)willReturn:(id)object; - -/** - Sets a struct to be returned when the method is called. - - The @c type should match the Objective-C type of @c value. - Type should be created with the Objective-C \@encode() compiler directive. -*/ -- (MKTOngoingStubbing *)willReturnStruct:(const void *)value objCType:(const char *)type; - -/// Sets a @c BOOL to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnBool:(BOOL)value; - -/// Sets a @c char to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnChar:(char)value; - -/// Sets an @c int to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnInt:(int)value; - -/// Sets a @c short to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnShort:(short)value; - -/// Sets a @c long to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnLong:(long)value; - -/// Sets a long long to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnLongLong:(long long)value; - -/// Sets an @c NSInteger to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnInteger:(NSInteger)value; - -/// Sets given unsigned char as return value. -- (MKTOngoingStubbing *)willReturnUnsignedChar:(unsigned char)value; - -/// Sets given unsigned int as return value. -- (MKTOngoingStubbing *)willReturnUnsignedInt:(unsigned int)value; - -/// Sets an unsigned short to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnUnsignedShort:(unsigned short)value; - -/// Sets an unsigned long to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnUnsignedLong:(unsigned long)value; - -/// Sets an unsigned long long to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnUnsignedLongLong:(unsigned long long)value; - -/// Sets an @c NSUInteger to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnUnsignedInteger:(NSUInteger)value; - -/// Sets a @c float to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnFloat:(float)value; - -/// Sets a @c double to be returned when the method is called. -- (MKTOngoingStubbing *)willReturnDouble:(double)value; - -/// Sets @c NSException to be thrown when the method is called. -- (MKTOngoingStubbing *)willThrow:(NSException *)exception; - -/** Sets block to be executed when the method is called. - - The return value of block is returned when the method is called. - */ -- (MKTOngoingStubbing *)willDo:(id (^)(NSInvocation *))block; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTPrimitiveArgumentMatching.h b/Example/Pods/OCMockito/Source/OCMockito/MKTPrimitiveArgumentMatching.h deleted file mode 100644 index f8e6957..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTPrimitiveArgumentMatching.h +++ /dev/null @@ -1,45 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -@protocol HCMatcher; - - -/** - Ability to specify OCHamcrest matchers for primitive numeric arguments. - */ -@protocol MKTPrimitiveArgumentMatching - -/** - Specifies OCHamcrest matcher for a specific argument of a method. - - For methods arguments that take objects, just pass the matcher directly as a method call. But - for arguments that take primitive numeric types, call this to specify the matcher before passing - in a dummy value. Upon verification, the actual numeric argument received will be converted to - an NSNumber before being checked by the matcher. - - The argument index is 0-based, so the first argument of a method has index 0. - - Example: - @code - [[verify(mockArray) withMatcher:greaterThan([NSNumber numberWithInt:1]) forArgument:0] - removeObjectAtIndex:0]; - @endcode - This verifies that @c removeObjectAtIndex: was called with a number greater than 1. - */ -- (id)withMatcher:(id )matcher forArgument:(NSUInteger)index; - -/** - Specifies OCHamcrest matcher for the first argument of a method. - - Equivalent to withMatcher:matcher forArgument:0. - - Example: - @code - [[verify(mockArray) withMatcher:greaterThan([NSNumber numberWithInt:1]) forArgument:0] - removeObjectAtIndex:0]; - @endcode - This verifies that @c removeObjectAtIndex: was called with a number greater than 1. -*/ -- (id)withMatcher:(id )matcher; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTProtocolMock.h b/Example/Pods/OCMockito/Source/OCMockito/MKTProtocolMock.h deleted file mode 100644 index 344ee18..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTProtocolMock.h +++ /dev/null @@ -1,20 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTBaseMockObject.h" - - -/** - Mock object implementing a given protocol. - */ -@interface MKTProtocolMock : MKTBaseMockObject - -@property (readonly, nonatomic, strong) Protocol *mockedProtocol; - -+ (instancetype)mockForProtocol:(Protocol *)aProtocol; -+ (instancetype)mockForProtocol:(Protocol *)aProtocol includeOptionalMethods:(BOOL)includeOptionalMethods; - -- (instancetype)initWithProtocol:(Protocol *)aProtocol; -- (instancetype)initWithProtocol:(Protocol *)aProtocol includeOptionalMethods:(BOOL)includeOptionalMethods; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTReturnsValue.h b/Example/Pods/OCMockito/Source/OCMockito/MKTReturnsValue.h deleted file mode 100644 index 77ffbc6..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTReturnsValue.h +++ /dev/null @@ -1,11 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTAnswer.h" - - -@interface MKTReturnsValue : NSObject - -- (instancetype)initWithValue:(id)value; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTThrowsException.h b/Example/Pods/OCMockito/Source/OCMockito/MKTThrowsException.h deleted file mode 100644 index 7ebd00d..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTThrowsException.h +++ /dev/null @@ -1,11 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTAnswer.h" - - -@interface MKTThrowsException : NSObject - -- (instancetype)initWithException:(NSException *)exception; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTVerificationData.h b/Example/Pods/OCMockito/Source/OCMockito/MKTVerificationData.h deleted file mode 100644 index 2467ff8..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTVerificationData.h +++ /dev/null @@ -1,21 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - -#import "MKTTestLocation.h" - -@class MKTInvocationContainer; -@class MKTInvocationMatcher; - - -@interface MKTVerificationData : NSObject - -@property (nonatomic, strong) MKTInvocationContainer *invocations; -@property (nonatomic, strong) MKTInvocationMatcher *wanted; -@property (nonatomic, assign) MKTTestLocation testLocation; - -- (NSUInteger)numberOfMatchingInvocations; -- (void)captureArguments; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTVerificationData.m b/Example/Pods/OCMockito/Source/OCMockito/MKTVerificationData.m deleted file mode 100644 index be6e303..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTVerificationData.m +++ /dev/null @@ -1,28 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "MKTVerificationData.h" - -#import "MKTInvocationContainer.h" -#import "MKTInvocationMatcher.h" - - -@implementation MKTVerificationData - -- (NSUInteger)numberOfMatchingInvocations -{ - NSUInteger count = 0; - for (NSInvocation *invocation in self.invocations.registeredInvocations) - { - if ([self.wanted matches:invocation]) - ++count; - } - return count; -} - -- (void)captureArguments -{ - [self.wanted captureArgumentsFromInvocations:self.invocations.registeredInvocations]; -} - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTVerificationMode.h b/Example/Pods/OCMockito/Source/OCMockito/MKTVerificationMode.h deleted file mode 100644 index b96fd52..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTVerificationMode.h +++ /dev/null @@ -1,13 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - -@class MKTVerificationData; - - -@protocol MKTVerificationMode - -- (void)verifyData:(MKTVerificationData *)data; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTBaseMockObject.h b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTBaseMockObject.h new file mode 100644 index 0000000..f741351 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTBaseMockObject.h @@ -0,0 +1,19 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import +#import "MKTNonObjectArgumentMatching.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTBaseMockObject : NSProxy + ++ (BOOL)isMockObject:(id)object; + +- (instancetype)init; +- (void)stopMocking; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTBaseMockObject.m b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTBaseMockObject.m similarity index 71% rename from Example/Pods/OCMockito/Source/OCMockito/MKTBaseMockObject.m rename to Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTBaseMockObject.m index f3af8b5..2875297 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTBaseMockObject.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTBaseMockObject.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTBaseMockObject.h" @@ -14,12 +14,22 @@ @interface MKTBaseMockObject () -@property (readonly, nonatomic, strong) MKTMockingProgress *mockingProgress; +@property (nonatomic, strong, readonly) MKTMockingProgress *mockingProgress; @property (nonatomic, strong) MKTInvocationContainer *invocationContainer; +@property (nonatomic, assign) BOOL stoppedMocking; @end @implementation MKTBaseMockObject ++ (BOOL)isMockObject:(id)object +{ + NSString *className = NSStringFromClass([object class]); + return [className isEqualToString:@"MKTObjectMock"] || + [className isEqualToString:@"MKTProtocolMock"] || + [className isEqualToString:@"MKTClassObjectMock"] || + [className isEqualToString:@"MKTObjectAndProtocolMock"]; +} + - (instancetype)init { if (self) @@ -30,18 +40,25 @@ - (instancetype)init return self; } -- (void)reset +- (void)stopMocking { + self.stoppedMocking = YES; + self.invocationContainer = nil; [self.mockingProgress reset]; - self.invocationContainer = [[MKTInvocationContainer alloc] init]; } - (void)forwardInvocation:(NSInvocation *)invocation { + if (self.stoppedMocking) + return; if ([self handlingVerifyOfInvocation:invocation]) return; - [self prepareInvocationForStubbing:invocation]; - [self answerInvocation:invocation]; + + @synchronized (self) + { + [self prepareInvocationForStubbing:invocation]; + [self answerInvocation:invocation]; + } } - (BOOL)handlingVerifyOfInvocation:(NSInvocation *)invocation @@ -56,8 +73,7 @@ - (void)verifyInvocation:(NSInvocation *)invocation usingVerificationMode:(id )matcher forArgument:(NSUInteger)index { diff --git a/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTClassObjectMock.h b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTClassObjectMock.h new file mode 100644 index 0000000..956ac00 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTClassObjectMock.h @@ -0,0 +1,23 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt +// Contribution by David Hart + +#import "MKTBaseMockObject.h" + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Mock object of a given class object. + */ +@interface MKTClassObjectMock : MKTBaseMockObject + +@property (nonatomic, strong, readonly) Class mockedClass; + +- (instancetype)initWithClass:(Class)aClass NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; +- (void)swizzleSingletonAtSelector:(SEL)singletonSelector; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTClassObjectMock.m b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTClassObjectMock.m new file mode 100644 index 0000000..0fe2829 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTClassObjectMock.m @@ -0,0 +1,63 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt +// Contribution by David Hart + +#import "MKTClassObjectMock.h" + +#import "MKTSingletonSwizzler.h" + + +@interface MKTClassObjectMock () +@property (nonatomic, strong) MKTSingletonSwizzler *swizzler; +@end + +@implementation MKTClassObjectMock + +- (instancetype)initWithClass:(Class)aClass +{ + self = [super init]; + if (self) + _mockedClass = aClass; + return self; +} + +- (MKTSingletonSwizzler *)swizzler +{ + if (!_swizzler) + _swizzler = [[MKTSingletonSwizzler alloc] initWithMock:self]; + return _swizzler; +} + +- (void)stopMocking +{ + if (_swizzler) + { + [_swizzler unswizzleSingletonsForMock]; // Explicitly call for 32-bit iOS because dealloc is called too late. + _swizzler = nil; + } + [super stopMocking]; +} + +- (NSString *)description +{ + return [@"mock class of " stringByAppendingString:NSStringFromClass(self.mockedClass)]; +} + +- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector +{ + return [self.mockedClass methodSignatureForSelector:aSelector]; +} + +- (void)swizzleSingletonAtSelector:(SEL)singletonSelector +{ + [self.swizzler swizzleSingletonAtSelector:singletonSelector]; +} + +#pragma mark - NSObject protocol + +- (BOOL)respondsToSelector:(SEL)aSelector +{ + return [self.mockedClass respondsToSelector:aSelector]; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTDynamicProperties.h b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTDynamicProperties.h new file mode 100644 index 0000000..e887cca --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTDynamicProperties.h @@ -0,0 +1,17 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTDynamicProperties : NSObject + +- (instancetype)initWithClass:(Class)aClass NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; +- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Helpers/MKTDynamicProperties.m b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTDynamicProperties.m similarity index 80% rename from Example/Pods/OCMockito/Source/OCMockito/Helpers/MKTDynamicProperties.m rename to Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTDynamicProperties.m index a28bd16..f2e6565 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/Helpers/MKTDynamicProperties.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTDynamicProperties.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTDynamicProperties.h" @@ -7,25 +7,25 @@ @interface MKTDynamicProperties () -@property (nonatomic, copy) NSDictionary *selectorToSignature; +@property (nonatomic, copy, readonly) NSDictionary *selectorToSignature; @end @implementation MKTDynamicProperties -+ (NSDictionary *)dynamicPropertySelectorsForClass:(Class)aClass ++ (NSDictionary *)dynamicPropertySelectorsForClass:(Class)aClass { - NSMutableDictionary *result = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *result = [[NSMutableDictionary alloc] init]; for (Class cls = aClass; cls != Nil; cls = [cls superclass]) { - NSDictionary *properties = [self dynamicPropertySelectorsForSingleClass:cls]; + NSDictionary *properties = [self dynamicPropertySelectorsForSingleClass:cls]; [result addEntriesFromDictionary:properties]; } return result; } -+ (NSDictionary *)dynamicPropertySelectorsForSingleClass:(Class)aClass ++ (NSDictionary *)dynamicPropertySelectorsForSingleClass:(Class)aClass { - NSMutableDictionary *result = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *result = [[NSMutableDictionary alloc] init]; unsigned int propertyCount; objc_property_t *properties = class_copyPropertyList(aClass, &propertyCount); for (unsigned int i = 0; i < propertyCount; ++i) @@ -34,7 +34,8 @@ + (NSDictionary *)dynamicPropertySelectorsForSingleClass:(Class)aClass return result; } -+ (void)addSelectorsForDynamicProperty:(objc_property_t)aProperty toDictionary:(NSMutableDictionary *)dict ++ (void)addSelectorsForDynamicProperty:(objc_property_t)aProperty + toDictionary:(NSMutableDictionary *)dict { BOOL isDynamic = [self isAttributeSet:"D" onProperty:aProperty]; if (isDynamic) @@ -59,7 +60,8 @@ + (NSString *)attributeNamed:(const char *)attributeName onProperty:(objc_proper return attributeString; } -+ (void)addSelectorsForProperty:(objc_property_t)aProperty toDictionary:(NSMutableDictionary *)dict ++ (void)addSelectorsForProperty:(objc_property_t)aProperty + toDictionary:(NSMutableDictionary *)dict { dict[ [self getterNameForProperty:aProperty] ] = [self getterSignatureForProperty:aProperty]; BOOL isReadonly = [self isAttributeSet:"R" onProperty:aProperty]; diff --git a/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectAndProtocolMock.h b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectAndProtocolMock.h new file mode 100644 index 0000000..da0040c --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectAndProtocolMock.h @@ -0,0 +1,21 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt +// Contribution by Kevin Lundberg + +#import "MKTProtocolMock.h" + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Mock object of a given class that also implements a given protocol. + */ +@interface MKTObjectAndProtocolMock : MKTProtocolMock + +- (instancetype)initWithClass:(Class)aClass protocol:(Protocol *)protocol NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithProtocol:(Protocol *)aProtocol + includeOptionalMethods:(BOOL)includeOptionalMethods NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.m b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectAndProtocolMock.m similarity index 77% rename from Example/Pods/OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.m rename to Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectAndProtocolMock.m index 84b5f4d..601b2c9 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectAndProtocolMock.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt // Contribution by Kevin Lundberg #import "MKTObjectAndProtocolMock.h" @@ -9,20 +9,15 @@ @interface MKTObjectAndProtocolMock () -@property (readonly, nonatomic, strong) Class mockedClass; -@property (nonatomic, strong) MKTDynamicProperties *dynamicProperties; +@property (nonatomic, strong, readonly) Class mockedClass; +@property (nonatomic, strong, readonly) MKTDynamicProperties *dynamicProperties; @end @implementation MKTObjectAndProtocolMock -+ (instancetype)mockForClass:(Class)aClass protocol:(Protocol *)protocol -{ - return [[self alloc] initWithClass:aClass protocol:protocol]; -} - - (instancetype)initWithClass:(Class)aClass protocol:(Protocol *)protocol { - self = [super initWithProtocol:protocol]; + self = [super initWithProtocol:protocol includeOptionalMethods:YES]; if (self) { _mockedClass = aClass; @@ -49,7 +44,12 @@ - (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector } -#pragma mark NSObject protocol +#pragma mark - NSObject protocol + +- (BOOL)isKindOfClass:(Class)aClass +{ + return [self.mockedClass isSubclassOfClass:aClass]; +} - (BOOL)respondsToSelector:(SEL)aSelector { diff --git a/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectMock.h b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectMock.h new file mode 100644 index 0000000..033bd40 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectMock.h @@ -0,0 +1,19 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTBaseMockObject.h" + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Mock object of a given class. + */ +@interface MKTObjectMock : MKTBaseMockObject + +- (instancetype)initWithClass:(Class)aClass NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTObjectMock.m b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectMock.m similarity index 75% rename from Example/Pods/OCMockito/Source/OCMockito/MKTObjectMock.m rename to Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectMock.m index fb3ca8b..f6ded5b 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTObjectMock.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTObjectMock.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTObjectMock.h" @@ -7,17 +7,12 @@ @interface MKTObjectMock () -@property (readonly, nonatomic, strong) Class mockedClass; -@property (nonatomic, strong) MKTDynamicProperties *dynamicProperties; +@property (nonatomic, strong, readonly) Class mockedClass; +@property (nonatomic, strong, readonly) MKTDynamicProperties *dynamicProperties; @end @implementation MKTObjectMock -+ (instancetype)mockForClass:(Class)aClass -{ - return [[self alloc] initWithClass:aClass]; -} - - (instancetype)initWithClass:(Class)aClass { self = [super init]; @@ -43,7 +38,7 @@ - (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector } -#pragma mark NSObject protocol +#pragma mark - NSObject protocol - (BOOL)isKindOfClass:(Class)aClass { diff --git a/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTProtocolMock.h b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTProtocolMock.h new file mode 100644 index 0000000..4aa18d5 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTProtocolMock.h @@ -0,0 +1,22 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTBaseMockObject.h" + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Mock object implementing a given protocol. + */ +@interface MKTProtocolMock : MKTBaseMockObject + +@property (nonatomic, strong, readonly) Protocol *mockedProtocol; + +- (instancetype)initWithProtocol:(Protocol *)aProtocol + includeOptionalMethods:(BOOL)includeOptionalMethods NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTProtocolMock.m b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTProtocolMock.m similarity index 58% rename from Example/Pods/OCMockito/Source/OCMockito/MKTProtocolMock.m rename to Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTProtocolMock.m index 4b18288..2bc7480 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTProtocolMock.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTProtocolMock.m @@ -1,5 +1,5 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTProtocolMock.h" @@ -7,25 +7,13 @@ @interface MKTProtocolMock () -@property (readonly, nonatomic, assign) BOOL includeOptionalMethods; +@property (nonatomic, assign, readonly) BOOL includeOptionalMethods; @end @implementation MKTProtocolMock -+ (instancetype)mockForProtocol:(Protocol *)aProtocol { - return [self mockForProtocol:aProtocol includeOptionalMethods:YES]; -} - -+ (instancetype)mockForProtocol:(Protocol *)aProtocol includeOptionalMethods:(BOOL)includeOptionalMethods -{ - return [[self alloc] initWithProtocol:aProtocol includeOptionalMethods:includeOptionalMethods]; -} - -- (instancetype)initWithProtocol:(Protocol *)aProtocol { - return [self initWithProtocol:aProtocol includeOptionalMethods:YES]; -} - -- (instancetype)initWithProtocol:(Protocol *)aProtocol includeOptionalMethods:(BOOL)includeOptionalMethods +- (instancetype)initWithProtocol:(Protocol *)aProtocol + includeOptionalMethods:(BOOL)includeOptionalMethods { self = [super init]; if (self) @@ -48,12 +36,16 @@ - (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector protocol_getMethodDescription(self.mockedProtocol, aSelector, YES, YES); if (!methodDescription.name && self.includeOptionalMethods) methodDescription = protocol_getMethodDescription(self.mockedProtocol, aSelector, NO, YES); + if (!methodDescription.name) + methodDescription = protocol_getMethodDescription(self.mockedProtocol, aSelector, YES, NO); + if (!methodDescription.name && self.includeOptionalMethods) + methodDescription = protocol_getMethodDescription(self.mockedProtocol, aSelector, NO, NO); if (!methodDescription.name) return nil; return [NSMethodSignature signatureWithObjCTypes:methodDescription.types]; } -#pragma mark NSObject protocol +#pragma mark - NSObject protocol - (BOOL)conformsToProtocol:(Protocol *)aProtocol { @@ -65,4 +57,12 @@ - (BOOL)respondsToSelector:(SEL)aSelector return [self methodSignatureForSelector:aSelector] != nil; } +#pragma mark - Support being called as isEqual: argument + +- (BOOL)isNSArray__ { return NO; } +- (BOOL)isNSData__ { return NO; } +- (BOOL)isNSDictionary__ { return NO; } +- (BOOL)isNSNumber__ { return NO; } +- (BOOL)isNSString__ { return NO; } + @end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTSingletonSwizzler.h b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTSingletonSwizzler.h new file mode 100644 index 0000000..8244646 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTSingletonSwizzler.h @@ -0,0 +1,21 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt +// Contribution by Igor Sales + +#import + +@class MKTClassObjectMock; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTSingletonSwizzler : NSObject + +- (instancetype)initWithMock:(MKTClassObjectMock *)classMock NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; +- (void)swizzleSingletonAtSelector:(SEL)singletonSelector; +- (void)unswizzleSingletonsForMock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTSingletonSwizzler.m b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTSingletonSwizzler.m new file mode 100644 index 0000000..6591a5c --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Mocking/MKTSingletonSwizzler.m @@ -0,0 +1,144 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt +// Contribution by Igor Sales + +#import "MKTSingletonSwizzler.h" + +#import "MKTClassObjectMock.h" +#import + +@class MKTSingletonMapEntry; + +static NSMutableDictionary *singletonMap = nil; + +static NSString *singletonKey(Class aClass, SEL aSelector) +{ + return [NSString stringWithFormat:@"%@-%@", aClass, NSStringFromSelector(aSelector)]; +} + + +@interface MKTSingletonMapEntry : NSObject +@property (nonatomic, weak, readonly) MKTClassObjectMock *mock; +@property (nonatomic, assign, readonly) void *mockPtr; +@property (nonatomic, weak, readonly) Class mockedClass; +@property (nonatomic, assign, readonly) IMP oldIMP; +@property (nonatomic, assign, readonly) SEL selector; +@end + +@implementation MKTSingletonMapEntry + +- (instancetype)initWithMock:(MKTClassObjectMock *)mock IMP:(IMP)oldIMP selector:(SEL)aSelector +{ + self = [super init]; + if (self) + { + _mock = mock; + _mockPtr = (__bridge void *)mock; + _mockedClass = mock.mockedClass; + _oldIMP = oldIMP; + _selector = aSelector; + } + return self; +} + +- (BOOL)isForMockPtr:(void *)theMockPtr +{ + // We use the mockPtr as the tag to the mock, since the mock can be nullified + // when dealloc is called. The ptr here works as a unique tag to the mock. + return _mockPtr == theMockPtr; +} + +- (void)unswizzleSingleton +{ + Method originalMethod = class_getClassMethod(self.mockedClass, self.selector); + method_setImplementation(originalMethod, self.oldIMP); +} + +@end + + +@interface MKTSingletonSwizzler () +@property (nonatomic, weak) MKTClassObjectMock *classMock; +@property (nonatomic, assign) void *classMockPtr; +@end + +@implementation MKTSingletonSwizzler + ++ (void)initialize +{ + if (!singletonMap) + singletonMap = [[NSMutableDictionary alloc] init]; +} + ++ (id)mockSingleton +{ + MKTSingletonMapEntry *singleton = singletonMap[singletonKey(self, _cmd)]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + return [singleton.mock performSelector:_cmd withObject:nil]; +#pragma clang diagnostic pop +} + +- (instancetype)initWithMock:(MKTClassObjectMock *)classMock +{ + self = [super init]; + if (self) + { + _classMock = classMock; + _classMockPtr = (__bridge void *)classMock; + } + return self; +} + +- (void)dealloc +{ + [self unswizzleSingletonsForMock]; +} + +- (void)swizzleSingletonAtSelector:(SEL)singletonSelector +{ + MKTClassObjectMock *theMock = self.classMock; + IMP oldIMP = [self swizzleSingleton:singletonSelector forMock:theMock]; + [self registerSingleton:singletonSelector forMock:theMock oldIMP:oldIMP]; +} + +- (IMP)swizzleSingleton:(SEL)singletonSelector forMock:(MKTClassObjectMock *)theMock +{ + Method oldMethod = class_getClassMethod(theMock.mockedClass, singletonSelector); + Method newMethod = class_getClassMethod([self class], @selector(mockSingleton)); + IMP newIMP = method_getImplementation(newMethod); + return method_setImplementation(oldMethod, newIMP); +} + +- (void)registerSingleton:(SEL)singletonSelector + forMock:(MKTClassObjectMock *)theMock + oldIMP:(IMP)oldIMP +{ + NSString *key = singletonKey(theMock.mockedClass, singletonSelector); + MKTSingletonMapEntry *existingSingleton = singletonMap[key]; + if (existingSingleton) + oldIMP = existingSingleton.oldIMP; + singletonMap[key] = [[MKTSingletonMapEntry alloc] initWithMock:theMock + IMP:oldIMP + selector:singletonSelector]; +} + +- (void)unswizzleSingletonsForMock +{ + void *theMockPtr = self.classMockPtr; + NSMutableArray *keysToRemove = [[NSMutableArray alloc] init]; + + [singletonMap enumerateKeysAndObjectsUsingBlock:^(NSString *key, + MKTSingletonMapEntry *swizzled, + BOOL *stop) { + if ([swizzled isForMockPtr:theMockPtr]) + { + [swizzled unswizzleSingleton]; + [keysToRemove addObject:key]; + } + }]; + + [singletonMap removeObjectsForKeys:keysToRemove]; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/NSInvocation+OCMockito.h b/Example/Pods/OCMockito/Source/OCMockito/NSInvocation+OCMockito.h deleted file mode 100644 index e50672b..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/NSInvocation+OCMockito.h +++ /dev/null @@ -1,12 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - -@interface NSInvocation (OCMockito) - -- (NSArray *)mkt_arguments; -- (void)mkt_setReturnValue:(id)returnValue; -- (void)mkt_retainArgumentsWithWeakTarget; - -@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/OCMockito.h b/Example/Pods/OCMockito/Source/OCMockito/OCMockito.h deleted file mode 100644 index 5668002..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/OCMockito.h +++ /dev/null @@ -1,244 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import - -#import "MKTArgumentCaptor.h" -#import "MKTClassObjectMock.h" -#import "MKTObjectMock.h" -#import "MKTObjectAndProtocolMock.h" -#import "MKTOngoingStubbing.h" -#import "MKTProtocolMock.h" - - -#define MKTMock(aClass) (id)[MKTObjectMock mockForClass:aClass] - -/** - Returns a mock object of a given class. - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTMock instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define mock(aClass) MKTMock(aClass) -#endif - - -#define MKTMockClass(aClass) (id)[MKTClassObjectMock mockForClass:aClass] - -/** - Returns a mock class object of a given class. - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTMockClass instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define mockClass(aClass) MKTMockClass(aClass) -#endif - - -#define MKTMockProtocol(aProtocol) (id)[MKTProtocolMock mockForProtocol:aProtocol] - -/** - Returns a mock object implementing a given protocol. - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTMockProtocol instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define mockProtocol(aProtocol) MKTMockProtocol(aProtocol) -#endif - - -#define MKTMockProtocolWithoutOptionals(aProtocol) (id)[MKTProtocolMock mockForProtocol:aProtocol includeOptionalMethods:NO] - -/** - Returns a mock object implementing a given protocol, but with no optional methods. - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTMockProtocolWithoutOptionals instead.) -*/ -#ifdef MOCKITO_SHORTHAND - #define mockProtocolWithoutOptionals(aProtocol) MKTMockProtocolWithoutOptionals(aProtocol) -#endif - - -#define MKTMockObjectAndProtocol(aClass, aProtocol) (id)[MKTObjectAndProtocolMock mockForClass:aClass protocol:aProtocol] - -/** - Returns a mock object of a given class that also implements a given protocol. - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTMockObjectAndProtocol instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define mockObjectAndProtocol(aClass, aProtocol) (id)MKTMockObjectAndProtocol(aClass, aProtocol) -#endif - - -FOUNDATION_EXPORT MKTOngoingStubbing *MKTGivenWithLocation(id testCase, const char *fileName, int lineNumber, ...); -#define MKTGiven(methodCall) MKTGivenWithLocation(self, __FILE__, __LINE__, methodCall) - -/** - Enables method stubbing. - - Use @c given when you want the mock to return particular value when particular method is called. - - Example: - @li @ref [given([mockObject methodReturningString]) willReturn:@"foo"]; - - See @ref MKTOngoingStubbing for other methods to stub different types of return values. - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTGiven instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define given(methodCall) MKTGiven(methodCall) -#endif - - -#define MKTStubProperty(instance, property, value) \ - do { \ - [MKTGiven([instance property]) willReturn:value]; \ - [MKTGiven([instance valueForKey:@#property]) willReturn:value]; \ - [MKTGiven([instance valueForKeyPath:@#property]) willReturn:value]; \ - } while(0) - -/** - Stubs given property and its related KVO methods. - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTStubProperty instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define stubProperty(instance, property, value) MKTStubProperty(instance, property, value) -#endif - - -FOUNDATION_EXPORT id MKTVerifyWithLocation(id mock, id testCase, const char *fileName, int lineNumber); -#define MKTVerify(mock) MKTVerifyWithLocation(mock, self, __FILE__, __LINE__) - -/** - Verifies certain behavior happened once. - - @c verify checks that a method was invoked once, with arguments that match given OCHamcrest - matchers. If an argument is not a matcher, it is implicitly wrapped in an @c equalTo matcher to - check for equality. - - Examples: - @code - [verify(mockObject) someMethod:startsWith(@"foo")]; - [verify(mockObject) someMethod:@"bar"]; - @endcode - - @c verify(mockObject) is equivalent to - @code - verifyCount(mockObject, times(1)) - @endcode - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTVerify instead.) - */ -#ifdef MOCKITO_SHORTHAND - #undef verify - #define verify(mock) MKTVerify(mock) -#endif - - -FOUNDATION_EXPORT id MKTVerifyCountWithLocation(id mock, id mode, id testCase, const char *fileName, int lineNumber); -#define MKTVerifyCount(mock, mode) MKTVerifyCountWithLocation(mock, mode, self, __FILE__, __LINE__) - -/** - Verifies certain behavior happened a given number of times. - - Examples: - @code - [verifyCount(mockObject, times(5)) someMethod:@"was called five times"]; - [verifyCount(mockObject, never()) someMethod:@"was never called"]; - @endcode - - @c verifyCount checks that a method was invoked a given number of times, with arguments that - match given OCHamcrest matchers. If an argument is not a matcher, it is implicitly wrapped in an - @c equalTo matcher to check for equality. - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTVerifyCount instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define verifyCount(mock, mode) MKTVerifyCount(mock, mode) -#endif - - -FOUNDATION_EXPORT id MKTTimes(NSUInteger wantedNumberOfInvocations); - -/** - Verifies exact number of invocations. - - Example: - @code - [verifyCount(mockObject, times(2)) someMethod:@"some arg"]; - @endcode - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTTimes instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define times(wantedNumberOfInvocations) MKTTimes(wantedNumberOfInvocations) -#endif - - -FOUNDATION_EXPORT id MKTNever(void); - -/** - Verifies that interaction did not happen. - - Example: - @code - [verifyCount(mockObject, never()) someMethod:@"some arg"]; - @endcode - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTNever instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define never() MKTNever() -#endif - - -FOUNDATION_EXPORT id MKTAtLeast(NSUInteger minNumberOfInvocations); - -/** - Verifies minimum number of invocations. - - The verification will succeed if the specified invocation happened the number of times - specified or more. - - Example: - @code - [verifyCount(mockObject, atLeast(2)) someMethod:@"some arg"]; - @endcode - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTAtLeast instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define atLeast(minNumberOfInvocations) MKTAtLeast(minNumberOfInvocations) -#endif - - -FOUNDATION_EXPORT id MKTAtLeastOnce(void); - -/** - Verifies that interaction happened once or more. - - Example: - @code - [verifyCount(mockObject, atLeastOnce()) someMethod:@"some arg"]; - @endcode - - (In the event of a name clash, don't \#define @c MOCKITO_SHORTHAND and use the synonym - @c MKTAtLeastOnce instead.) - */ -#ifdef MOCKITO_SHORTHAND - #define atLeastOnce() MKTAtLeastOnce() -#endif diff --git a/Example/Pods/OCMockito/Source/OCMockito/OCMockito.m b/Example/Pods/OCMockito/Source/OCMockito/OCMockito.m deleted file mode 100644 index 2d8108f..0000000 --- a/Example/Pods/OCMockito/Source/OCMockito/OCMockito.m +++ /dev/null @@ -1,79 +0,0 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt - -#import "OCMockito.h" - -#import "MKTAtLeastTimes.h" -#import "MKTExactTimes.h" -#import "MKTMockitoCore.h" - - -static BOOL isValidMockClass(id mock) -{ - NSString *className = NSStringFromClass([mock class]); - return [className isEqualToString:@"MKTObjectMock"] || - [className isEqualToString:@"MKTProtocolMock"] || - [className isEqualToString:@"MKTClassObjectMock"] || - [className isEqualToString:@"MKTObjectAndProtocolMock"]; -} - -static NSString *actualTypeName(id mock) -{ - NSString *className = NSStringFromClass([mock class]); - if (!className) - return @"nil"; - return [@"type " stringByAppendingString:className]; -} - -static BOOL reportedInvalidMock(id mock, id testCase, const char *fileName, int lineNumber, NSString *functionName) -{ - if (isValidMockClass(mock)) - return NO; - NSString *description = [NSString stringWithFormat:@"Argument passed to %@ should be a mock but is %@", - functionName, actualTypeName(mock)]; - MKTFailTest(testCase, fileName, lineNumber, description); - return YES; -} - -MKTOngoingStubbing *MKTGivenWithLocation(id testCase, const char *fileName, int lineNumber, ...) -{ - return [[MKTMockitoCore sharedCore] stubAtLocation:MKTTestLocationMake(testCase, fileName, lineNumber)]; -} - -id MKTVerifyWithLocation(id mock, id testCase, const char *fileName, int lineNumber) -{ - if (reportedInvalidMock(mock, testCase, fileName, lineNumber, @"verify()")) - return nil; - - return MKTVerifyCountWithLocation(mock, MKTTimes(1), testCase, fileName, lineNumber); -} - -id MKTVerifyCountWithLocation(id mock, id mode, id testCase, const char *fileName, int lineNumber) -{ - if (reportedInvalidMock(mock, testCase, fileName, lineNumber, @"verifyCount()")) - return nil; - - return [[MKTMockitoCore sharedCore] verifyMock:mock - withMode:mode - atLocation:MKTTestLocationMake(testCase, fileName, lineNumber)]; -} - -id MKTTimes(NSUInteger wantedNumberOfInvocations) -{ - return [[MKTExactTimes alloc] initWithCount:wantedNumberOfInvocations]; -} - -id MKTNever() -{ - return MKTTimes(0); -} - -id MKTAtLeast(NSUInteger minNumberOfInvocations) -{ - return [[MKTAtLeastTimes alloc] initWithMinimumCount:minNumberOfInvocations]; -} - -id MKTAtLeastOnce() -{ - return MKTAtLeast(1); -} diff --git a/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTAnswer.h b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTAnswer.h new file mode 100644 index 0000000..d877ed9 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTAnswer.h @@ -0,0 +1,24 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Specifies an action that is executed and a return value that is returned when you + * interact with the mock. + */ +@protocol MKTAnswer + +/*! + * @abstract Answer a particular invocation. + * @param invocation Method invocation to answer. + * @return The value to be returned. + */ +- (id)answerInvocation:(NSInvocation *)invocation; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTExecutesBlock.h b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTExecutesBlock.h new file mode 100644 index 0000000..36ef3d8 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTExecutesBlock.h @@ -0,0 +1,19 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTAnswer.h" + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Method answer that executes a block. + */ +@interface MKTExecutesBlock : NSObject + +- (instancetype)initWithBlock:(id (^)(NSInvocation *))block NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTExecutesBlock.m b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTExecutesBlock.m similarity index 66% rename from Example/Pods/OCMockito/Source/OCMockito/MKTExecutesBlock.m rename to Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTExecutesBlock.m index 24991b3..6fb7060 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTExecutesBlock.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTExecutesBlock.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTExecutesBlock.h" @interface MKTExecutesBlock () -@property (readonly, nonatomic, copy) id (^block)(NSInvocation *); +@property (nonatomic, copy, readonly) id (^block)(NSInvocation *); @end @implementation MKTExecutesBlock diff --git a/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTInvocationContainer.h b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTInvocationContainer.h new file mode 100644 index 0000000..0134246 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTInvocationContainer.h @@ -0,0 +1,28 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + +@class MKTInvocation; +@class MKTInvocationMatcher; +@class MKTStubbedInvocationMatcher; +@protocol HCMatcher; +@protocol MKTAnswer; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTInvocationContainer : NSObject + +@property (nonatomic, copy, readonly) NSArray *registeredInvocations; + +- (instancetype)init NS_DESIGNATED_INITIALIZER; +- (void)setInvocationForPotentialStubbing:(NSInvocation *)invocation; +- (void)setMatcher:(id )matcher atIndex:(NSUInteger)argumentIndex; +- (void)addAnswer:(id )answer; +- (nullable MKTStubbedInvocationMatcher *)findAnswerFor:(NSInvocation *)invocation; +- (BOOL)isStubbingCopyMethod; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationContainer.m b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTInvocationContainer.m similarity index 51% rename from Example/Pods/OCMockito/Source/OCMockito/MKTInvocationContainer.m rename to Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTInvocationContainer.m index b1f2843..8f9793e 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTInvocationContainer.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTInvocationContainer.m @@ -1,15 +1,17 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTInvocationContainer.h" #import "MKTStubbedInvocationMatcher.h" #import "NSInvocation+OCMockito.h" +#import "MKTInvocation.h" @interface MKTInvocationContainer () +@property (nonatomic, strong, readonly) NSMutableArray *mutableRegisteredInvocations; @property (nonatomic, strong) MKTStubbedInvocationMatcher *invocationForStubbing; -@property (readonly, nonatomic, strong) NSMutableArray *stubbed; +@property (nonatomic, strong, readonly) NSMutableArray *stubbed; @end @implementation MKTInvocationContainer @@ -20,17 +22,22 @@ - (instancetype)init self = [super init]; if (self) { - _registeredInvocations = [[NSMutableArray alloc] init]; + _mutableRegisteredInvocations = [[NSMutableArray alloc] init]; _stubbed = [[NSMutableArray alloc] init]; } return self; } +- (NSArray *)registeredInvocations +{ + return self.mutableRegisteredInvocations; +} - (void)setInvocationForPotentialStubbing:(NSInvocation *)invocation { [invocation mkt_retainArgumentsWithWeakTarget]; - [_registeredInvocations addObject:invocation]; + MKTInvocation *wrappedInvocation = [[MKTInvocation alloc] initWithInvocation:invocation]; + [self.mutableRegisteredInvocations addObject:wrappedInvocation]; MKTStubbedInvocationMatcher *s = [[MKTStubbedInvocationMatcher alloc] init]; [s setExpectedInvocation:invocation]; @@ -44,18 +51,24 @@ - (void)setMatcher:(id )matcher atIndex:(NSUInteger)argumentIndex - (void)addAnswer:(id )answer { - [_registeredInvocations removeLastObject]; + [self.mutableRegisteredInvocations removeLastObject]; [self.invocationForStubbing addAnswer:answer]; [self.stubbed insertObject:self.invocationForStubbing atIndex:0]; } -- (MKTStubbedInvocationMatcher *)findAnswerFor:(NSInvocation *)invocation +- (nullable MKTStubbedInvocationMatcher *)findAnswerFor:(NSInvocation *)invocation { - for (MKTStubbedInvocationMatcher *s in self.stubbed) + for (MKTStubbedInvocationMatcher *s in [self.stubbed copy]) if ([s matches:invocation]) return s; return nil; } +- (BOOL)isStubbingCopyMethod +{ + return self.registeredInvocations.count > 0 && + [self.registeredInvocations[0] invocation].selector == @selector(copy); +} + @end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTOngoingStubbing.h b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTOngoingStubbing.h new file mode 100644 index 0000000..3fa4f70 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTOngoingStubbing.h @@ -0,0 +1,152 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import +#import "MKTNonObjectArgumentMatching.h" + +@class MKTInvocationContainer; + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Methods to invoke on given(methodCall) to stub return values or behaviors. + * @discussion The methods return self to allow stubbing consecutive calls. The last + * stub determines the behavior of further consecutive calls. + */ +@interface MKTOngoingStubbing : NSObject + +- (instancetype)initWithInvocationContainer:(MKTInvocationContainer *)invocationContainer NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +/*! + * @abstract Sets an object to return when the method is called. + * @discussion Example: + *
    [given([mock someMethod]) willReturn:@"FOO"];
    + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturn:(nullable id)object; + +/*! + * @abstract Sets a struct to return when the method is called. + * @param value Pointer to struct. + * @param type \@encode() compiler directive called on the struct. + * @discussion + * Example: + *
    [given([mock someMethod]) willReturnStruct:&myStruct objCType:\@encode(MyStructType)];
    + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnStruct:(const void *)value objCType:(const char *)type; + +/*! + * @abstract Sets a BOOL to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnBool:(BOOL)value; + +/*! + * @abstract Sets a char to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnChar:(char)value; + +/*! + * @abstract Sets an int to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnInt:(int)value; + +/*! + * @abstract Sets a short to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnShort:(short)value; + +/*! + * @abstract Sets a long to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnLong:(long)value; + +/*! + * @abstract Sets a long long to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnLongLong:(long long)value; + +/*! + * @abstract Sets an NSInteger to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnInteger:(NSInteger)value; + +/*! + * @abstract Sets an unsigned char to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnUnsignedChar:(unsigned char)value; + +/*! + * @abstract Sets an unsigned int to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnUnsignedInt:(unsigned int)value; + +/*! + * @abstract Sets an unsigned short to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnUnsignedShort:(unsigned short)value; + +/*! + * @abstract Sets an unsigned long to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnUnsignedLong:(unsigned long)value; + +/*! + * @abstract Sets an unsigned long long to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnUnsignedLongLong:(unsigned long long)value; + +/*! + * @abstract Sets an NSUInteger to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnUnsignedInteger:(NSUInteger)value; + +/*! + * @abstract Sets a float to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnFloat:(float)value; + +/*! + * @abstract Sets a double to return when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willReturnDouble:(double)value; + +/*! + * @abstract Sets an NSException to be thrown when the method is called. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + * @discussion + * Example: + *
    [given([mock someMethod]) willThrow:exception];
    + */ +- (MKTOngoingStubbing *)willThrow:(NSException *)exception; + +/*! + * @abstract Sets a block to be executed when the method is called. + * @discussion The block is evaluated when the method is called. The block can easily access + * invocation arguments by calling mkt_arguments. Whatever the block returns will be + * used as the stubbed return value. + * @return MKTOngoingStubbing object to allow stubbing consecutive calls + */ +- (MKTOngoingStubbing *)willDo:(id (^)(NSInvocation *))block; + +@end + +NS_ASSUME_NONNULL_END + diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTOngoingStubbing.m b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTOngoingStubbing.m similarity index 90% rename from Example/Pods/OCMockito/Source/OCMockito/MKTOngoingStubbing.m rename to Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTOngoingStubbing.m index d9c64d1..7bd2cb9 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTOngoingStubbing.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTOngoingStubbing.m @@ -1,9 +1,10 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import #import "MKTOngoingStubbing.h" +#import "MKTBaseMockObject.h" #import "MKTInvocationContainer.h" #import "MKTReturnsValue.h" #import "MKTThrowsException.h" @@ -11,7 +12,7 @@ @interface MKTOngoingStubbing () -@property (readonly, nonatomic, strong) MKTInvocationContainer *invocationContainer; +@property (nonatomic, strong, readonly) MKTInvocationContainer *invocationContainer; @end @implementation MKTOngoingStubbing @@ -24,8 +25,12 @@ - (instancetype)initWithInvocationContainer:(MKTInvocationContainer *)invocation return self; } -- (MKTOngoingStubbing *)willReturn:(id)object +- (MKTOngoingStubbing *)willReturn:(nullable id)object { + // Workaround for over-releasing mock object that is stubbed as return value for copy method. + if (self.invocationContainer.isStubbingCopyMethod && [MKTBaseMockObject isMockObject:object]) + CFBridgingRetain(object); + MKTReturnsValue *returnsValue = [[MKTReturnsValue alloc] initWithValue:object]; [self.invocationContainer addAnswer:returnsValue]; return self; @@ -159,7 +164,7 @@ - (MKTOngoingStubbing *)willDo:(id (^)(NSInvocation *))block } -#pragma mark MKTPrimitiveArgumentMatching +#pragma mark - MKTNonObjectArgumentMatching - (id)withMatcher:(id )matcher forArgument:(NSUInteger)index { diff --git a/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTReturnsValue.h b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTReturnsValue.h new file mode 100644 index 0000000..b193694 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTReturnsValue.h @@ -0,0 +1,19 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTAnswer.h" + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Method answer that returns a value. + */ +@interface MKTReturnsValue : NSObject + +- (instancetype)initWithValue:(nullable id)value NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTReturnsValue.m b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTReturnsValue.m similarity index 55% rename from Example/Pods/OCMockito/Source/OCMockito/MKTReturnsValue.m rename to Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTReturnsValue.m index ddd9f3f..8a112e9 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTReturnsValue.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTReturnsValue.m @@ -1,16 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTReturnsValue.h" @interface MKTReturnsValue () -@property (readonly, nonatomic, strong) id value; +@property (nullable, nonatomic, strong, readonly) id value; @end @implementation MKTReturnsValue -- (instancetype)initWithValue:(id)value +- (instancetype)initWithValue:(nullable id)value { self = [super init]; if (self) diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTStubbedInvocationMatcher.h b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.h similarity index 53% rename from Example/Pods/OCMockito/Source/OCMockito/MKTStubbedInvocationMatcher.h rename to Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.h index 23cdc95..f882175 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTStubbedInvocationMatcher.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.h @@ -1,12 +1,16 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTInvocationMatcher.h" #import "MKTAnswer.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTStubbedInvocationMatcher : MKTInvocationMatcher - (void)addAnswer:(id )answer; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTStubbedInvocationMatcher.m b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.m similarity index 78% rename from Example/Pods/OCMockito/Source/OCMockito/MKTStubbedInvocationMatcher.m rename to Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.m index 7f361e0..fc87026 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTStubbedInvocationMatcher.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTStubbedInvocationMatcher.h" @interface MKTStubbedInvocationMatcher () -@property (readonly, nonatomic, copy) NSMutableArray *answers; +@property (nonatomic, copy, readonly) NSMutableArray> *answers; @property (nonatomic, assign) NSUInteger index; @end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTThrowsException.h b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTThrowsException.h new file mode 100644 index 0000000..d2b21fb --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTThrowsException.h @@ -0,0 +1,19 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTAnswer.h" + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Method answer that throws an exception. + */ +@interface MKTThrowsException : NSObject + +- (instancetype)initWithException:(NSException *)exception NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTThrowsException.m b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTThrowsException.m similarity index 67% rename from Example/Pods/OCMockito/Source/OCMockito/MKTThrowsException.m rename to Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTThrowsException.m index 6e863c6..701291b 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTThrowsException.m +++ b/Example/Pods/OCMockito/Source/OCMockito/Stubbing/MKTThrowsException.m @@ -1,11 +1,11 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt #import "MKTThrowsException.h" @interface MKTThrowsException () -@property (readonly, nonatomic, strong) NSException *exception; +@property (nonatomic, strong, readonly) NSException *exception; @end @implementation MKTThrowsException diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastNumberOfInvocationsChecker.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastNumberOfInvocationsChecker.h new file mode 100644 index 0000000..a7031dc --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastNumberOfInvocationsChecker.h @@ -0,0 +1,22 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTInvocationsChecker.h" + +@class MKTInvocation; +@class MKTInvocationMatcher; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTAtLeastNumberOfInvocationsChecker : MKTInvocationsChecker + +- (instancetype)init NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithWantedDescription:(NSString *)wantedDescription NS_UNAVAILABLE; +- (nullable NSString *)checkInvocations:(NSArray *)invocations + wanted:(MKTInvocationMatcher *)wanted + wantedCount:(NSUInteger)wantedCount; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastNumberOfInvocationsChecker.m b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastNumberOfInvocationsChecker.m new file mode 100644 index 0000000..a9e1d0d --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastNumberOfInvocationsChecker.m @@ -0,0 +1,26 @@ +#import "MKTAtLeastNumberOfInvocationsChecker.h" + +#import "MKTMatchingInvocationsFinder.h" + + +@implementation MKTAtLeastNumberOfInvocationsChecker + +- (instancetype)init +{ + self = [super initWithWantedDescription:@"Wanted at least"]; + return self; +} + +- (nullable NSString *)checkInvocations:(NSArray *)invocations + wanted:(MKTInvocationMatcher *)wanted + wantedCount:(NSUInteger)wantedCount +{ + [self.invocationsFinder findInvocationsInList:invocations matching:wanted]; + NSUInteger actualCount = self.invocationsFinder.count; + NSString *description; + if (wantedCount > actualCount) + description = [self tooLittleActual:actualCount wantedCount:wantedCount]; + return description; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/MKTAtLeastTimes.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastTimes.h similarity index 50% rename from Example/Pods/OCMockito/Source/OCMockito/MKTAtLeastTimes.h rename to Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastTimes.h index 5f347e7..93e61e4 100644 --- a/Example/Pods/OCMockito/Source/OCMockito/MKTAtLeastTimes.h +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastTimes.h @@ -1,13 +1,18 @@ -// OCMockito by Jon Reid, http://qualitycoding.org/about/ -// Copyright 2015 Jonathan M. Reid. See LICENSE.txt +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt // Contribution by Markus Gasser #import #import "MKTVerificationMode.h" +NS_ASSUME_NONNULL_BEGIN + @interface MKTAtLeastTimes : NSObject -- (instancetype)initWithMinimumCount:(NSUInteger)minNumberOfInvocations; +- (instancetype)initWithMinimumCount:(NSUInteger)minNumberOfInvocations NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; @end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastTimes.m b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastTimes.m new file mode 100644 index 0000000..c815cdb --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtLeastTimes.m @@ -0,0 +1,38 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt +// Contribution by Markus Gasser + +#import "MKTAtLeastTimes.h" + +#import "MKTAtLeastNumberOfInvocationsChecker.h" +#import "MKTVerificationData.h" + + +@interface MKTAtLeastTimes () +@property (nonatomic, assign, readonly) NSUInteger wantedCount; +@end + +@implementation MKTAtLeastTimes + +- (instancetype)initWithMinimumCount:(NSUInteger)minNumberOfInvocations +{ + self = [super init]; + if (self) + _wantedCount = minNumberOfInvocations; + return self; +} + + +#pragma mark - MKTVerificationMode + +- (void)verifyData:(MKTVerificationData *)data testLocation:(MKTTestLocation)testLocation +{ + MKTAtLeastNumberOfInvocationsChecker *checker = [[MKTAtLeastNumberOfInvocationsChecker alloc] init]; + NSString *failureDescription = [checker checkInvocations:data.invocations + wanted:data.wanted + wantedCount:self.wantedCount]; + if (failureDescription) + MKTFailTestLocation(testLocation, failureDescription); +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostNumberOfInvocationsChecker.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostNumberOfInvocationsChecker.h new file mode 100644 index 0000000..f611cbc --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostNumberOfInvocationsChecker.h @@ -0,0 +1,22 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTInvocationsChecker.h" + +@class MKTInvocation; +@class MKTInvocationMatcher; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTAtMostNumberOfInvocationsChecker : MKTInvocationsChecker + +- (instancetype)init NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithWantedDescription:(NSString *)wantedDescription NS_UNAVAILABLE; +- (nullable NSString *)checkInvocations:(NSArray *)invocations + wanted:(MKTInvocationMatcher *)wanted + wantedCount:(NSUInteger)wantedCount; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostNumberOfInvocationsChecker.m b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostNumberOfInvocationsChecker.m new file mode 100644 index 0000000..dffe3c6 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostNumberOfInvocationsChecker.m @@ -0,0 +1,28 @@ +#import "MKTAtMostNumberOfInvocationsChecker.h" + +#import "MKTMatchingInvocationsFinder.h" + + +@implementation MKTAtMostNumberOfInvocationsChecker + +- (instancetype)init +{ + self = [super initWithWantedDescription:@"Wanted at most"]; + return self; +} + +- (nullable NSString *)checkInvocations:(NSArray *)invocations + wanted:(MKTInvocationMatcher *)wanted + wantedCount:(NSUInteger)wantedCount +{ + [self.invocationsFinder findInvocationsInList:invocations matching:wanted]; + NSUInteger actualCount = self.invocationsFinder.count; + NSString *description; + if (wantedCount == 0 && actualCount > 0) + description = [self neverWantedButActual:actualCount]; + else if (wantedCount < actualCount) + description = [self tooManyActual:actualCount wantedCount:wantedCount]; + return description; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostTimes.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostTimes.h new file mode 100644 index 0000000..ef202ef --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostTimes.h @@ -0,0 +1,18 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt +// Contribution by Emile Cantin + +#import +#import "MKTVerificationMode.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTAtMostTimes : NSObject + +- (instancetype)initWithMaximumCount:(NSUInteger)maxNumberOfInvocations NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostTimes.m b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostTimes.m new file mode 100644 index 0000000..75aed2c --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTAtMostTimes.m @@ -0,0 +1,38 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt +// Contribution by Emile Cantin + +#import "MKTAtMostTimes.h" + +#import "MKTAtMostNumberOfInvocationsChecker.h" +#import "MKTVerificationData.h" + + +@interface MKTAtMostTimes () +@property (nonatomic, assign, readonly) NSUInteger wantedCount; +@end + +@implementation MKTAtMostTimes + +- (instancetype)initWithMaximumCount:(NSUInteger)maxNumberOfInvocations +{ + self = [super init]; + if (self) + _wantedCount = maxNumberOfInvocations; + return self; +} + + +#pragma mark - MKTVerificationMode + +- (void)verifyData:(MKTVerificationData *)data testLocation:(MKTTestLocation)testLocation +{ + MKTAtMostNumberOfInvocationsChecker *checker = [[MKTAtMostNumberOfInvocationsChecker alloc] init]; + NSString *failureDescription = [checker checkInvocations:data.invocations + wanted:data.wanted + wantedCount:self.wantedCount]; + if (failureDescription) + MKTFailTestLocation(testLocation, failureDescription); +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTExactTimes.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTExactTimes.h new file mode 100644 index 0000000..c56dba5 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTExactTimes.h @@ -0,0 +1,17 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import +#import "MKTVerificationMode.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTExactTimes : NSObject + +- (instancetype)initWithCount:(NSUInteger)wantedNumberOfInvocations NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTExactTimes.m b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTExactTimes.m new file mode 100644 index 0000000..57aca28 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTExactTimes.m @@ -0,0 +1,50 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTExactTimes.h" + +#import "MKTInvocationMatcher.h" +#import "MKTNumberOfInvocationsChecker.h" +#import "MKTVerificationData.h" +#import "MKTMissingInvocationChecker.h" + + +@interface MKTExactTimes () +@property (nonatomic, assign, readonly) NSUInteger wantedCount; +@end + +@implementation MKTExactTimes + +- (instancetype)initWithCount:(NSUInteger)wantedNumberOfInvocations +{ + self = [super init]; + if (self) + _wantedCount = wantedNumberOfInvocations; + return self; +} + + +#pragma mark - MKTVerificationMode + +- (void)verifyData:(MKTVerificationData *)data testLocation:(MKTTestLocation)testLocation +{ + NSString *failureDescription; + if (self.wantedCount > 0) + { + MKTMissingInvocationChecker *missingInvocation = [[MKTMissingInvocationChecker alloc] init]; + failureDescription = [missingInvocation checkInvocations:data.invocations wanted:data.wanted]; + [data.wanted stopArgumentCapture]; + } + if (!failureDescription) + { + MKTNumberOfInvocationsChecker *numberOfInvocations = [[MKTNumberOfInvocationsChecker alloc] init]; + failureDescription = [numberOfInvocations checkInvocations:data.invocations + wanted:data.wanted + wantedCount:self.wantedCount]; + } + + if (failureDescription) + MKTFailTestLocation(testLocation, failureDescription); +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTInvocationsChecker.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTInvocationsChecker.h new file mode 100644 index 0000000..5cca300 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTInvocationsChecker.h @@ -0,0 +1,25 @@ +// +// Created by Jon Reid on 11/27/15. +// Copyright (c) 2015 Jonathan M. Reid. All rights reserved. +// + +#import + +@class MKTMatchingInvocationsFinder; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTInvocationsChecker : NSObject + +@property (nonatomic, strong) MKTMatchingInvocationsFinder *invocationsFinder; + +- (instancetype)initWithWantedDescription:(NSString *)wantedDescription NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; +- (NSString *)tooLittleActual:(NSUInteger)actualCount wantedCount:(NSUInteger)wantedCount; +- (NSString *)tooManyActual:(NSUInteger)actualCount wantedCount:(NSUInteger)wantedCount; +- (NSString *)neverWantedButActual:(NSUInteger)actualCount; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTInvocationsChecker.m b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTInvocationsChecker.m new file mode 100644 index 0000000..532cb35 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTInvocationsChecker.m @@ -0,0 +1,81 @@ +#import "MKTNumberOfInvocationsChecker.h" + +#import "MKTMatchingInvocationsFinder.h" +#import "MKTLocation.h" + + +@interface MKTInvocationsChecker () +@property (nonatomic, copy) NSString *wantedDescription; +@end + +@implementation MKTInvocationsChecker + +- (instancetype)initWithWantedDescription:(NSString *)wantedDescription +{ + self = [super init]; + if (self) + self.wantedDescription = [wantedDescription copy]; + return self; +} + +- (MKTMatchingInvocationsFinder *)invocationsFinder +{ + if (!_invocationsFinder) + _invocationsFinder = [[MKTMatchingInvocationsFinder alloc] init]; + return _invocationsFinder; +} + +- (NSString *)tooLittleActual:(NSUInteger)actualCount wantedCount:(NSUInteger)wantedCount +{ + NSString *problem = [self describeWanted:wantedCount butWasCalled:actualCount]; + MKTLocation *location = [self.invocationsFinder locationOfLastInvocation]; + return [self joinProblem:problem location:location locationLabel:@"Last invocation:"]; +} + +- (NSString *)tooManyActual:(NSUInteger)actualCount wantedCount:(NSUInteger)wantedCount +{ + NSString *problem = [self describeWanted:wantedCount butWasCalled:actualCount]; + MKTLocation *location = [self.invocationsFinder locationOfInvocationAtIndex:wantedCount]; + return [self joinProblem:problem location:location locationLabel:@"Undesired invocation:"]; +} + +- (NSString *)neverWantedButActual:(NSUInteger)actualCount +{ + NSString *problem = [self describeNeverWantedButWasCalled:actualCount]; + MKTLocation *location = [self.invocationsFinder locationOfInvocationAtIndex:0]; + return [self joinProblem:problem location:location locationLabel:@"Undesired invocation:"]; +} + +- (NSString *)describeWanted:(NSUInteger)wantedCount butWasCalled:(NSUInteger)actualCount +{ + return [NSString stringWithFormat:@"%@ %@ but was called %@.", + [self wantedDescription], + [self pluralizeTimes:wantedCount], + [self pluralizeTimes:actualCount]]; +} + +- (NSString *)describeNeverWantedButWasCalled:(NSUInteger)actualCount +{ + return [NSString stringWithFormat:@"Never wanted but was called %@.", + [self pluralizeTimes:actualCount]]; +} + +- (NSString *)pluralizeTimes:(NSUInteger)count +{ + return count == 1 ? @"1 time" : [NSString stringWithFormat:@"%lu times", (unsigned long)count]; +} + +- (NSString *)joinProblem:(NSString *)problem + location:(MKTLocation *)location + locationLabel:(NSString *)locationLabel +{ + if (!location) + return problem; + else + { + NSString *report = [problem stringByAppendingFormat:@" %@\n", locationLabel]; + return [report stringByAppendingString:location.description]; + } +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTMissingInvocationChecker.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTMissingInvocationChecker.h new file mode 100644 index 0000000..c7c158f --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTMissingInvocationChecker.h @@ -0,0 +1,23 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTInvocationsChecker.h" + +@class MKTInvocation; +@class MKTInvocationMatcher; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTMissingInvocationChecker : MKTInvocationsChecker + +- (instancetype)init NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithWantedDescription:(NSString *)wantedDescription NS_UNAVAILABLE; +- (nullable NSString *)checkInvocations:(NSArray *)invocations wanted:(MKTInvocationMatcher *)wanted; + +@end + + +MKTInvocation *MKTFindSimilarInvocation(NSArray *invocations, MKTInvocationMatcher *wanted); + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTMissingInvocationChecker.m b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTMissingInvocationChecker.m new file mode 100644 index 0000000..070a167 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTMissingInvocationChecker.m @@ -0,0 +1,91 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTMissingInvocationChecker.h" + +#import "MKTInvocation.h" +#import "MKTInvocationMatcher.h" +#import "MKTLocation.h" +#import "MKTMatchingInvocationsFinder.h" +#import "MKTPrinter.h" + + +@implementation MKTMissingInvocationChecker + +- (instancetype)init +{ + self = [super initWithWantedDescription:@"Missing"]; + return self; +} + +- (nullable NSString *)checkInvocations:(NSArray *)invocations wanted:(MKTInvocationMatcher *)wanted +{ + [self.invocationsFinder findInvocationsInList:invocations matching:wanted]; + NSString *description; + if (self.invocationsFinder.count == 0) + { + MKTInvocation *similar = MKTFindSimilarInvocation(invocations, wanted); + if (similar) + description = [self argumentsAreDifferent:similar wanted:wanted]; + else + description = [self wantedButNotInvoked:wanted otherInvocations:invocations]; + } + return description; +} + +- (NSString *)argumentsAreDifferent:(MKTInvocation *)actual wanted:(MKTInvocationMatcher *)wanted +{ + MKTPrinter *printer = [[MKTPrinter alloc] init]; + NSArray *description = @[ + @"Argument(s) are different!", + [@"Wanted: " stringByAppendingString:[printer printMatcher:wanted]], + @"Actual invocation has different arguments:", + [printer printInvocation:actual], + [printer printMismatchOf:actual expectation:wanted], + @"", + actual.location.description, + ]; + return [description componentsJoinedByString:@"\n"]; +} + +- (NSString *)wantedButNotInvoked:(MKTInvocationMatcher *)wanted + otherInvocations:(NSArray *)invocations +{ + MKTPrinter *printer = [[MKTPrinter alloc] init]; + NSMutableArray *description = [@[ + @"Wanted but not invoked:", + [printer printMatcher:wanted], + ] mutableCopy]; + + if (!invocations.count) + [description addObject:@"Actually, there were zero interactions with this mock."]; + else + [self reportOtherInvocations:invocations toDescriptionArray:description]; + + return [description componentsJoinedByString:@"\n"]; +} + +- (void)reportOtherInvocations:(NSArray *)invocations + toDescriptionArray:(NSMutableArray *)description +{ + MKTPrinter *printer = [[MKTPrinter alloc] init]; + [description addObject:@"However, there were other interactions with this mock (✓ means already verified):"]; + for (MKTInvocation *invocation in invocations) + { + [description addObject:@""]; + [description addObject:[printer printInvocation:invocation]]; + [description addObject:invocation.location.description]; + } +} + +@end + + +MKTInvocation *MKTFindSimilarInvocation(NSArray *invocations, MKTInvocationMatcher *wanted) +{ + NSUInteger index = [invocations indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { + MKTInvocation *inv = obj; + return !inv.verified && inv.invocation.selector == wanted.expected.selector; + }]; + return (index == NSNotFound) ? nil : invocations[index]; +} diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTNumberOfInvocationsChecker.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTNumberOfInvocationsChecker.h new file mode 100644 index 0000000..08dbd60 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTNumberOfInvocationsChecker.h @@ -0,0 +1,22 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTInvocationsChecker.h" + +@class MKTInvocation; +@class MKTInvocationMatcher; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTNumberOfInvocationsChecker : MKTInvocationsChecker + +- (instancetype)init NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithWantedDescription:(NSString *)wantedDescription NS_UNAVAILABLE; +- (nullable NSString *)checkInvocations:(NSArray *)invocations + wanted:(MKTInvocationMatcher *)wanted + wantedCount:(NSUInteger)wantedCount; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTNumberOfInvocationsChecker.m b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTNumberOfInvocationsChecker.m new file mode 100644 index 0000000..26e1e6a --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTNumberOfInvocationsChecker.m @@ -0,0 +1,35 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTNumberOfInvocationsChecker.h" + +#import "MKTInvocationMatcher.h" +#import "MKTMatchingInvocationsFinder.h" + + +@implementation MKTNumberOfInvocationsChecker + +- (instancetype)init +{ + self = [super initWithWantedDescription:@"Wanted"]; + return self; +} + +- (nullable NSString *)checkInvocations:(NSArray *)invocations + wanted:(MKTInvocationMatcher *)wanted + wantedCount:(NSUInteger)wantedCount +{ + [self.invocationsFinder findInvocationsInList:invocations matching:wanted]; + NSUInteger actualCount = self.invocationsFinder.count; + NSString *description; + if (wantedCount > actualCount) + description = [self tooLittleActual:actualCount wantedCount:wantedCount]; + else if (wantedCount == 0 && actualCount > 0) + description = [self neverWantedButActual:actualCount]; + else if (wantedCount < actualCount) + description = [self tooManyActual:actualCount wantedCount:wantedCount]; + [self.invocationsFinder markInvocationsAsVerified]; + return description; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTVerificationData.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTVerificationData.h new file mode 100644 index 0000000..ef53a9a --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTVerificationData.h @@ -0,0 +1,26 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import + +#import "MKTTestLocation.h" + +@class MKTInvocation; +@class MKTInvocationContainer; +@class MKTInvocationMatcher; + + +NS_ASSUME_NONNULL_BEGIN + +@interface MKTVerificationData : NSObject + +@property (nonatomic, copy, readonly) NSArray *invocations; +@property (nonatomic, strong, readonly) MKTInvocationMatcher *wanted; + +- (instancetype)initWithInvocationContainer:(MKTInvocationContainer *)invocationContainer + invocationMatcher:(MKTInvocationMatcher *)wanted NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTVerificationData.m b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTVerificationData.m new file mode 100644 index 0000000..a951fcf --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTVerificationData.m @@ -0,0 +1,35 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import "MKTVerificationData.h" + +#import "MKTInvocationContainer.h" + + +@interface MKTVerificationData () +@property (nonatomic, strong, readonly) MKTInvocationContainer *invocationContainer; +@end + + +@implementation MKTVerificationData + +@dynamic invocations; + +- (instancetype)initWithInvocationContainer:(MKTInvocationContainer *)invocationContainer + invocationMatcher:(MKTInvocationMatcher *)wanted +{ + self = [super init]; + if (self) + { + _invocationContainer = invocationContainer; + _wanted = wanted; + } + return self; +} + +- (NSArray *)invocations +{ + return self.invocationContainer.registeredInvocations; +} + +@end diff --git a/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTVerificationMode.h b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTVerificationMode.h new file mode 100644 index 0000000..74b4290 --- /dev/null +++ b/Example/Pods/OCMockito/Source/OCMockito/Verifying/MKTVerificationMode.h @@ -0,0 +1,22 @@ +// OCMockito by Jon Reid, https://qualitycoding.org/ +// Copyright 2017 Jonathan M. Reid. See LICENSE.txt + +#import +#import "MKTTestLocation.h" + +@class MKTVerificationData; + + +NS_ASSUME_NONNULL_BEGIN + +/*! + * @abstract Allows verifying that certain behavior happened at least once / exact number of times / + * never. + */ +@protocol MKTVerificationMode + +- (void)verifyData:(MKTVerificationData *)data testLocation:(MKTTestLocation)testLocation; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index f146376..02cf87f 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,414 +7,432 @@ objects = { /* Begin PBXBuildFile section */ - 013D950ABC69454E310A069DC169EC8E /* HCIsSame.h in Headers */ = {isa = PBXBuildFile; fileRef = F422BA35C2FA7D0618682A0CD6814578 /* HCIsSame.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0149FA9FBB88BA5927C7DBAE6E0272C1 /* HCConformsToProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = D4BB55D19A0FADF0E98424E459E3312E /* HCConformsToProtocol.m */; }; - 0205D9D1A86C56580718C8062905FC4A /* MKTUnsignedLongReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9563DB1FA35B284407306FF46400360A /* MKTUnsignedLongReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 025A3775FA5001F945F566DC03560AAA /* MKTCharReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EBF4BA2B4BCD2F8835F1F0AE9BD36EF /* MKTCharReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0297F65A94EB62E9735ECEFAFA50FD65 /* MKTVerificationData.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BE0718420E3C9C44CF93718B4EB9FAA /* MKTVerificationData.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0326BE242B3DD135ABD3D8A1CC9540A8 /* HCIsIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 74DF450CF556FE5027A555737809426A /* HCIsIn.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 034B3BA8581AE77BB126AFDB37387304 /* MKTDoubleReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ADD6DD2D169ECFA6F53FC6AA3E3417E /* MKTDoubleReturnSetter.m */; }; - 03B18E0006714F7210E5ADB3589EEC74 /* MKTStubbedInvocationMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DE6FEC69FC815AB27267B7EDB4C7BF8 /* MKTStubbedInvocationMatcher.m */; }; - 0435080233FFD861A266AB43BE3279D3 /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = 4231CCFDF6E74BE8E00A0F74F28FA432 /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 045E77138594FCD0492D74EE7C22AC90 /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 8824E4AE890F5E78949D02B09405C827 /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 00AA7D0EB2742099B9BC87920F0AA8B6 /* HCGenericTestFailureReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D9B33C0C18E3A933FB7303AAE692ACF /* HCGenericTestFailureReporter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 022C8A2548127C088B2E6F2AAE05C2F7 /* HCSubstringMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9246D6CB3156296454776186FF29C8 /* HCSubstringMatcher.m */; }; + 0278F42B0B790F546EC35A8C35E073C9 /* MKTCharReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AF74444131F992D5FB62E142230FA56 /* MKTCharReturnSetter.m */; }; + 03050EDADD65B6B375B33ED2C25B2A35 /* HCIsCollectionContainingInOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = C54578F7312FD1CC8872509CC3DD5F67 /* HCIsCollectionContainingInOrder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 03C157278CFDC97E78BCC9857B40A911 /* MKTLongReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA12AF967E77C65BDF1145D79F58538E /* MKTLongReturnSetter.m */; }; + 03EB5405D91E1E9C63D440DE51C1B5C9 /* MKTStubbedInvocationMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 41A8481E0122B3A2F42519827D6C6095 /* MKTStubbedInvocationMatcher.m */; }; + 0435080233FFD861A266AB43BE3279D3 /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = B7793732EECB50E7F8059EA5B7F2BB89 /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 045E77138594FCD0492D74EE7C22AC90 /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = A2204C600A4D577C4E2D8ECE68906A0B /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 046351CA03F9123F7346E5B9CF921663 /* SKState.m in Sources */ = {isa = PBXBuildFile; fileRef = 839D99425D7AC9F4CE2B842BAFDDFC1A /* SKState.m */; }; - 04C0E7608F10AEE735D39F7312A022B5 /* HCIsDictionaryContaining.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B6FD8225D26F9D829B30C91D2ED1F4D /* HCIsDictionaryContaining.m */; }; - 051F731A371003FE5421066918987D5B /* HCThrowsException.h in Headers */ = {isa = PBXBuildFile; fileRef = 13813E793072E5A871D9A2487BB4F5BC /* HCThrowsException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 055D70CC2553C37474C5CBBD93B603B8 /* HCLongLongReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FA4E0B0AC53037FD5B8DD88895E8944 /* HCLongLongReturnGetter.m */; }; - 0626EF24FC20CA26887BB71C9ADCB8FD /* HCMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 76096D085AC8FEF0352460F0C84DB09F /* HCMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 06788BCF9C72A343DBC4E2E19ABE28A4 /* MKTStructArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = F83998CE6B796D45EED69B9908E1D951 /* MKTStructArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 06AA264C475FA972D3D15CE8AF3ECF4B /* HCUnsignedLongLongReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FB1A64E1FDB06A651F5329B24109676 /* HCUnsignedLongLongReturnGetter.m */; }; - 071558841C69E0D8F3F59D893BC407FC /* HCLongReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = F46CEDB86FAC3566652CD0B41DF19AC5 /* HCLongReturnGetter.m */; }; - 09857B68BE58E8BB0D1C0383E2FF2496 /* HCHasCount.h in Headers */ = {isa = PBXBuildFile; fileRef = EDDDE1A389591518556E7DCF84ED0DA3 /* HCHasCount.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 09C8A2FD2549AAEE480B48CB1228E419 /* HCIsCollectionContainingInAnyOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = 5159F6B314602C0E5BB9C98CB98AB065 /* HCIsCollectionContainingInAnyOrder.m */; }; - 0A196421CF849B1F0B3C309E644EA52A /* MKTUnsignedLongReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = B62E6318ACA7E5BD2E460FA0E1808F06 /* MKTUnsignedLongReturnSetter.m */; }; - 0AE51755775FD82AB93689DD4B2D68A6 /* HCIntReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = B7291C86D4DD374D032CA1185AF733A2 /* HCIntReturnGetter.m */; }; - 0B3330DD885757A45805E83A69E7AFFD /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 47847FA0C4D3E303A52E58A21D87D1CF /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0C339990546C3D8150FBAF2BFFFF4970 /* SPTSharedExampleGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = D54860697493938C0E59418BC1472499 /* SPTSharedExampleGroups.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0CD876A643FA00F42565F0B4CFE5C360 /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = CA172AD45B7860B13217A2636256734D /* Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0D30286481DC5DCBA5E1FA414637811B /* SPTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 619B54D239AACE64F81727379C7F7C3B /* SPTSpec.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0E6FAFA0BF8BCB5593BC79FB2FD89F11 /* HCIsCollectionContainingInAnyOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928C89DBE7F8B27C90F4FD7DE060480 /* HCIsCollectionContainingInAnyOrder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 075EFF9773449A1183431E69CDE388F9 /* HCRunloopRunner.h in Headers */ = {isa = PBXBuildFile; fileRef = CF0ACA59269E5BDF3492813CEE2F36D5 /* HCRunloopRunner.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0775D317659539AF28CD2AF839015E65 /* NSInvocation+OCHamcrest.m in Sources */ = {isa = PBXBuildFile; fileRef = 82900F7AB0AE39E75EE14EB940E96106 /* NSInvocation+OCHamcrest.m */; }; + 0807FC2B0839A6597854038D4CB96B1E /* HCIntReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = AA288D3F85EDC1667CE2F1A5EDC330FD /* HCIntReturnGetter.m */; }; + 080AC417EA133EDC30E99FC4C8F724AD /* OCMockito.h in Headers */ = {isa = PBXBuildFile; fileRef = B11DC3633B144526D63EC00D9E77F3E4 /* OCMockito.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 091C475642698A764E4743D6A1B109F3 /* HCDescribedAs.h in Headers */ = {isa = PBXBuildFile; fileRef = B25A7F005DBDD34A076ECABDA0A1FD48 /* HCDescribedAs.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 095A770DFC6A66FDA4E44D2248AE5A41 /* HCFloatReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = B60A238B888B66EEEC83287C53A78CFA /* HCFloatReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 09A99EC7EF2C612F6B58A01AABBCC6BD /* HCIsDictionaryContaining.m in Sources */ = {isa = PBXBuildFile; fileRef = BE099CDC8613655FCB582D5449E78958 /* HCIsDictionaryContaining.m */; }; + 09FD24E9BA5A82B49DC864204C87A769 /* HCThrowsException.h in Headers */ = {isa = PBXBuildFile; fileRef = E22BE6824F90B29C5473B2A4A664C601 /* HCThrowsException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0AAC05BB3D85C44D7A5B81089066F34D /* MKTObjectReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = C5406202CDD3532FC11AD2766167EEE5 /* MKTObjectReturnSetter.m */; }; + 0B3330DD885757A45805E83A69E7AFFD /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = C0FBE6D27F1BD9E4F480D7E0D7C5F3EF /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0CD876A643FA00F42565F0B4CFE5C360 /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = BAEE9B42A69C76366F91C4FF83E42D29 /* Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0DB70FCB4DEF6F2EA39F5D358B33D2BD /* MKTFilterCallStack.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AF7A4FCE0482D79C57F200A4BDB22AD /* MKTFilterCallStack.m */; }; 0E8E7C035F8969CF3DC93E5490A6158B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */; }; - 0FB44DC4EB6E38D109B37C496C0D8787 /* HCDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 41677BA7F73DB24CAD9DA8BBA47F3356 /* HCDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0FE4C580D709657792E5661E74F171D5 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E5B63521C75C80F951F44AF5D1B3206 /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 10D2E12F379A3B5366E4CD990E8BB842 /* HCGenericTestFailureReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BBCF381D3BD39B1EDEDB3295924802A /* HCGenericTestFailureReporter.m */; }; - 117D43EAB6B60C19EF3BB00671A44E3B /* SPTXCTestReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = F8E8770775ABE7239D16070EBFF51122 /* SPTXCTestReporter.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1180906466F8AEA75342E5343B493FC1 /* HCFloatReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 55834E6C04EB6CD84A31DDC404D89EAF /* HCFloatReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 119C10C9E57E10B254B8B13A06D332F4 /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = CCF5174BE6908F0DB8B6DDB546637DE0 /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11B98D7660EAD3B22A6F8DAFAC8E96F8 /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DBDBB6D3B9C97795D865AF2C819AF6D /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 120A345233C900C50BAD6F3950FAB8FA /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = A814EFD74AF9C722A4E5D5AA689781AA /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 12495CB50A16132851A32C0A290AAE79 /* HCIsSame.m in Sources */ = {isa = PBXBuildFile; fileRef = 624CCA5E947C5D0FD52BC6C63958F661 /* HCIsSame.m */; }; - 12ADCD5E7598997A3486E62E784DB241 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = FDECC6B7570C2CA0ABA68433FA731890 /* EXPMatchers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 13733872599DD9A856898400CF3ADC21 /* MKTAnswer.h in Headers */ = {isa = PBXBuildFile; fileRef = 72EFDF93348455E696735F6E75C6D26D /* MKTAnswer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 13BD70B6647D4E1A95A64BDC80A4B447 /* HCIsCollectionContaining.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E89E82B3E52166A5C5495D0ED02AFA /* HCIsCollectionContaining.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 13C5E4FB740EF56F9C1505B38F265D1C /* MKTObjectMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C02C557A816677D8C976C3D4307AE97 /* MKTObjectMock.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 150709F31704ABDD435169BC8B92579E /* MKTFloatReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 85D391B67742D0C0032A8CDD8F1DDC30 /* MKTFloatReturnSetter.m */; }; - 1543F477D46B5D6ED8E41366616EEA30 /* MKTArgumentCaptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 02C16ADA1A28A7A951FA8F3ADE35812C /* MKTArgumentCaptor.m */; }; - 1737B82B8A20C680F734F78360B43FD2 /* MKTLongLongReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E790C506B06131BB096DE7B127A4FF5 /* MKTLongLongReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 17C2AEC7546AF7BC63666988EE49CD74 /* HCAllOf.h in Headers */ = {isa = PBXBuildFile; fileRef = E59FB09F37430B70B13AEE0461DC53D5 /* HCAllOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 17F397176605936926213907EF84064E /* MKTObjectAndProtocolMock.h in Headers */ = {isa = PBXBuildFile; fileRef = C6FB546044FA7AADF7F688C17E70BFEA /* MKTObjectAndProtocolMock.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 183839A6FF5AAD8A1D6433DAA82040FE /* SpectaUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = B1546FA0C99B9AB164005EC6B81B6CA8 /* SpectaUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 186281208E8068A18D73A3D4D786C292 /* MKTProtocolMock.m in Sources */ = {isa = PBXBuildFile; fileRef = B1F477EB50F0DAB03F0C0182480DC262 /* MKTProtocolMock.m */; }; - 1980447A985AE0F7467CAD85826602CE /* MKTArgumentCaptor.h in Headers */ = {isa = PBXBuildFile; fileRef = ADD13AD30B09CE7AEAF57F681B54FCA0 /* MKTArgumentCaptor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 19CDE56AC4388C284D9A394F64E0530C /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 94806828C7D6A18CB02268617CE1BF38 /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1A5A1AB774ACB4750974C8F90C8AB0A1 /* MKTFloatArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 655CDF166B449E7C52994C9318A4D26D /* MKTFloatArgumentGetter.m */; }; - 1A5F7185E48F31C111A0ABE9F443D890 /* SPTXCTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = C5D7353D48470F053AC8C11F1A72DD9D /* SPTXCTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1B8CDE9675031274F9DE1E390E61DF5A /* SPTXCTestReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2683319EE4C2C265195B05597B538D8A /* SPTXCTestReporter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C74D210067A2D584AA672E61F246ECC /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = 666DB259EDE67769EA04DC67E8C44CB2 /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1D5B90403C0465A1651CC76120C54E42 /* MKTUnsignedIntArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 94101920A0EF944094E99749783470CA /* MKTUnsignedIntArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D622FBC8A4262E6B398F5CCCB1D9650 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = F340F07AB58E0118717FEC2C40A7496F /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1DE13699ACD31EA6EA263C52DD1D0F5A /* HCArgumentCaptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E8B35FB6E3BCAD2E629ADDF1970EE33 /* HCArgumentCaptor.m */; }; - 1DE2CC45DF1C45C5C93AECEF260F3842 /* HCDiagnosingMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = E1C37F0AA85CCA09B04EAB0044B0424B /* HCDiagnosingMatcher.m */; }; - 1E2343F7AE04C5D386CCD455E84F13E0 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = BDA80670AA7AFB870295E7C0BAF846D1 /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 20B9B04BAFDF9D9CECE8056560474BE4 /* MKT_TPDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = A53E70BFA185AFA7CD4FE6B8BD3074BF /* MKT_TPDWeakProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 20BDE665C8B432559163D72DCFA904BF /* HCUnsignedCharReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CD9B6D8A704B7A889429ACA7ADFD182 /* HCUnsignedCharReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 2108307398436EF5D69696C7F6A49FC1 /* HCArgumentCaptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 18521F640691124F36E4A2FC9AFFC9B2 /* HCArgumentCaptor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 215D2572AE45DA5768BE7FFF156E1683 /* HCAssertThat.m in Sources */ = {isa = PBXBuildFile; fileRef = 18998CA0AF56E347147B3063711C7FE3 /* HCAssertThat.m */; }; - 222CCD1BC38B44A8B4480A0531718CEF /* MKTProtocolMock.h in Headers */ = {isa = PBXBuildFile; fileRef = BBA448D184A748E9A7B609278D5093A0 /* MKTProtocolMock.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 22A75ABA77C0A4E68DCDD6602241418E /* MKTTestLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 34491F91ADF697CA1400714C9083ACA1 /* MKTTestLocation.m */; }; - 23763EE9BAF38C94FEB2358E532D8AAE /* MKTCharArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8230BAE7230FA744B8E57CF4E34EE02B /* MKTCharArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 238F797DBAB9DD45949E4E6502A619C9 /* MKTBoolArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 15E7D433F20C3BE241BF2DE69C319998 /* MKTBoolArgumentGetter.m */; }; - 24FF4A3B66A2F383BA14790790108406 /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D0B1328A685089B331ACBF9330AD34E /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2523657BEE249A532CDFD495AC911F39 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 655FC3508047B8DA8324C676D170A8D1 /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25FCAEC06C3BC79DBA8C0AD1D4ECF96C /* HCDiagnosingMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 79AD96AF7E7A88B008780B2DD1EE238D /* HCDiagnosingMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 288030C77AC2228E92D8E6999102135D /* XCTestLog+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 71AA722352CAFFD5E8B58CF44FEEADEF /* XCTestLog+Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 28BC58EE3C7374C4C2DEF6D029011C84 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F961857FC7C977E3E8488F1A4BFF332 /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 29A9A3BA162A945AF9ADD9B62F5F520D /* MKTUnsignedShortReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B174E7C4B4818F61BE4280E5BFE1E02 /* MKTUnsignedShortReturnSetter.m */; }; - 2A1E070BFA7F05FA5DA564173479D805 /* NSInvocation+OCHamcrest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F4BC67386DE889F6FFBE1890A4DF08A /* NSInvocation+OCHamcrest.m */; }; - 2ABE08716F3CF0C49EF8B920A85AF7AB /* HCIsTypeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D131FF9D02AB375385E8AF3B4CC792C /* HCIsTypeOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2AE61B0499A8C484939FBB402E5CD9A7 /* MKTUnsignedShortArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FD0BDAA8DE7BCDFB450A15A6EEF2D60 /* MKTUnsignedShortArgumentGetter.m */; }; - 2C278947B1E8AD3EAF3A9D473FF407A8 /* HCIsEqual.m in Sources */ = {isa = PBXBuildFile; fileRef = C1743D8DB97D03D975FEB289900CC32D /* HCIsEqual.m */; }; - 2C944499E3BB44E17E10959A76BBAEA3 /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C68E0F73F5DB906EC5530917A4230F4 /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2D5D19B810792556A593D4CEA989A5D7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */; }; - 2EBD0AB5234AAB1657F90C6CD207D326 /* MKTBaseMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 54BB2FE1C30942109B9F71E3631E1FFA /* MKTBaseMockObject.m */; }; - 2F9DAE2B0F1FD042B8C4AC15DFFBB5E8 /* MKTCapturingMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 85BDB075FEB19FE2384DAEF16AA88734 /* MKTCapturingMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 31D27BF6DE823F040465EEC46431E22E /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = F20AB58B4E95CF3087D969CECC5827BF /* EXPExpect.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 32247A02121024BC41D7BE123D847A18 /* MKTMockitoCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 207771309784E981A5CEB0EBFCEAC269 /* MKTMockitoCore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 32283841EFA664B6E208777FB3AA6870 /* HCIs.m in Sources */ = {isa = PBXBuildFile; fileRef = 319D2AE1F42455512E41E068EB379486 /* HCIs.m */; }; - 3303A20E37B98D0FA5658CFFB4A30418 /* Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = DA1894AB4F22FCDF20B6D1C3AD08C91B /* Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3379F2A6C16E9E16BF7C888034FEFF92 /* Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0C5B042AE2F9D86F1A621FC4097964 /* Specta.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 341343AD4189D082BFF023D70AE88A15 /* HCShortReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 950AF2DEFE02CAC21D8FD65414B22D88 /* HCShortReturnGetter.m */; }; - 355288B2F400DE5A40204B02579DF85F /* MKTReturnsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1A4B57DA374A66FA2DFA6AA15BCC47 /* MKTReturnsValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 35FCFDB6C8AF7B7C0E03D133EFEAB8C6 /* HCStringContainsInOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 91BCBC56D0939F6A43D5A0CD692AF04A /* HCStringContainsInOrder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3605D18AF8658B1A38611FACB7BF5EB7 /* HCIsCollectionContainingInOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = FBDF76AB3DE2D1D0DBA46DE166DABFA8 /* HCIsCollectionContainingInOrder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 382574D3188460C94932CF2838C62534 /* MKTUnsignedLongArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A7B3976F5300B3AD8E5B4E496D6D462 /* MKTUnsignedLongArgumentGetter.m */; }; - 3878C7F079A2662F939BD02DBF5C55F6 /* MKTBlockArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C0CE14AE72CC995493C5C1ED2B1D295 /* MKTBlockArgumentGetter.m */; }; - 388E823CCC7E7B8810DB589E445F099E /* HCIsNil.m in Sources */ = {isa = PBXBuildFile; fileRef = A5AEF5158E2D9D1274C89FE94E208B1A /* HCIsNil.m */; }; - 391226D83570CA724B533A2C609A5EF5 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AD87792E97D8A89F74DF6FC148D8652 /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 3AB07B3F368BA47EC51B4FD906C1B8BD /* MKTObjectReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 783186A8B9280E3462BAEB7D74D36966 /* MKTObjectReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3B0906A35D412F9F22652EF023E2A41C /* HCUnsignedShortReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 95A463AAE5CD715A65A8268AEC15CCEA /* HCUnsignedShortReturnGetter.m */; }; - 3B5DF103D25364FDE61B84B2FE0EF2D3 /* MKTUnsignedCharReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A455F9880A3783ACEE78916141D472E /* MKTUnsignedCharReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3BC40EEF9F51052BAF6744F3B00CEC76 /* Specta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A43CA49A3A6118E235ACCAC2B99F85D2 /* Specta-dummy.m */; }; - 3D98A208E31AC69B36F0FF801C58A2F0 /* HCTestFailureReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = C425AE0AB170743CDB8BCF7CEEA7846F /* HCTestFailureReporter.m */; }; - 3DE81B903D7D9C60B8C5782FD65B8B8B /* HCSenTestFailureReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = F71504AA878F473392ACE4CF5ECBF72C /* HCSenTestFailureReporter.m */; }; - 3EA41D826DB80006915F0EE70E1B93E9 /* MKTPrimitiveArgumentMatching.h in Headers */ = {isa = PBXBuildFile; fileRef = B216405B3FD70F1E2D82D661C5D34619 /* MKTPrimitiveArgumentMatching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3F24E7E485B727BDADC90800D2ACBF56 /* HCUnsignedLongReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = B236629297DE89C247D638C8436A0793 /* HCUnsignedLongReturnGetter.m */; }; - 3F5B56FCB6D1E49405FCA08B0CEF7FC6 /* MKTInvocationMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 28190A025BCB52E3FC9B71EA23631485 /* MKTInvocationMatcher.m */; }; - 3FD4C62FC32E5D97BEC1C7D14B5CA4F8 /* HCTestFailure.m in Sources */ = {isa = PBXBuildFile; fileRef = E27455F8B137A7EB0AC7BF0FB378FA02 /* HCTestFailure.m */; }; - 3FFBC20D4BB925783D248905978D505F /* HCIsTrueFalse.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B3EC2AF0D59E7B69DB191633F0C2920 /* HCIsTrueFalse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 433B19BE8427C686B2427F283B12CC6B /* HCStringDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = FA9D3684E33ACA8A5476D2D4FBCD8B82 /* HCStringDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4360FEF0B59FBA524522FBD031EBB7A9 /* MKTObjectAndProtocolMock.m in Sources */ = {isa = PBXBuildFile; fileRef = 83010E4A88C4F81F9DBB24FC89062F2B /* MKTObjectAndProtocolMock.m */; }; - 47BF5505141B2C8B1C0091B4BD77423A /* MKTBoolReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = C8AF3621F16225EF11A25881D7952786 /* MKTBoolReturnSetter.m */; }; - 47E018E82EA7801C93BE8D632FBAA3EC /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = D5EAD35ACB0EDE176FB23CC4D690D7EE /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 47F5B188C818E01CA84750B75754D10C /* HCIsCollectionContaining.m in Sources */ = {isa = PBXBuildFile; fileRef = B1CCDC06AF8F0EBD3175581495EA6A80 /* HCIsCollectionContaining.m */; }; - 4943F7D828D56A874ACCA7AC312F863B /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = C89F9F10D76F9D6F343F7E02F271D3A1 /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4A60F1B56BB92CECAF44C837A5DE71F6 /* HCIsTrueFalse.m in Sources */ = {isa = PBXBuildFile; fileRef = E02B6B763B5C3865777C2201A4123DFC /* HCIsTrueFalse.m */; }; - 4B223A1D395F8F8BD8AEE5BA88EADB69 /* HCBaseMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F93B04F728B878686992C841AB30542 /* HCBaseMatcher.m */; }; - 4B76A75E1FA371E7EF6C821CD52514A1 /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = 6551C3CE2303F12C0BBB5469728B4FBE /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F3E6BB237F85A096F5BE93730D741EA /* HCCharReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 0600D6500A6788E2CEBE90DC10F589B2 /* HCCharReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0F83944F720385C478D3EC37284BA221 /* HCAllOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C4F003AD6982B432456E7A8CAFA4C55 /* HCAllOf.m */; }; + 0FB2457F5026B8EC290CDBEF556F614E /* MKTClassArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = E279B95E3F041167BC33743E9FE53E6E /* MKTClassArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0FDB1B2AACE8264BFA74D7E6E8913948 /* MKTAtMostTimes.m in Sources */ = {isa = PBXBuildFile; fileRef = 23F44FAC079BC79ED94D512FA646FAF9 /* MKTAtMostTimes.m */; }; + 0FE4C580D709657792E5661E74F171D5 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = 24DCE11F1444FE164F7636E7E94CEED9 /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 108213B1CDDB7C2ED74E22CE81FAFE01 /* HCIsTypeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 039068B2A2FB07EB2304AB87D9A609CF /* HCIsTypeOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 119C10C9E57E10B254B8B13A06D332F4 /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = A7E9CCA7689B000C4D2B0A1AF427E354 /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 11B98D7660EAD3B22A6F8DAFAC8E96F8 /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 44238DCE66F7A5ED03B2D25481C9E888 /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 120A345233C900C50BAD6F3950FAB8FA /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E1E4974BF011D5EBC33076BB46EBC3 /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1245C4D57482B44BE12433298BAAB281 /* MKTReturnValueSetterChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 033DEB17C6F3E7FC7577C2FBB04E3C7F /* MKTReturnValueSetterChain.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 12ADCD5E7598997A3486E62E784DB241 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFC8EBF9D8A0F70517AE19AF21D98ED /* EXPMatchers.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 12C941DED138C0D3CB7E7670AD276234 /* XCTestCase+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4FBEC70A2CDE3127CB51DBDE405999 /* XCTestCase+Specta.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 151FCD844C5355BE927C266D30CCC145 /* HCLongReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 021A6A2992091C2A3BD3AD2D2CE39220 /* HCLongReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 160A201ADE809A67502F84B2A0220087 /* HCHasCount.h in Headers */ = {isa = PBXBuildFile; fileRef = DC3871F64574BB8AB3841CB2B32A9F0B /* HCHasCount.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 16BE733E6A4DCF6C7BAFD2716A3331EF /* MKTUnsignedShortReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = FAAFE5AB9ED9719FC036280DD49A66AE /* MKTUnsignedShortReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 173F3697723C1BD59BDCB6080575283E /* MKTMockingProgress.m in Sources */ = {isa = PBXBuildFile; fileRef = 671623F961A6DC5DB2D33430F815744D /* MKTMockingProgress.m */; }; + 17E3EE875B4E361BE6C405971FEA7D22 /* MKTObjectAndProtocolMock.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D14FF75C93E5D5C06246C7B6CD9C8DE /* MKTObjectAndProtocolMock.m */; }; + 181CECBD0C564EB943377CE91D66F1EF /* HCAssertThat.m in Sources */ = {isa = PBXBuildFile; fileRef = 84E0532DBB5F35F60F6C651977473DEB /* HCAssertThat.m */; }; + 18A8C0319EC2067521169BC7EEF72486 /* MKTUnsignedLongArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CE25D27209D6CED252FCF1BEAE0DC78 /* MKTUnsignedLongArgumentGetter.m */; }; + 194B291FE419A420742EC471E87ADFF5 /* MKTOngoingStubbing.m in Sources */ = {isa = PBXBuildFile; fileRef = 6626CF8267E003A1CC7B2AC98AD476D1 /* MKTOngoingStubbing.m */; }; + 19CDE56AC4388C284D9A394F64E0530C /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EA090B333C423AA0AB6A4E8DBF8E22F /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1AC1306A5A5B5CBF8828F8455FE34488 /* MKTClassObjectMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DAE6FCDD95EBEDD8F197110E39770FB /* MKTClassObjectMock.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C74D210067A2D584AA672E61F246ECC /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = D12EF2304802F722432B7135401FB11E /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1CE698BD9517A82271F8E303709D6DB7 /* MKTInvocation.h in Headers */ = {isa = PBXBuildFile; fileRef = A3FAF83B71D3236876D56328025F67E6 /* MKTInvocation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1D00C8552464CD2F5582CBA5FFFCBFF4 /* MKTUnsignedShortArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = DE73428ADBCCBAADAE9E41AB2DFE3CAA /* MKTUnsignedShortArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1D4ABBB14B5A787423B5F23D03656630 /* HCXCTestFailureReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 50AA06B268440EA13984DDE2DF7879C8 /* HCXCTestFailureReporter.m */; }; + 1D622FBC8A4262E6B398F5CCCB1D9650 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D01FD17E349CDF5DD35D92ED6F1AABA /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1D76E5FE5FE2543913DA132DC3199789 /* HCLongReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 6810A3203ADD7DA125EB6F3F33997309 /* HCLongReturnGetter.m */; }; + 1E2343F7AE04C5D386CCD455E84F13E0 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = 78C6AE5105D173E4A67E4A209E593349 /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1F6507C4DC7B9BC5DDD223229C3995B3 /* HCIsAnything.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E4E6BDC3EA946DDDE4E9BA9E1950D1F /* HCIsAnything.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2044B455DE30C74DAA69C9C16E987362 /* MKTAnswer.h in Headers */ = {isa = PBXBuildFile; fileRef = E3EEE89324B1936C55C6B32C158C4EC3 /* MKTAnswer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 20625B3887946658AE7D4CD9B39611E0 /* OCMockito-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08C78C651A61B4E47870A4803A225D5A /* OCMockito-dummy.m */; }; + 21397D2A0C3686174D1E31B404101125 /* HCDoubleReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = B8E8A0530FAE0E643915348F66C9A535 /* HCDoubleReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 21E3C5DB6A5B227A52DFD172602A6DAA /* HCUnsignedShortReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 959216BE440257AA4B0E0F01A1170D6B /* HCUnsignedShortReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 223BC59835B423D6C9775D6BAC89CF6B /* MKTStructArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 98F68277250B05BBA07E03F9BC964F40 /* MKTStructArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22667E8CDAEDCEF418400920AB8992C5 /* HCUnsignedShortReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 03B8690E7D5AC2B5F8412204A4F61541 /* HCUnsignedShortReturnGetter.m */; }; + 22B702A6BCC9F0FAC7A7D9DF8A5650F5 /* HCBaseMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 236D933A3D41A2D0F17D3AF2229D9DB0 /* HCBaseMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2303ECCE688EBFF6FB5F2B72E450C341 /* SpectaUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = CE796185FEBC10E5FB66F5F0DEC0A167 /* SpectaUtility.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2323361559597C890C2A947113D07390 /* MKTClassObjectMock.m in Sources */ = {isa = PBXBuildFile; fileRef = CB50BA8FDA6CB675FB3EA91735635A82 /* MKTClassObjectMock.m */; }; + 2378B551E8CB22EB7C1D27C628B1F018 /* HCGenericTestFailureReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F04EF7F18A8B6D3048CF9FCDA69DC8 /* HCGenericTestFailureReporter.m */; }; + 2417816E6CEA2B0E4FC99AE41640242F /* HCMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B0C0525F0784A19458F6264FBA0291 /* HCMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2438083BA15325FEC5B73403B08F7E90 /* MKTLongLongReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8946E73EF4D9294B8E4E536397259BA4 /* MKTLongLongReturnSetter.m */; }; + 24D8D465D3F46E17B5554024A35D5CFD /* MKTObjectMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 8298A77B58C031A015DC6F98279C2612 /* MKTObjectMock.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 24FF4A3B66A2F383BA14790790108406 /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = F7B7B6C10FFD125D64D6DFC5A0B49A84 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 251FD1FD71FB1E3F3A634F1C82EF5EE3 /* MKTUnsignedLongArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 245AECD3605025B21E525039D3281867 /* MKTUnsignedLongArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2523657BEE249A532CDFD495AC911F39 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E36713283607648FC1824CD92FA5196 /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 2823804B2264CBF5A5AF4A4D1BE1397C /* MKTThrowsException.h in Headers */ = {isa = PBXBuildFile; fileRef = FB3A9509D9B11191217989DA0D5D7A60 /* MKTThrowsException.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 28BC58EE3C7374C4C2DEF6D029011C84 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F002343DBCC5F70F849975AC7955A7 /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 29C3B039BCEA5B785111ABEE29AD8A93 /* MKTLongLongReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = D1E48732F71F9D0F05471121FE7A8FD7 /* MKTLongLongReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2B393C8CC5F0368429F2E9AF02690E65 /* HCIsEqualIgnoringCase.m in Sources */ = {isa = PBXBuildFile; fileRef = B061A45FD582ECE2D73F023B797B3754 /* HCIsEqualIgnoringCase.m */; }; + 2B4EEB147A4C78FB0096AA0AF6DAE4C4 /* MKTIntArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 434471BB422F9D894102B6BAB7462992 /* MKTIntArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2C944499E3BB44E17E10959A76BBAEA3 /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1E3837B8D402A0A44FEBCE45F8CC83 /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 2D5B32F39302D3FF389F3AEEDEFEB862 /* NSInvocation+OCMockito.m in Sources */ = {isa = PBXBuildFile; fileRef = B2074E90B2D672EA5C77C1F796D4E2A9 /* NSInvocation+OCMockito.m */; }; + 2E72918C98918609F85844E32901560D /* HCIsEqual.h in Headers */ = {isa = PBXBuildFile; fileRef = 17D2C3A3258402B4EEF17967EE5CF135 /* HCIsEqual.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2ED2429D4C1E956B0B70E7F0C69A5351 /* MKTReturnValueSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 5311558C0D814B689D5FA9457CA4C4FD /* MKTReturnValueSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2ED63220C96024BA69C74C9F6711F948 /* HCIsCollectionContaining.m in Sources */ = {isa = PBXBuildFile; fileRef = 88CA37DB4FDB899FC9C78043BB0EC52D /* HCIsCollectionContaining.m */; }; + 2F3A58D7C76DBFAD140CD6810510C79C /* MKTSelectorArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B091EDE67033974F32F731E4312B0F6 /* MKTSelectorArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2F8EFA2BB04F32CBA5D65DD22347B7F2 /* HCConformsToProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 621ABF48C6D2FF29EC32758968150FFC /* HCConformsToProtocol.m */; }; + 3005288A96890D8DA44AE8082F8B144D /* HCIsDictionaryContainingEntries.m in Sources */ = {isa = PBXBuildFile; fileRef = C034810A12BFD9F2CA404F1748C63F45 /* HCIsDictionaryContainingEntries.m */; }; + 30AC8352FE6DC9288EEA2843BD47F50B /* HCTestFailureReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = F767CCDF132D9AB50E32B92345A95F77 /* HCTestFailureReporter.m */; }; + 31D27BF6DE823F040465EEC46431E22E /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 26FF871910CBB4E7285615AB83BA8A23 /* EXPExpect.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 33235D2F09842AE7CE5D95BCF6CABE1A /* MKTStubbedInvocationMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 89C4B0296C18885E86407F3920B1C54D /* MKTStubbedInvocationMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 33EA9C6BB2A76E3A6B90733314DED60D /* MKTReturnsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 927F3E50DC9C67DEECFCA49E4E81BB0B /* MKTReturnsValue.m */; }; + 33FCB4D66747E80E5E7D4960139BBA3A /* HCUnsignedLongLongReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FB13CCF40DF9DAD5D4ED3BC58B7744A /* HCUnsignedLongLongReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 34D94EF9C0F388973DA7E3888176BC5A /* HCDescribedAs.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DCB011BDA1D7EA8828670E2EF44BDEF /* HCDescribedAs.m */; }; + 35355C6BC7F2B2239A6F39E925B2170F /* HCStringContains.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E55E15DEFDEE9E2C3A78255C517A392 /* HCStringContains.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 363759DABD0ACEB3E228E8ACDF45EBEC /* MKTClassReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A11810D06B2191F54833025BF474A6 /* MKTClassReturnSetter.m */; }; + 3748D78487C75A8F801171ED0FC36D82 /* HCIsDictionaryContaining.h in Headers */ = {isa = PBXBuildFile; fileRef = 525EF3F64E1273F7DEA14690E2929C48 /* HCIsDictionaryContaining.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 37A5ACBC4C7D2DE4F22793ACC4A18ABC /* HCObjectReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = CA83A2EE23D5E7E814F2CF66D9021748 /* HCObjectReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 3847F748DDA107CA469327F9B559B033 /* HCIsEmptyCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = D75F3EC7F16F870FC2B697C6C8DDCA8D /* HCIsEmptyCollection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3889D3FBBB796A2306E6D3AA97F2562D /* MKTStructArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = ABF53BFD38D052E7653170C97BD88BDE /* MKTStructArgumentGetter.m */; }; + 391226D83570CA724B533A2C609A5EF5 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F180A93175D68E58D8BD58F460141EA /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 3A142557B03173530274D3F493AD0CDB /* MKTExactTimes.m in Sources */ = {isa = PBXBuildFile; fileRef = 044BE8C42729C7B31D6E8AA7DFABB451 /* MKTExactTimes.m */; }; + 3A3BC20A2B71BB48F16CEAC8C635D7E7 /* HCInvocationMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = F17FFEC4D68938C90C2FDFF0259A2B99 /* HCInvocationMatcher.m */; }; + 3C26E9D180D59C3C712495E0A45505CC /* HCUnsignedLongReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 342630CC7BB7DA4C907DED53972C6FDD /* HCUnsignedLongReturnGetter.m */; }; + 3CD6B8A5A955A1A5C4802B9DB4C0CC66 /* MKTPrinter.m in Sources */ = {isa = PBXBuildFile; fileRef = 72F2C5A8AC3FA563610D029895CF007A /* MKTPrinter.m */; }; + 3D42ED3C183ACB1F5B0DA249E289E119 /* MKTUnsignedIntArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 28B57ADF2B43CA1646FB66299F24A518 /* MKTUnsignedIntArgumentGetter.m */; }; + 3F3AAE1AD49896E92B4A30B742DE47EC /* MKTUnsignedShortReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 06A74F4DAD2FA1174A75F1FB62700FE0 /* MKTUnsignedShortReturnSetter.m */; }; + 3FA6F90D2C62D8C0AF6A3BBA340A9197 /* HCTestFailureReporterChain.m in Sources */ = {isa = PBXBuildFile; fileRef = 39C8501504A4BE25374646ED368A2A06 /* HCTestFailureReporterChain.m */; }; + 40433F794DBDEEF942DBAEC3A7F2F57A /* HCCharReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 2110B9DF82A6D81D77E6FE2582E7BB99 /* HCCharReturnGetter.m */; }; + 408AFA556B21B2A1A11E16D58E9B8A6B /* MKTTestLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E3F497A18C55A2BBB8AE9C334BB1FE9 /* MKTTestLocation.m */; }; + 443EEEBB90045FCD73E535D82166CD13 /* NSInvocation+OCHamcrest.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FF1FCD356ED42678566D5661C73B5F9 /* NSInvocation+OCHamcrest.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 44AA0A0750382444C4C1EE22726336A5 /* OCHamcrest.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AC00FDECFA6FB81525DF5D4A5D5C574 /* OCHamcrest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4535832C043596AA0E10D258599E33B7 /* MKTObjectArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 62DD284F5FEAE3CEDEB9DCC3D4EADEFE /* MKTObjectArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 46367F26A7CBF5CC4699974773EDB7FE /* MKTCallStackElement.m in Sources */ = {isa = PBXBuildFile; fileRef = F698BBE59AB7F3C948D27130AA5CCB6F /* MKTCallStackElement.m */; }; + 4677E0547846CC3D5E88F903DE6D54CE /* HCIsEqualIgnoringCase.h in Headers */ = {isa = PBXBuildFile; fileRef = C7B1DC3A84D9D9ABDB440CA0B5251554 /* HCIsEqualIgnoringCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 47A2E3165BF76837F04BBD4713851AD2 /* MKTStructReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 318583D5AB71B2F1AFBDFE2412E0DD09 /* MKTStructReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 47E018E82EA7801C93BE8D632FBAA3EC /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 62B91AE9656FF122302CDE54ADF9FA05 /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 47EDDF1EF95DA89733628C7724DC38D6 /* MKTShortReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5577A55CD46A209B76BE3BA3D9092E17 /* MKTShortReturnSetter.m */; }; + 482600958B3CD00E7FA6CEF381A18E2F /* HCIsCollectionContainingInAnyOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = F70844E1661EA549A5BB660053917E73 /* HCIsCollectionContainingInAnyOrder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4943F7D828D56A874ACCA7AC312F863B /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 41E3734E5128CE0E14AD0057E08F7D14 /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 49D520A46A91B21C09F3DCD86D36EDDC /* MKTLongArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D5ECB28AAE9F3F42AA186BA1F8331B3 /* MKTLongArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4AA0C7E4B397DB361156857013980A13 /* MKTAtLeastTimes.m in Sources */ = {isa = PBXBuildFile; fileRef = 049C4D57CE4BC1E0E972C5CF44EF0D15 /* MKTAtLeastTimes.m */; }; + 4AA4DB1E5F810AD0209C8EA2C05BCB2E /* HCRequireNonNilObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 940B504634E7136A9358E55F5C439630 /* HCRequireNonNilObject.m */; }; + 4AC351662F3BFEE026DD465BE2D9A707 /* MKTFloatReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = B570D9E814654D33881F17A562253655 /* MKTFloatReturnSetter.m */; }; + 4ACDADDA79A9F76EFD3B153531DCE472 /* MKTExactTimes.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A58B875C595A89B340DEC7885F7C9EA /* MKTExactTimes.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4B15464728C5BF64ED59A92E0A9FD7CD /* HCUnsignedLongLongReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = B55D0611F48A538D80EEFA75CC385C71 /* HCUnsignedLongLongReturnGetter.m */; }; + 4B76A75E1FA371E7EF6C821CD52514A1 /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = 74721BF0C1E68DF8F1E89659A1B237CB /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4BC99ACA2AE69A5CA398D1977B173449 /* NSMutableArray+Queue.h in Headers */ = {isa = PBXBuildFile; fileRef = F0BECC0F58C0400CD51CD45DC53544AB /* NSMutableArray+Queue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4C2D57EF131B9A1AA1A65F36DA717BC7 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 193B573EE23A1CE4CC314D108AFFA61E /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4BD9410259C54FF7153913C45999C9AA /* SPTSharedExampleGroups.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C0E4A0FDF3A74B247DA308F6CD736E2 /* SPTSharedExampleGroups.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4C2D57EF131B9A1AA1A65F36DA717BC7 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = D11FA224DD7DB32F63074221521EBCEA /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4C4E6C25149A4F7A56104A9E7D627276 /* MKTDynamicProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DC05E870F0F14714079FCCC019E0C0B /* MKTDynamicProperties.m */; }; 4C5AAD17B94CA877EDE32A2C5A81ACD0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */; }; - 4C65F74714F13C2C9091FA2FA513BE56 /* MKTBoolReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C487E2E03C2157319313F7101297114 /* MKTBoolReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C9B4CA569103417814AD280A5931280 /* MKTArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EE720C18700EAFE4148945A092B252A /* MKTArgumentGetter.m */; }; - 4D34ECB0AECAAC34955BC6BF89875FEC /* MKTArgumentGetterChain.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF167E0C6D179DC4A4B7163B781BD74 /* MKTArgumentGetterChain.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4E89738B989CA5A6018187E52FE0E216 /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = E818A9B09808E1E04BB2EB9A896DC7C4 /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4EB308BF802E6F21BABDA8B8718CC7AB /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = CF70DC118253ABDD9E11866426A7BC02 /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4FE0FA38EA4BC9922DB982A2FB4B504A /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 18CB16E4AFD4C0D574253CEBD2F24C35 /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 506B2DD25574940135369D80BCB3A0B8 /* HCStringStartsWith.m in Sources */ = {isa = PBXBuildFile; fileRef = A6E2DB64A16A8384E7532E4C12914F50 /* HCStringStartsWith.m */; }; - 51C76E3A57E8425F7CEF10CEDC13B3DE /* HCCharReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E705C0BBB9B8385CEB1EB9FD78CCFCE /* HCCharReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 52690F1A292D042F295B81B704B96E30 /* MKTBaseMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = FECB5232DC4F7B2D05F12FA3F0FA2171 /* MKTBaseMockObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 52C9C7F760B7B304A8F155694E0291C4 /* MKTStructArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 559BC6093AD615E517DAFD1F1631628F /* MKTStructArgumentGetter.m */; }; - 54C81184038A7B06FEE845F56E27E245 /* HCIsCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 284C6128A6B06E49DBC0ECC11FABE5BA /* HCIsCloseTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 553DAD63F2D2917EBF45E17E5444D3D6 /* SpectaTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A1E48A88BDB065EEA01E9BD070D9B387 /* SpectaTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4D4B917C68C02C18A38CE9B758D9722A /* HCIsNil.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C093F59972D8B6849A9E8F54ED39B02 /* HCIsNil.m */; }; + 4D7B10C8711C0B4F1560DE6FEC88FC19 /* SPTCompiledExample.m in Sources */ = {isa = PBXBuildFile; fileRef = F03924E8AB3C021B0C53092978F5E340 /* SPTCompiledExample.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4E89738B989CA5A6018187E52FE0E216 /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = CEFAA99D1D882BFFE5FEEC20320027CC /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4EB308BF802E6F21BABDA8B8718CC7AB /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = 75504B8036E05F261A8E9E19652D6999 /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4FE0FA38EA4BC9922DB982A2FB4B504A /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = C87E985AA98AB940719A78A581F91129 /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 504636D1F52ED3CC094405EAB70EBF60 /* HCIsSame.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D13C5AF902EF6E8F50661F86E06177 /* HCIsSame.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 507AC12FFE5539EDA8B70F7C4337B6DC /* MKTInvocationContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C6B67A81AA35BBC01805D77D310B3D8 /* MKTInvocationContainer.m */; }; + 50E28311ECD0CCD8FE9F0C76E159424D /* HCCollect.m in Sources */ = {isa = PBXBuildFile; fileRef = F2D61A3F0CF8B8F3E76A143549FDD844 /* HCCollect.m */; }; + 50F34472DEA3B761915E4F16C5CF597A /* HCStringEndsWith.h in Headers */ = {isa = PBXBuildFile; fileRef = AE8A60783B97E60C37BD151E1415F8F8 /* HCStringEndsWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 51A595A0D747550023DDDC52FCFFDD34 /* HCIs.h in Headers */ = {isa = PBXBuildFile; fileRef = D7B1EA0547A94C995E55AD99659BE917 /* HCIs.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 51FA7BAD3C0E44819E4319924D267454 /* MKTFloatReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 76752574FEA558FB722DB28ABDA9928C /* MKTFloatReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 520B56F656E117BCF622C1F0348C54C0 /* HCIsDictionaryContainingValue.h in Headers */ = {isa = PBXBuildFile; fileRef = A8037A17E3F7500F11DE30D3A7A0A5BC /* HCIsDictionaryContainingValue.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5235E7745BE9DD653609F8D0D4E47FE1 /* MKTAtMostNumberOfInvocationsChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = A31AE36980DC83B4C15B6BD2DE5D51F1 /* MKTAtMostNumberOfInvocationsChecker.m */; }; + 523D204877C540D4AD0BB27557F2542B /* HCArgumentCaptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 0573A6D7E81142CA8A46EB687AC7E2FF /* HCArgumentCaptor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5248B64EBD68E46C2B7249A880BC5CF1 /* HCDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E3DA59175747B508257C97EDD01F807 /* HCDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 52F1A4E78E7D6B828B2F64B1A1B2F630 /* HCIsEqual.m in Sources */ = {isa = PBXBuildFile; fileRef = 68B39EB840550D6DF86085016947CCDA /* HCIsEqual.m */; }; + 5439B3FC5273FEC2F95B5F94953CEB95 /* HCIsTypeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CBD7FCF0C2FFEC4E5A243F13EE49319 /* HCIsTypeOf.m */; }; + 54E74AC66DD39B2EF5BE98B277984731 /* MKTUnsignedIntReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A3133A683CFF52EC2A59035495FB0C3 /* MKTUnsignedIntReturnSetter.m */; }; + 55432A254A78A7CAE592BE1B9E0619BA /* SPTSharedExampleGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = A2B3CE3B200130325B0833F608C34231 /* SPTSharedExampleGroups.h */; settings = {ATTRIBUTES = (Public, ); }; }; 55BAE4EF1430379657364597E14E647C /* SKStateChart.h in Headers */ = {isa = PBXBuildFile; fileRef = BEE530B6997DD6366FDE00E5851C612A /* SKStateChart.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 572F777F89B52BA577531B5D7B365AA6 /* MKTCharReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF45D8BC838C2FFF1F52217B20707FC /* MKTCharReturnSetter.m */; }; - 57D16D5D993D84135BBAC9957B205318 /* MKTMockingProgress.m in Sources */ = {isa = PBXBuildFile; fileRef = 46D2FEBC5B420D360F45A61E478D52CD /* MKTMockingProgress.m */; }; - 582A8E5B6CEA1AE41A34E6A4875963AB /* MKTThrowsException.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DE0B0C8C0474EE07C5CF2F84989B87B /* MKTThrowsException.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 58E38027B0A4F6CA7BE54F0AE8D4885B /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B815BD0A796155792A38F99CE841432 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 58E5020F90CB5095C0A75F816F45FA3B /* HCHasDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 50620FD1879845FDFBC84C46CB95F002 /* HCHasDescription.m */; }; - 59A1CCFAF5500123A9540CDF541BA9CD /* MKTUnsignedLongArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B834F14384CBD7F208BC2B47F7E629B /* MKTUnsignedLongArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5A8454C25C8C5110031466515A36225A /* HCCharReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E875842A05E20CFB26C58D2986BE958 /* HCCharReturnGetter.m */; }; - 5A91F61067E13EF962A54009E5D19B2B /* HCIsNot.m in Sources */ = {isa = PBXBuildFile; fileRef = FD4E7B51CD1C48D7BBF4CD8433A94537 /* HCIsNot.m */; }; - 5B0CCEED167FF77F0D050660DD60398F /* HCBaseMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A49916CA2B22ADFD305DEA3724F12E4 /* HCBaseMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5B2F4EF1E90D74991BFF796269CD4159 /* MKTObjectArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F8FB70AD147D8DA84040257F7E443BD /* MKTObjectArgumentGetter.m */; }; - 5BCC8F57344B6E0482BF89E039644231 /* HCConformsToProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 838AD3B5562EAC9691E465AFB5E8346A /* HCConformsToProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5C18F7BF949F6B1D32DFC1C48A5D4E2A /* HCCollect.h in Headers */ = {isa = PBXBuildFile; fileRef = E0463EEF39935F9BE87760B627753992 /* HCCollect.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5C569F02DD6FBF9A04224EF036AD1579 /* HCClassMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = F7F9C7BBEEB7060F155DC06D6C68618F /* HCClassMatcher.m */; }; - 5C82FB8BE0820DE4357E211290F7DE11 /* MKTDynamicProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = F3196948574A7CD6A6D1A691823B309F /* MKTDynamicProperties.m */; }; - 5CC372F74054A9EB2AE047C7C1851B92 /* MKTOngoingStubbing.m in Sources */ = {isa = PBXBuildFile; fileRef = 312549B8713B530D94A995502E06AFE1 /* MKTOngoingStubbing.m */; }; - 5CC585D5B424E132594E50919D1471BD /* OCHamcrest-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C439DE8447BA75FCAABF22F330005889 /* OCHamcrest-dummy.m */; }; - 5D50DA13C7A8B2AF549AA4F05E69F9F4 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = EC4482503B923409B8BA827B4F8078D9 /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5DB9406681805EEF14D1A12928F63919 /* HCIsAnything.h in Headers */ = {isa = PBXBuildFile; fileRef = E2322CAD83439BD6B06BAE963AE3F67E /* HCIsAnything.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5E36EE471837FFE743556A1411CF54ED /* MKTIntReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CA971593D76D43B101925F35C570B1B /* MKTIntReturnSetter.m */; }; - 5EB8C17604A5FCA7B0F9174850D0441F /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 34B64208B54B6D3905B8094AAF851053 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5EF3A14A2AA2489D27E67FFD64BD5105 /* NSInvocation+OCHamcrest.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A22CE68E2F0DF472FF322A06F307C26 /* NSInvocation+OCHamcrest.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 5F214720777DD9B79569E24B2CF556ED /* HCStringContains.h in Headers */ = {isa = PBXBuildFile; fileRef = 8761E251D186D4261281DDECD45BCB4D /* HCStringContains.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5F229EB117858C47D04583364FC73D78 /* HCIsCollectionOnlyContaining.m in Sources */ = {isa = PBXBuildFile; fileRef = 08B329E8F47EC51907A0F0A65A87FEA8 /* HCIsCollectionOnlyContaining.m */; }; - 5F58411FE463F0B98B8366613A2FE85A /* SPTSharedExampleGroups.m in Sources */ = {isa = PBXBuildFile; fileRef = 6036D9113B7CD237AD38A9E91739A5E2 /* SPTSharedExampleGroups.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 606A6936395781F0EA6CC00D2391E26A /* MKTReturnValueSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 952FEB45E8023C5C758F2D23EDB41E34 /* MKTReturnValueSetter.m */; }; - 613FC9608E12716D89F696E9148443EB /* MKTExactTimes.m in Sources */ = {isa = PBXBuildFile; fileRef = D3D4AED08AA4678318600402654C93D3 /* MKTExactTimes.m */; }; - 61E89F8C6D2C5658ECADCC9BE04E4E0F /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = EC1C3E48E7A04CD4FE760187EF55B9B7 /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6283926A28083455DDCABF7D8FBEA115 /* HCIsNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E40F6F1E3D164E1FF6D418361C6DC91 /* HCIsNil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 62A200B73B76F6740A3EEA168FBFFF41 /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = 53FF3A49DF1B73D035AA13DAE077C575 /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 56A1AC9B4C60513B698FE1DC12483481 /* SpectaDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D37B24DDE50EE49CD4A52C3560E1CD1 /* SpectaDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 571721D73C9120D684D25B46202968B9 /* HCStringDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 80DD5B4934024BA847F1D3BA6BEEDB2B /* HCStringDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5876D085DF2C981DECD752CF2DCD18A3 /* MKTShortArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = AA843E80B5948017A233C74264F5CFAA /* MKTShortArgumentGetter.m */; }; + 58BDAD95725942F9F6BB533CE20A6A71 /* MKTReturnValueSetterChain.m in Sources */ = {isa = PBXBuildFile; fileRef = DBEE22B3371E84E36B5384627BBF5E94 /* MKTReturnValueSetterChain.m */; }; + 58DE67301D844F88AEEFF22F50B50BB4 /* HCIsEqualCompressingWhiteSpace.m in Sources */ = {isa = PBXBuildFile; fileRef = 43E7A9CB152F95E3218CA1A1C000021C /* HCIsEqualCompressingWhiteSpace.m */; }; + 58E38027B0A4F6CA7BE54F0AE8D4885B /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 9433705ABF37A3D166168B4F5FE0B86F /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 5981E6D617C2ECF06AFC4093A665A2D2 /* MKTSingletonSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = A7282C27DEEE5684275475729912BD18 /* MKTSingletonSwizzler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5A1C892A751072E3215DF739785C3C9D /* HCBaseDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA6A8D5EB5D52919A08976E7A424655 /* HCBaseDescription.m */; }; + 5C0E3680435D477EDDFF5F426AA15DBC /* HCRequireNonNilObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B23A0C5C64286A691C9C1B6F3BD1A2D /* HCRequireNonNilObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5D50DA13C7A8B2AF549AA4F05E69F9F4 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = A57E30D2B0FD5E98682A8F872E9134AE /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 5D6AACBDC690057A71508062B5E2D27E /* HCIsCollectionOnlyContaining.m in Sources */ = {isa = PBXBuildFile; fileRef = 62AD063F1CAE3D26B4502AE1825CD31F /* HCIsCollectionOnlyContaining.m */; }; + 5E4606BA01DC6F8E98F818C65964AA82 /* NSInvocation+OCMockito.h in Headers */ = {isa = PBXBuildFile; fileRef = 21BED44252F96451CA588BFB25E9F975 /* NSInvocation+OCMockito.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5EB8C17604A5FCA7B0F9174850D0441F /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = A98D34EFE407551CFE517FE41C30FBC5 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 60170D8CEE3BA8886464FB0F2F562C5F /* HCIsCollectionContainingInRelativeOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = 9535C72C5B82774AA2C390893CCDDBF1 /* HCIsCollectionContainingInRelativeOrder.m */; }; + 60187AFC2DF130C9B8331C8EDF1D2D10 /* MKTMatchingInvocationsFinder.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DC931512DC58C58C7C2A6039DB86759 /* MKTMatchingInvocationsFinder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 60FC33748AD0D0CEACFE49B992DC76A3 /* HCHasProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = CB7777DDD816DC6F726D2463D70C0A2F /* HCHasProperty.m */; }; + 61E89F8C6D2C5658ECADCC9BE04E4E0F /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 5816EFC241A9E553C3821434105C0F74 /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 62A200B73B76F6740A3EEA168FBFFF41 /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = EA5173B1123F04F98D0661EA6E9173A6 /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Public, ); }; }; 62D9A80FC3045B46C245D0F22AC19405 /* SKStateChart.m in Sources */ = {isa = PBXBuildFile; fileRef = 42ED8619768ABE3A84BABA603E2AFBD5 /* SKStateChart.m */; }; - 62F401202D2CB16BF7E2BD649689675B /* NSInvocation+OCMockito.m in Sources */ = {isa = PBXBuildFile; fileRef = 2590B9F3F395E06B9785D77933A0D7B7 /* NSInvocation+OCMockito.m */; }; - 6367E4C90A9B6684693CC6C66AFF02B1 /* HCObjectReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = B988D65B7684A6E3A4992F12BAD926D3 /* HCObjectReturnGetter.m */; }; - 63C8C231F170DD691286C221D2D781BE /* MKTLongArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E9BA9CBCC8076636B5E6457E1B4F332 /* MKTLongArgumentGetter.m */; }; - 63CB0B72237B0995C7A897C2CDF28CE8 /* HCIsCollectionContainingInRelativeOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = DEABADFE3871991324ACE6BB449C707F /* HCIsCollectionContainingInRelativeOrder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63CDCCAC82CBC33021220531D93213A2 /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DC0EE1AD50FF14CBB104BDB8E60F05 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 643DE0287F1066D083368EAC928DF078 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = D83A4EF914BAD481536E206B83283D4C /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 65929FA4AB3DDF92229B23C66483A957 /* HCOrderingComparison.h in Headers */ = {isa = PBXBuildFile; fileRef = A3C3573312246A1E82BD133220F29BFE /* HCOrderingComparison.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 660BEA8AC93BC6DF29A73D1570C10120 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 44EBE7B4E9837501BB62A288F8C78738 /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 663C66C497811BFDB2A28C0A56F74AC9 /* HCDescribedAs.h in Headers */ = {isa = PBXBuildFile; fileRef = 56CC209526028F2F92DFEBCEA422EB20 /* HCDescribedAs.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6681355D0818BE37022C368886B3DDAA /* HCTestFailureReporterChain.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A93F410F36AA87234BA048A6AEB450B /* HCTestFailureReporterChain.m */; }; - 67F905A2CAD45AACE5A4986EA9B5C90E /* MKTUnsignedLongLongArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A6E713772BFF5CB07412C2FD016626D /* MKTUnsignedLongLongArgumentGetter.m */; }; - 681A210F6701CDA021ABA0A1CCCE7817 /* HCRequireNonNilObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 621DE7E71C68694A8AC0C42EFC34DB86 /* HCRequireNonNilObject.m */; }; - 683A7CA897C895EC4F32A7B6961016EB /* HCInvocationMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 8776FB65C372FE2D8E2ED625FD13D4B4 /* HCInvocationMatcher.m */; }; - 697FE45B446CFE84BDFF4C171705852E /* SPTExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AEE60A547B1A12152F35DDB803D05D2 /* SPTExample.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 69DCF5F3A96B49720B728BA6EF5E095A /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = DEA41563F97DAB7444EC41E63FCC289C /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6A10BD6533096AEE6393C06F9A6764C0 /* XCTestRun+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = F656B32589BB5839A4F7A9C4148E683F /* XCTestRun+Specta.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B5E0BD47E5DBA641A81E9699FEB403F /* HCIsEmptyCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = EE974B4BF7D075EED3E259D85D989C2A /* HCIsEmptyCollection.m */; }; - 6BBBA77D5DA26AAC500F1B9A8588FDB0 /* MKTAtLeastTimes.h in Headers */ = {isa = PBXBuildFile; fileRef = 204257AAE4DCA510DA36038253B3AE69 /* MKTAtLeastTimes.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6C4572DB5E1B7A3AC875309B566D9962 /* HCAssertThat.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CA6B386D22B7906338DFCD77CE9FBD7 /* HCAssertThat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6D3969865A2A68835358BFD3A5044E91 /* MKTUnsignedShortReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 0011821B4DEA643DFDEAA445623ACD05 /* MKTUnsignedShortReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6D3FC267B9588EB2AC88353F9B82739A /* MKTTestLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 72E5BD869E3A206BC33A9AE8593129C3 /* MKTTestLocation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6F2420BD47D4C0B7B58E3E7E6E671827 /* HCDoubleReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 73C631587DCE4BA7427177DEFD420791 /* HCDoubleReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 6FAAFA861639B950CDBA5977A0B78343 /* MKTInvocationMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 976BD467477311071FFFC074EE0529C8 /* MKTInvocationMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6FD911CB08DB7E9FC807DA6D7A909881 /* HCSelfDescribing.h in Headers */ = {isa = PBXBuildFile; fileRef = D9BFA60AD4E6AC5D5C5DE165A8E7CCF9 /* HCSelfDescribing.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 63402564AB67A06DDF3CCF3F0F056F42 /* MKTSelectorArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AB1340C2BD6BDE7D1B175B90B40E66D /* MKTSelectorArgumentGetter.m */; }; + 63CDCCAC82CBC33021220531D93213A2 /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = F0AB338309C07025ADE67DE4F5162DC0 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 63D30A9B7FBE489F3060F3B948316AE5 /* HCIsInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AA6C8767FC812806710A1EC70DCF2FA /* HCIsInstanceOf.m */; }; + 643DE0287F1066D083368EAC928DF078 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 61949F3246BE053BB5F061B6E38811A8 /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 64C7FDA1D6C3CCD90F029DB58FA957D6 /* MKTCharReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 248EB2F3287F74665163273B506B4A58 /* MKTCharReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 660BEA8AC93BC6DF29A73D1570C10120 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BDD409F6D3A480C4F5CB69EED7B07DA /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 66462E8727F0BC1872D70EDD9A6781CE /* HCIsNot.m in Sources */ = {isa = PBXBuildFile; fileRef = ECBF610F96828DCEABF00C0A439CB262 /* HCIsNot.m */; }; + 676895C683B97FB9CF17BE6636084F56 /* Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C587827878ABBFA9B9465D9F8452CBB /* Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 67B5F47A335914787D276A5726A0F757 /* MKTInvocationMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 23BCA11A90BFA9F3053E87A63675780E /* MKTInvocationMatcher.m */; }; + 689F33490187DBA6F02194AAB99A4E52 /* MKTObjectReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 34297DD2C96B14DB9D413FEC175D65C7 /* MKTObjectReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68EE70194866244272C32F578B40A825 /* HCTestFailure.h in Headers */ = {isa = PBXBuildFile; fileRef = 7852947AD3108622428BBE935B54F873 /* HCTestFailure.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68FE8B53B027FAEE3BA6EDA24662AE0A /* HCWrapInMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A9A05CC1A31B0017886E1DAC4D252F7 /* HCWrapInMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6973FB80B75D121011A2BE24827A6E2B /* MKTBaseMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = B03665F5EBA56BD95434ACD4AF220DE2 /* MKTBaseMockObject.m */; }; + 69DCF5F3A96B49720B728BA6EF5E095A /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C6FA2944831A565BF0EF0382858A96D /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6A2DD2B93A873F2D1AD48290D395CE91 /* HCUnsignedCharReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 815E926AE9A92759A2FBA18C69A5DC62 /* HCUnsignedCharReturnGetter.m */; }; + 6A373C900176B2C16F6F9C1AFC88EDC0 /* HCSelfDescribing.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DAC7ECF0EB764014B657141DC1B627D /* HCSelfDescribing.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6BDC5BDC97C8A1F0BD65F4129CD45329 /* HCConformsToProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C67866C947CDA050FC30BCA550902D /* HCConformsToProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F3EF8677DD98427CE0E3B00901327A1 /* MKTArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DE16447D64482D73614215E11C00566 /* MKTArgumentGetter.m */; }; 703C3829F5466769A3EB374BFDE08488 /* NSMutableArray+Queue.m in Sources */ = {isa = PBXBuildFile; fileRef = E8230E00C73AC7F0904DE1552A346C2D /* NSMutableArray+Queue.m */; }; - 70D59C90CC90A49F5302038F30DD8B75 /* MKTLongReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F52295E305D4867D8534E980922291A /* MKTLongReturnSetter.m */; }; - 70D83E67DDB6E226A146F1A236CC3D5C /* HCIsInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CB7871679F3D94B020E4975812B106D /* HCIsInstanceOf.m */; }; - 7100640F169A4EC93CA15F0D8B5AFE8F /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 95ECE041C73294643A1851C041D1637B /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 71910E44A1F8DEC9A1F4C62C5B8C1C6A /* HCIsCollectionOnlyContaining.h in Headers */ = {isa = PBXBuildFile; fileRef = 44E0895D809E0C0F25F7ABBD3799E6C0 /* HCIsCollectionOnlyContaining.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 70AABD08B65DC679CB9134A7B6753C8B /* MKTBoolArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 441F28AD5D2F24E2FB880AD94983C8D8 /* MKTBoolArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7100640F169A4EC93CA15F0D8B5AFE8F /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B99F77D12465818FC9424152A781B8D /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; 71C7511E33D862BDC458EEC4CB953B7F /* StateKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D0DC82DF889E9C0BAD82C82952B031 /* StateKit-dummy.m */; }; - 71FBC2F8907E29EB767026E6A08F7EEF /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F426ACCF25FA3AF6915008D169B0DBC /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 742A2ACA20D9C00CD3D6850BEDC3B417 /* MKTClassObjectMock.m in Sources */ = {isa = PBXBuildFile; fileRef = C5742372B1F3A8D55ABC52ED2055F511 /* MKTClassObjectMock.m */; }; - 745452BA5BE0C4488AE4A703C4A30F6F /* MKTReturnValueSetterChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FF6395BCAF5CD37FC33C38F9F45A8FA /* MKTReturnValueSetterChain.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 74D74054E6F8A6935F11A3603B5443C9 /* MKTFloatReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = AA5D0B48F64EC8D3071E14CAF6AB9A7D /* MKTFloatReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 76897A50F582D79EBCB238BBEC5A59DF /* HCNumberAssert.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C00A462647DD0BDC70CCA1234FBCBB4 /* HCNumberAssert.m */; }; - 76BEF21BDBCC12F3EE8C4C41BE5CE26C /* MKTShortArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = F155375763EBB4EA02E3EEBD42E502A9 /* MKTShortArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 76FFE0A5253E08250D976CAE912B89D9 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 566866BDD13B1AC00C3DD89DF6EE1AB6 /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 79E3FA987B9622018DA0531843D79295 /* MKTInvocationContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = A90BF404B145930026FF1F640204BE88 /* MKTInvocationContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7A336D0ADF047A36CAB8BB4AAA2E4557 /* HCTestFailureHandlerChain.h in Headers */ = {isa = PBXBuildFile; fileRef = E579798D93EDB4F360B879BBF3156AE5 /* HCTestFailureHandlerChain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7A50398D1D6F1D22165ECAA192F9D1CF /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B6B183F87A59797869A4A6299845147 /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7AC766A54DB01E9767905188D0647402 /* HCShortReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = B12D5DD96982B8C751E7BFDBFADA35A5 /* HCShortReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 7B8A5EF2199D4630FBFEC3D29C47AC7C /* OCMockito-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 09E9C9A3A3E657E63C18E2FB4012F32F /* OCMockito-dummy.m */; }; - 7BC35FAE9F81A4FEC7182E89BF78AD84 /* HCOrderingComparison.m in Sources */ = {isa = PBXBuildFile; fileRef = 046C37832A717378B0DC32D991B67E57 /* HCOrderingComparison.m */; }; - 7C4FFAF7E7BD72B4775C2966898B3A83 /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = ACC882DF0BEF8667C87F39A9072D8ECD /* EXPMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7D2F910A97A3AB546446C45F98CA598D /* HCStringContains.m in Sources */ = {isa = PBXBuildFile; fileRef = 9700475796C5CD283B418004E49483D9 /* HCStringContains.m */; }; + 71CBF7CFBC4E6DDA37666E0CFD2F8528 /* HCIsDictionaryContainingEntries.h in Headers */ = {isa = PBXBuildFile; fileRef = EBF61298F2644C1B11AE6F11C857C331 /* HCIsDictionaryContainingEntries.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 71FBC2F8907E29EB767026E6A08F7EEF /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = ADE6D3D8C99B819921F448C0B094A5D7 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 72B46B0DEE3A136FEF0E699F8A4B9A07 /* HCReturnValueGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 835AD79E9287D94D6E477B6DFC152ACF /* HCReturnValueGetter.m */; }; + 72E34EBE268A1F944CF6D19BD90B9BD0 /* HCBoolReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 292A3274476E4B9EED3450E3822D043E /* HCBoolReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 73EDF1A14C05EC9F128A9441786923F1 /* MKTInvocationsChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = A3E31963B91CF27DF84D04F4F3C002E9 /* MKTInvocationsChecker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 75EDCDFDAD32029979147E7F013117CE /* MKTMockitoCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 187E56273FC470160AA58E25C6E59BF1 /* MKTMockitoCore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 76FFE0A5253E08250D976CAE912B89D9 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = B016B89C220C40695D30E933BB80E744 /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 77F617DA10CB111E831B8C0ABBE2A567 /* MKTNumberOfInvocationsChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D99BB00CD4309F2B751871512D9B48E /* MKTNumberOfInvocationsChecker.m */; }; + 79228A43A1E24FA04CFE8E85ABD7750A /* HCDiagnosingMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EFD2BB4F8AE2383A936D8FF93CC8528 /* HCDiagnosingMatcher.m */; }; + 793791281793B9BAAFF88CAEED033372 /* HCLongLongReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F60F5349F39046F2166BAE02C791069 /* HCLongLongReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 79D97BA086C98C399E4896256516C7BD /* MKTVerificationData.m in Sources */ = {isa = PBXBuildFile; fileRef = 80CB5763B8C3B0F4BA0C01A08A817B78 /* MKTVerificationData.m */; }; + 7A44F750D727FDB7C693780E1FEEE95F /* HCIntReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E8C89AD450C4944FA57D8A33746974E /* HCIntReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 7A50398D1D6F1D22165ECAA192F9D1CF /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = B07D01E8395F1202D4F80E1184B4C0C8 /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7AB1DA6A685DFA9A5FFCAF103336533D /* HCObjectReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = C641F651718ED729F8D5B476B58B8514 /* HCObjectReturnGetter.m */; }; + 7ADBA41ADAB8CF1FF4FE57EE5CD5685B /* HCIsIn.m in Sources */ = {isa = PBXBuildFile; fileRef = B1F8CB5282BFFB5D21F398F9EEC5C627 /* HCIsIn.m */; }; + 7ADD8B39119C81B49ECB824EB6C1B443 /* MKTAtMostTimes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4665F3CF44A9C5DD5AD3AC1CD1D6A8A5 /* MKTAtMostTimes.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C4FFAF7E7BD72B4775C2966898B3A83 /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A4B4C5EA37FFB936E3936670BCC4535 /* EXPMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CDED3CFDFCC7CC131BD564C6D34626C /* MKTCallStackElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 6096C64B4ADB295A37CEF5E82809EBEA /* MKTCallStackElement.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7CF90887DCCED1387E282193C5B134A6 /* MKTOngoingStubbing.h in Headers */ = {isa = PBXBuildFile; fileRef = 37191AE6D3797C0260B157FE2A087E28 /* MKTOngoingStubbing.h */; settings = {ATTRIBUTES = (Public, ); }; }; 7D589D0F60E6F02B0CB361EB78E06616 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */; }; - 7D6A852C60AE2C7B124276E89CD10725 /* HCTestFailureHandlerChain.m in Sources */ = {isa = PBXBuildFile; fileRef = C5FE287BD6C5EDED55A1814DD284A290 /* HCTestFailureHandlerChain.m */; }; - 7DE8B9DF17FFB8E9B0B1581D6B8D3193 /* MKTSelectorArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 683EAAD9794A976CA710F39AB62D68E0 /* MKTSelectorArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7ECE62218015E4177E3E717CCFCBC5DF /* MKTUnsignedShortArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = F52130DE21527637E339EF15AEE7F2AE /* MKTUnsignedShortArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F896D7BFB6610ACA1C11F7CA9DD1EBF /* MKTClassObjectMock.h in Headers */ = {isa = PBXBuildFile; fileRef = C7ADB4935A10D35755A80C4FFA665B4E /* MKTClassObjectMock.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7E2DACF9FA6EE4FFB4585FB5724CA622 /* MKTMatchingInvocationsFinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 94760CC696EE1870AB0BEAE7BBC74456 /* MKTMatchingInvocationsFinder.m */; }; + 7FE9C89B7999830630442B4703AAF576 /* MKTInvocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 43659139A00A4C9D10506EEE7F300933 /* MKTInvocation.m */; }; 801D61296A74569A129A7423045B9C9C /* Pods-StateKitExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E36947F1731F72E34CBD5E6A5683479E /* Pods-StateKitExample-dummy.m */; }; - 803FEF847C97C5FC2466E9FC1A85E6D3 /* MKTFloatArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 10470D9D6FC181CF4581658BEC1C5090 /* MKTFloatArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 832A91420645505DDE2455582868DAB1 /* MKTMockingProgress.h in Headers */ = {isa = PBXBuildFile; fileRef = A92183F3AE57412AD6CD981D9AC13076 /* MKTMockingProgress.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 863C5CC8F4698A0C85AB53C9B072D889 /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = 2048BB78D6B1EC7EA7FFC45ECCB5759E /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 869798642BD21A112E26C1D3153CE591 /* SPTReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 913422C4AD620389E503F7D2A303E3D3 /* SPTReporter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 86E244571BA7A0C0B9E9D46977E659FA /* HCGenericTestFailureReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = CC83CF3A9DB5F01E6341833BAB8286B9 /* HCGenericTestFailureReporter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 87C087B7F1B93C2DD0B42A93B3E9D9C4 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E9DF496BF275FABB607CF8882E3AC9A /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 884768E3D870236BA7E4A850D04768BD /* HCReturnValueGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 143826AFE56AA5A34004011057B2853C /* HCReturnValueGetter.m */; }; - 885C2534832AF6B1DFA98FA19C4D9994 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = DDABCAB64EB69FD5D4FA3BE81FA722F3 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 88E62CE62B3B1A49381C6BADDEC85160 /* HCObjectReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = B8147CA46AE4FFF7B6EFA2F7126519D6 /* HCObjectReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 8994485FB1398BF225377D4C109CA38B /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FEBF2812FEF50F1B6EA97FA35C3E35A /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 89B7678F2DF9910C14117C8D33F64958 /* HCTestFailure.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C38AD6C28288FA6140F71692DFC5798 /* HCTestFailure.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8A44905DE57B8F1D834EE4DF2587B92C /* HCIsTypeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 314E0D4BD9A354C60A14E0D29D03E2CE /* HCIsTypeOf.m */; }; - 8A961258F8755A1C0A56ADC8E37BC2FC /* MKTAtLeastTimes.m in Sources */ = {isa = PBXBuildFile; fileRef = F6C2E306C0A3627B0618AAF4992F284A /* MKTAtLeastTimes.m */; }; - 8AA8057FF5FCF4E133D98A71290A5CAF /* HCSubstringMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 73CFF149EA427AA9208332EB1B32DB47 /* HCSubstringMatcher.m */; }; - 8B37CF0239E9E29D14A297D607904046 /* HCStringStartsWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 589FAC53E4A9A4D0FACD4F841E7C502F /* HCStringStartsWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8C4FA6947B92FBDC0D201E91D38A77C3 /* OCMockito.m in Sources */ = {isa = PBXBuildFile; fileRef = ACC05C620107A0933E1B2192F91515E3 /* OCMockito.m */; }; - 8DC2DD6A3A205580F7DB774850477BD3 /* HCLongReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 4953335BDF9B5963387D40974703E52F /* HCLongReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 8E5F555DFB26889BE40A38A217F47950 /* HCUnsignedShortReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 71346F5D30CE8D076F8EEC7E098D4D16 /* HCUnsignedShortReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 8F7CB6E8E492FA991CF94A35F69C35E5 /* HCIsNot.h in Headers */ = {isa = PBXBuildFile; fileRef = 090DCD0D602D8124A5AC65BC9598F6DE /* HCIsNot.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9055AF2C9CA3F9A296E75EAE07A6586C /* HCEvery.m in Sources */ = {isa = PBXBuildFile; fileRef = E19755305716F38EF3DD8B71E6698B5F /* HCEvery.m */; }; + 80762DE714870F45F83DDB44DCA725BB /* MKTProtocolMock.m in Sources */ = {isa = PBXBuildFile; fileRef = B90B9B3AB4974B39400C832B49A23AA7 /* MKTProtocolMock.m */; }; + 83A340287729D59AD17998793EA68BBC /* MKTThrowsException.m in Sources */ = {isa = PBXBuildFile; fileRef = E1BCE1D94FB58D2849B9ED8BAA4C7F52 /* MKTThrowsException.m */; }; + 8418D537708DEE0ACAD768F46C4CC009 /* HCIsCollectionContainingInRelativeOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 635F45FC1CD5D639ACF0C1BCF8DA30C0 /* HCIsCollectionContainingInRelativeOrder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8420AE4E578DEDAD083C4A8A1EE519B1 /* MKTUnsignedCharReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = A3251F4C2308C730CE7F0B1086D7DE4D /* MKTUnsignedCharReturnSetter.m */; }; + 84C4438F0EA737BD760EA0F850B9D26A /* MKTUnsignedShortArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = D6C2714B812711E44DAB8931BC53F883 /* MKTUnsignedShortArgumentGetter.m */; }; + 85803043312A7B3F0668253EECB325F5 /* SpectaUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 97A4DF9239EFB2AE320290A9BE9AE443 /* SpectaUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 85BBE9F1CE866D0B50104E4C874E8409 /* MKTUnsignedLongReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C80F62D05F8A660E2446A8C75DCFEAC /* MKTUnsignedLongReturnSetter.m */; }; + 863C5CC8F4698A0C85AB53C9B072D889 /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = 975266BFA5494257B6CE78BD9D91BEB3 /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 86501732C3F482D2391B8DF4EB42C969 /* MKTMissingInvocationChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 105476B67226B9AD1E0D97BE3A5E51F7 /* MKTMissingInvocationChecker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 86902980EFE074E5BC24F031092C7B3E /* MKTUnsignedLongLongReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3066F0D9B630315CFC02E7B31D775E94 /* MKTUnsignedLongLongReturnSetter.m */; }; + 87C087B7F1B93C2DD0B42A93B3E9D9C4 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 74AC4F3F17388612127B03776F9652D5 /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88177A4C640616A5E688911AC51F039D /* MKTLongReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = B1FA2C8C88BD0B80EF33D184CC0107CD /* MKTLongReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 883933EC1623C09901E0D90D68924B84 /* HCIsDictionaryContainingKey.h in Headers */ = {isa = PBXBuildFile; fileRef = B00E0148DC49261B3973E9007D7E6C71 /* HCIsDictionaryContainingKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 885C2534832AF6B1DFA98FA19C4D9994 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DD8408E9202D3B9C1A285443295C2A7 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 888E9A5398835008FC5E7E243A92F9C6 /* MKTArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = C195B9A9E35B74796A4EB0DA58FBC9EE /* MKTArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88C250EA1F52E2936A68389FC294F440 /* MKTVerificationMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A3C99F6634262BC7D6BAF906110B67B /* MKTVerificationMode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 892245B15961FBBE4F98B515CB90A3FB /* MKTUnsignedCharReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EA9548DA838D4A4134CB019F8B11D5B /* MKTUnsignedCharReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8994485FB1398BF225377D4C109CA38B /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E34FC4242D0BD9CA41D8101A2365D62 /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8AF257E177757AA16FDC496C235D9A76 /* HCBaseDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = D5CC757CFB49C02980BE0DCBB66525B5 /* HCBaseDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8B5CC6B56C46512647478BA6399B73A9 /* MKTLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 966ABBD44DDE294F9BC7D5B16D1C87B7 /* MKTLocation.m */; }; + 8BDABAB60A8ECAE98DB6809D3DAD00F7 /* HCUnsignedIntReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 49CE860EBF22CFCDF1B94936901DA86A /* HCUnsignedIntReturnGetter.m */; }; + 8C1F01E889E5E1401987289B2DA37EF3 /* HCWrapInMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B6178A6ECA8122D9FC6ADB75ECFAEC7 /* HCWrapInMatcher.m */; }; + 8C8D5D18DC169B86203638F2F9CF8271 /* MKTIntArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 606CC5C05F9EA01F9C4CBC32BE5247CC /* MKTIntArgumentGetter.m */; }; + 8D0750B2579B1C163E42D69376BECAE0 /* MKTMissingInvocationChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F053508429761D07A40E4FDC55D9F16 /* MKTMissingInvocationChecker.m */; }; + 8D6D9A256B90A1D01B8E6D39623E748C /* MKTReturnValueSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 001586BD08DF32270E3354D0E048467C /* MKTReturnValueSetter.m */; }; + 8E22BB3EA33FD8C494F6B5C6479888D8 /* MKTUnsignedIntArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = DD172B49850C03841AC28736AF620015 /* MKTUnsignedIntArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8E2AD9D9DD8BD1012C4570C25D808075 /* MKTBoolReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0916003B47532E415321C292DAA7B0E4 /* MKTBoolReturnSetter.m */; }; + 8E7DEF28B886C5D77D9721A90990B70F /* MKTAtMostNumberOfInvocationsChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 98544E46FE83FF9CEE9C7A78B46B38DD /* MKTAtMostNumberOfInvocationsChecker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8F253D19B6989A4C47A6CC41C6EC489A /* HCDoubleReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = A569071A56B2131A2990763A724B5CE3 /* HCDoubleReturnGetter.m */; }; + 905ED51180A5C6157C948C215F822D3C /* SPTExcludeGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 31CA647E1B4D9C0A5B2AA4B8B1D93F44 /* SPTExcludeGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Public, ); }; }; 90F718821F95BF02252D5BF7167F52C7 /* SKState.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A8734620015C034232A12C5093FFC9B /* SKState.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 920A45633EDD8DC637A0A2C172ACA517 /* MKTBoolArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = B9D07A36CA692A0F64FD0BF6BEED88F4 /* MKTBoolArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 933B483D26FD3824316B08CC5696EE32 /* MKTBlockArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F1D4C6210883C57854D4118392D544D /* MKTBlockArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 940C573C6363539B74BF2BA27DEA4726 /* MKTIntReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A21BEBE5B908F7C698E6727C8275A8 /* MKTIntReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 94C94F986312F61D076591DBCEC07104 /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = EC261C3C0BD0B692883D69C8F8A4CD3E /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 967EDE44D50C69238030308B99280323 /* MKTInvocationContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = C6B4EDC6D968BA978B5D0228B148224E /* MKTInvocationContainer.m */; }; - 976C1C1F8A2B985887C5D9B1133EABC7 /* MKTExecutesBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 9807522F74AF693422E03F7B9551663E /* MKTExecutesBlock.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 97EEEEF22214B8BA86DBD2901B2CE438 /* MKTStubbedInvocationMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = DF9F70A3AAED03A14964B6E3A4E108F1 /* MKTStubbedInvocationMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 987E46B62D0CDC2D0CE2DDDC51F63D8A /* HCTestFailureHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DD5343A267306EC54940833E7D6BC78 /* HCTestFailureHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 989EF65875735B191A1BA05C589A135A /* HCLongLongReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 811027B08457F8963B9D02A801543C2C /* HCLongLongReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 9A3F968B5662BE4C14910AF49C575F70 /* MKT_TPDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E79308D6EB26C8A4F1881DF57A47FEB /* MKT_TPDWeakProxy.m */; }; - 9A4679473A44C2FD2F9CE95E6BC3F2EA /* HCIsDictionaryContainingEntries.m in Sources */ = {isa = PBXBuildFile; fileRef = 453DF47E90CE478014B3FD7DC9497D75 /* HCIsDictionaryContainingEntries.m */; }; - 9ADAF5F7036FF0DADD74C302F0E8D659 /* HCHasCount.m in Sources */ = {isa = PBXBuildFile; fileRef = AA993554D9377319036E26C19FA0F146 /* HCHasCount.m */; }; - 9AFF8C5303702AC7BD8249B3536403E6 /* HCUnsignedCharReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DDFF08FFE0E9F28AF015A6FF8F234B4 /* HCUnsignedCharReturnGetter.m */; }; - 9B9C20A1FA0C4D64357FBFA31E03882E /* MKTLongLongReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = B8EF2A5DDEDE237BFFEBE2EBBA731252 /* MKTLongLongReturnSetter.m */; }; - 9D62C9C361A3C9DA7F45D68E09AD14B7 /* HCEvery.h in Headers */ = {isa = PBXBuildFile; fileRef = B8720DEA4A855B766138C84531B954A1 /* HCEvery.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9E7B98ADA7E61A16E15D277C1DD50570 /* MKTClassArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = D4E9701024E5DAB4006A3A9E4E51484C /* MKTClassArgumentGetter.m */; }; - 9EF2ED4DFA1B8D95C97BF3C1346E498F /* HCIsEqualToNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 88D895FD626F43AE7B61F5484737FD28 /* HCIsEqualToNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F72DAEBA1C94435BE54A706859E3911 /* MKTSelectorArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 01641BB773953C5D8F2352DBA81ECAFD /* MKTSelectorArgumentGetter.m */; }; - A04EB21399320986BFE41FAC5965C79D /* MKTUnsignedCharReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = A933A9DC637C75292FF1AF2467AF5D3A /* MKTUnsignedCharReturnSetter.m */; }; - A12B39559E464A1089E4389274973616 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 106FE2667F2D42DA96CE0410E5869550 /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A17814D9BD8104E493C540CBF68BE8B1 /* MKTExecutesBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A9D3ACA5CD73492EA84C5567E9FD329 /* MKTExecutesBlock.m */; }; - A193FB77C3606DE847937B79BD869F26 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = F345B6415F816E3169BDCCC1A1D66F71 /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A2495DBDDD02AA7C261344AFE991C28C /* MKTObjectArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9838BD36D4EE37E5047A652CE42941C5 /* MKTObjectArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A2EBE5EFCB65CD9CE4C2B4032B087754 /* SPTNestedReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 50BB7F28CAD849BAF45BA59714B3911F /* SPTNestedReporter.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A582202BA70CAA6EF887AFFDA34B2E54 /* MKTStructReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 869A909CB5290D9C129A7ADD08984D68 /* MKTStructReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5AC3B023461CC9F04CDD19106A257EB /* HCIsInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = ECABD243D17B89BF291B0C849994C37F /* HCIsInstanceOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A5CB8C92268FCAC7B00F12EE55B43338 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B50BA2C2DDAC47B713A84FD307A587C /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A718359A387E2603B51F4041F078C1FD /* SPTExampleGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 942A79C4FF585ABD2ED234482BB9CAF6 /* SPTExampleGroup.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A78EE47632CB24DE6517F14795CAD690 /* MKTShortArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = BE3B56C8FF2EBFF340D63ADD0E889206 /* MKTShortArgumentGetter.m */; }; + 9112B8E2E53DA5A234208BEC6B5754FB /* MKTLongLongArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B36AA09ECA88AD756999EAAB6CAA3F9 /* MKTLongLongArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 918223EDD9F228F8A1D692717DFDEE01 /* HCBaseMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EC47732124E238E04BA3B185D0F4597 /* HCBaseMatcher.m */; }; + 91F3963F9AFAC0ECA76923C03D43CA71 /* MKTUnsignedCharArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1773508DC2AE4CC49CE9F60DF6B34F7A /* MKTUnsignedCharArgumentGetter.m */; }; + 934B46D1AD29CA8748EB84731D651A19 /* HCXCTestFailureReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F66B2BAA215B2C0F7802F54F7DE7D13 /* HCXCTestFailureReporter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 93CFD6EC78CC1928393B4FF964B05E33 /* HCIsAnything.m in Sources */ = {isa = PBXBuildFile; fileRef = C821AD1CD0D471C2C31E585095090C96 /* HCIsAnything.m */; }; + 93DDE16B432C7EE0280A9442702CF677 /* MKTArgumentGetterChain.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AE67243808F6784BA011B808D120B6 /* MKTArgumentGetterChain.m */; }; + 9433D843C0743F62509AEF766EDE5AF1 /* XCTest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ABA649C84C36782E4063FD805A01492 /* XCTest+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 94A46F2AC545672D6D6D59FB6C63B3F4 /* HCEvery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D5B2E28912870E5B3F5111805DCE1BC /* HCEvery.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 94C94F986312F61D076591DBCEC07104 /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C04F51A2CA1D980694FF92D28069CB3 /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 94E38E8172753A6924EB03085320E70B /* MKTObjectAndProtocolMock.h in Headers */ = {isa = PBXBuildFile; fileRef = B8CE1E62CDC824EB1560B5B88672B235 /* MKTObjectAndProtocolMock.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 94FA28F1F8121EAD6E2B82D26F1527B4 /* HCReturnValueGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AF053AC14EE43E2229D2090A5703DD7 /* HCReturnValueGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 959A2A31C6C766BAAB1D56751E309E85 /* HCInvocationMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 611E0874434F7A6AAB18498D9093C7EB /* HCInvocationMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9611E64B573CC2E3603B350F37EBF5BD /* MKTIntReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = E667A00EB3B2FE322FA781DEE6A88E1F /* MKTIntReturnSetter.m */; }; + 96D795B77FF5B407AB600B0D8F70540F /* HCAssertThat.h in Headers */ = {isa = PBXBuildFile; fileRef = FC6F5BDE8EEDBE8D4297310370CBB1C6 /* HCAssertThat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 97C4EDA53AE9D2B8599E4E40758023F9 /* HCIsNil.h in Headers */ = {isa = PBXBuildFile; fileRef = C6A12E43B0F8D759D8733AFE2C36D20A /* HCIsNil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 97F16BE0EAC52E5AD706824487F32C59 /* MKTStructReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = AD718A267716AAFC7D50FB27406855F6 /* MKTStructReturnSetter.m */; }; + 988A3312713354C7E58386BCAFB9E85E /* SPTExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 811FE5F73FFD5E8C3AAACF48B8D59446 /* SPTExample.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 99686D4E475AD9191CBBE68AD9F26928 /* OCMockito.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA21928BF8DB9ABC78E3CBB82E3C144 /* OCMockito.m */; }; + 99C2248EBF08A7DD8FC56101D057EBB8 /* MKTMockingProgress.h in Headers */ = {isa = PBXBuildFile; fileRef = A3FB48A1E4544853D6C8F53801D02FEE /* MKTMockingProgress.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9BAE8C6B2E0D00085558B85913E25374 /* MKTClassArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = E247F16766248F9678681D726AC103EB /* MKTClassArgumentGetter.m */; }; + 9DA2BF02BC0531FF79243D21CAF726B7 /* MKTCharArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2442C68005A8FAF74CE796B407F44AC5 /* MKTCharArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9F68EA24FC71563E947CF940E3A33DD1 /* MKTLongLongArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B03959D7BA381B457E06D208B3FCE27 /* MKTLongLongArgumentGetter.m */; }; + 9FB173074C4C122DD52954B3E662E07E /* HCIsInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 4497FF9EA0AD1DA2144E2F61AF3F8DB3 /* HCIsInstanceOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9FDB9B981E2B619A6E9063552694D63D /* MKTLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F55445F662963C28EF23B085BD8A5FF /* MKTLocation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9FE46E371DE1ABAAB75CFB84055A398E /* HCIsSame.m in Sources */ = {isa = PBXBuildFile; fileRef = 09D41B498C24D78BCB5097C56598D885 /* HCIsSame.m */; }; + A12B39559E464A1089E4389274973616 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 2959ADCEFB384FA5FC80823AAD3ED1EB /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A193FB77C3606DE847937B79BD869F26 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = E0E885155DD39005049B272CE1E035DF /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A2577A226459DBF21EB8D91634CE50B8 /* MKTFloatArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = FBF8FBF9AF16C3DAB6F2687ED32742D9 /* MKTFloatArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A2D50BC62277FDFCDCE49D03BCE4AEB0 /* HCCollect.h in Headers */ = {isa = PBXBuildFile; fileRef = 16E4C50F0860DCB2BCC9F7F2D64FA7DB /* HCCollect.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A309E9CC1495740D8E97DB8ECF37ECF9 /* HCHasDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 82A2E01DA3364160708435963A6B28DB /* HCHasDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A3460F64AF34F248DEAB78F0B5C39FF8 /* SPTSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = A3A68EF66DF69424151F092A99831432 /* SPTSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A3604C513FE4741EAF9A36698D6A627F /* MKTObjectMock.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BE1DD023CAE0313246E8BCB92605E92 /* MKTObjectMock.m */; }; + A5CB8C92268FCAC7B00F12EE55B43338 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = B6DABB54BB460BC9313927B95833A014 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A627CDD8FF1ED0215C015FE1FB6DC46F /* HCStringEndsWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 60366B486ECFF1206A6DFA1CC605CA37 /* HCStringEndsWith.m */; }; + A6B3FF20DB0C007B943EBD58C0405C45 /* XCTestCase+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DDE1FA02D8F97D377C9010D000ABDA3 /* XCTestCase+Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A723E9FB5239DE77A478184BA94D4733 /* MKTParseCallStack.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DD49A8755A5917DAD14BCF729B5114C /* MKTParseCallStack.m */; }; + A79D42A7FCE40500B25AC1607C736FB2 /* SPTTestSuite.m in Sources */ = {isa = PBXBuildFile; fileRef = F0BD191BA56BB6305F3E730FE275A2A5 /* SPTTestSuite.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; A7B9BB8437D4D28E342A980AB24FF0A7 /* Pods-Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E7B6AA5B46F032E8C91FE0EA4DE3FE6C /* Pods-Tests-dummy.m */; }; - A7EC73F931B030DB3248CD649C789900 /* MKTOngoingStubbing.h in Headers */ = {isa = PBXBuildFile; fileRef = 17EA6876EF8A1409135C50987B8ABDB4 /* MKTOngoingStubbing.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A82E38281CB9FB23F2AD6B49260739EE /* MKTVerificationData.m in Sources */ = {isa = PBXBuildFile; fileRef = 171F56E0ED4EFE40AF6BED127EE787A2 /* MKTVerificationData.m */; }; - A8EEA14DF7D75C82D00C8603892AE228 /* MKTReturnValueSetterChain.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F0239D46923D4AE49B63F37AF79E31B /* MKTReturnValueSetterChain.m */; }; - A904D2D6242F68CC3B959E2B0FC8B4F9 /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = C812C01C2F763DE6A60604472325D373 /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - AA13A276D5281FE888FE929C688FCE0A /* HCReturnTypeHandlerChain.m in Sources */ = {isa = PBXBuildFile; fileRef = B5D953C14BF9405F127ED0035587C0A0 /* HCReturnTypeHandlerChain.m */; }; - AA2EB570684108AF0808472152A671C4 /* MKTUnsignedCharArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = CECDF61196E405EA9D95962939FC6C11 /* MKTUnsignedCharArgumentGetter.m */; }; + A8B2DBA9CE6A63CE4BE942ACDBBF38B2 /* SpectaTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CB0DD34DEE741AA41E7062B1D1001EE5 /* SpectaTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A904D2D6242F68CC3B959E2B0FC8B4F9 /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = D94FD44240BA9A57314EB04281A66F03 /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A92431BF46FCF19530F6EFD8B923F2E0 /* HCHasProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = C59A086118DBFA16CFC91E2846EEF8CA /* HCHasProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; AA54EF82A06BFAE150D9DC148EB0FCCE /* SKTypeDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = E74254ACC08ED584A224890CA0A82DD5 /* SKTypeDefs.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AB11DCE8E390CDF7EF03109F84BF9C58 /* MKTLongArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 3141DB030965DEE6D3C57D8BD525C3F2 /* MKTLongArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AB53997C3B500E8C348302F953C52EDB /* HCHasProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = D480FEB340BE999A475041AE5A5C3C29 /* HCHasProperty.m */; }; - ACFC422550A31A86382E496AF16B2A3B /* HCIsDictionaryContainingKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 4678FD317AC290D2EAFFE5AD17DD0D31 /* HCIsDictionaryContainingKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AD4E13532B1A73B5258B2BD6E80BB29A /* HCSenTestFailureReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F2CB8F2C1B900C47D0B049C7B4F160B /* HCSenTestFailureReporter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - AF6F4B7B1D4F20CC3F0406D1B47DC0A9 /* HCIsEqualIgnoringWhiteSpace.h in Headers */ = {isa = PBXBuildFile; fileRef = D4F498A8F7BC8F7B57926CC6BBBAED13 /* HCIsEqualIgnoringWhiteSpace.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF77504BC7B0C5A7F8E97222DB7E4F22 /* MKTPointerArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E2178AD581687276C130E70EF070157 /* MKTPointerArgumentGetter.m */; }; - AFF7876E0F895DCF922288DEC62817C6 /* HCNumberAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 2275679F9FDF24737AD3A611145DC523 /* HCNumberAssert.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B0DEC519B878C119185CF62BB9E344E5 /* XCTestLog+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = 5839C24500F60F1FCE88660A0B395DA1 /* XCTestLog+Specta.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B1820A5E15F22942E386756A0473E808 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = E3B5C09BBFDFF0ED2B9D5C6E2B71DB80 /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1964DABF421B8BA6BB9AB9E1CC0E387 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B93421F1DC4838E0AD64EDD26DCCF21 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1FFA675001EA0134021791FEF6768CA /* HCWrapInMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = ED1F947CF60E74A7312C61AE4E2B47AF /* HCWrapInMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B241CF27E6B9D2DBC3236BDC1BDA5B69 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = F396D4ACA8142DA44AA652BA8026B694 /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B2880B5D7D91AACFCEF345934CFEBA55 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D758300B324A6F6A9CC09711B8F89F0 /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B31782DDE18016D6CF15A67BAF3D4FB1 /* HCIsDictionaryContainingValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 4438690AF5EF0C44AB5EE5BA2933AE9C /* HCIsDictionaryContainingValue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B34A9C317C049041267F6B9F522200CB /* MKTArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 03138C79F03E66C6DB250A9B99C0C282 /* MKTArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B3FBD4C9B0215E5EAF8A8C8E117A1CAF /* SPTNestedReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D08A0C6F4498E72984AF70084B969D8 /* SPTNestedReporter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B432954AA35B3BC1A1F4FE07E135AEED /* MKTVerificationMode.h in Headers */ = {isa = PBXBuildFile; fileRef = F3D901140FC02B604026EAD6BBE27B5C /* MKTVerificationMode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B709C0890B67EB6C1AB9B9738CDBEEC6 /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = BEE729900984EF2C621EE4E871CBD0B2 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B72D6F9CD6DCCF9339A269BC0CABA88C /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 201DAE0DE55D3162D4E5EBE8AFD9DC9E /* ExpectaObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B76A759B1E9474D3A745B7ECC8AEDC24 /* MKTUnsignedLongLongArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = FC4A82759273A127E91B5D4A237CBF20 /* MKTUnsignedLongLongArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B7ABF84E115E4E64073F5421781F6EB6 /* HCIsAnything.m in Sources */ = {isa = PBXBuildFile; fileRef = 445727D771CBCC12F019386412989F43 /* HCIsAnything.m */; }; - B7EF7A7BEDED09F6113CBBE40FE76C94 /* XCTestCase+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 119B0CACA5C04D2F15965A3CC345AC9E /* XCTestCase+Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B7FB8C30C577D624F5E0B1FDB3E6CD8B /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = C02E2E49CAE8390BFE278589CD227EA8 /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B9DFA0B9452D194627CF06C3A92F5F69 /* HCAnyOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A99FD38ADFDB515307EEC1FE364CAA5 /* HCAnyOf.m */; }; - BA0A287696C52D0387C3844130F6C5BE /* HCUnsignedLongLongReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9410AAAFCC199B530E1CDA927EE396 /* HCUnsignedLongLongReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - BA81018048AA2113D2051430679FB823 /* HCStringDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = CD625158A13DD413F816FF0458D70A32 /* HCStringDescription.m */; }; - BAA98BF425D78B9F9FB405680EA0CB3D /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 59E4F9BFA76FD82E1BC68ADA45209531 /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BB0E62892680D990AC167E4629F95062 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = FEA14343273E493A146B601280CC4883 /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BD0F43BF22EBA7C2F5C58773C17F0DA0 /* MKTDynamicProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAD62E836613D1585E17040CE1C7761 /* MKTDynamicProperties.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BD4A34440CB706FD1DF1604AD65D8A19 /* HCTestFailureReporterChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 2916EF372A1A55CE233A6FFE5FF478D1 /* HCTestFailureReporterChain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BDC2D94D549B2E123FD6FFCA495ABCB4 /* HCIs.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A682C851BCF6F97545E4A8D896F280B /* HCIs.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BDD75803E4B32206FFD23CB38CBA03BE /* MKTLongLongArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E23CEA91469DD59E7F1E9C7AE6965A5 /* MKTLongLongArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BE2F89A13F65889B5B1B2689B8439D0D /* MKTClassArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = F228D6007C8D1204F548FCE5627A6BF3 /* MKTClassArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BE304627613B1A5A0EB371823F6F8DC1 /* MKTExactTimes.h in Headers */ = {isa = PBXBuildFile; fileRef = 594410D43C6008CEA050EBB689C6774E /* MKTExactTimes.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BEB8FB1EC38DAD5337A79C799686DF7E /* HCIntReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 96C1608517D2F65ED11CFF55D1BF85A7 /* HCIntReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - BEEC98B0B6B7205662B530C9CE09085B /* HCHasProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = D05052621F9A784DAF40571193080D72 /* HCHasProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BFB53E7A7B9F277BEFF48007EF76F85D /* HCXCTestFailureReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = B8773EBC5BD824F35AE6B762A3AFAAA9 /* HCXCTestFailureReporter.m */; }; - C03711C9AF379CFEBBFE563358C9F5E9 /* HCIsDictionaryContainingKey.m in Sources */ = {isa = PBXBuildFile; fileRef = E0CAFE4AB6BEE91AB50580E8580DA88E /* HCIsDictionaryContainingKey.m */; }; - C091203A57422574B3263D1E9BA53A87 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 58F1AF74D04316B3CB7380A34143C537 /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C122DB58D4685882D1714F89107FE5CD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */; }; - C143599F13D14489824AE537210E46A2 /* HCIsCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = A5BCC2E3F3D82954CAFBBE2AF960B1DB /* HCIsCloseTo.m */; }; - C27213664D9D4F0E85063B869D82DC0F /* SpectaUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = C3C37B81CB67C1F497F8ECFD2084CADF /* SpectaUtility.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C329C63B1BAD57AB60C085A14A394747 /* OCHamcrest.h in Headers */ = {isa = PBXBuildFile; fileRef = 235392573971CBEE38148AA78BAF276E /* OCHamcrest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C47D0E4801E0DEC0332327D566643E55 /* HCAllOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D0588FC1308F310550404CF19002D6B /* HCAllOf.m */; }; - C498F24E736A80A0F6C440DBC33AF494 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = D7769D69E7A9905BB2F7322674ED9795 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C4DB8D5823089D10361E88E60D2E65F9 /* HCTestFailureReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = F726343EAD0B11A6C1E5174A191B14A2 /* HCTestFailureReporter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C52798F68673A7BCBCFEBDC1A0DF4CA0 /* MKTUnsignedIntArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D997DCEB03DB28740FE2B0D1D35EC16 /* MKTUnsignedIntArgumentGetter.m */; }; - C64C4032827660F5ED12E425857BE673 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = A518F9884735D9E29E2DF165F66CCB4A /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C670343470EAC260E60ABD463CC39E2D /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = C7D3DC810F24ED94AD29F3240A2DB7D0 /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C6B72580BB808AF68B870371A289A046 /* HCRequireNonNilObject.h in Headers */ = {isa = PBXBuildFile; fileRef = B957AD0F6E6D5D1F6DE3AE1821C25DFE /* HCRequireNonNilObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C79695553E6C7669F6B4A653A56F404A /* HCBaseDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 94C0A4073438D8EEDA9D9BDC333C2FB8 /* HCBaseDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C7C74F4BD73DD6C786A38922658BD0D2 /* HCClassMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 27E52D244EC78B5011B512315871B309 /* HCClassMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AFD62E72EC16582EEAE1BA37FE08E118 /* HCOrderingComparison.m in Sources */ = {isa = PBXBuildFile; fileRef = 88D0D3120FF235D48008DF840CD0C970 /* HCOrderingComparison.m */; }; + B06C7A6AAD79B10B990007976088CE27 /* MKTDoubleReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA219AF098A28FA8D24BBE2ACE8C99B /* MKTDoubleReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B0CCC52F2799408E6E68E32E8E485443 /* MKTBoolReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = DC14CBA93D0923BEB39127B1315300DF /* MKTBoolReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B0EF3A76F242ED4488A080C65BC551ED /* HCReturnTypeHandlerChain.h in Headers */ = {isa = PBXBuildFile; fileRef = E236CF3A5602C2C4A53D0D7EAD9174A5 /* HCReturnTypeHandlerChain.h */; settings = {ATTRIBUTES = (Private, ); }; }; + B1820A5E15F22942E386756A0473E808 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = B61149A53E5CE7DA9BB167C611F8403F /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B1964DABF421B8BA6BB9AB9E1CC0E387 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2B5B1BDF16944A4C8635BAF4A97ABC /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B21CE4EE0FB3C67A343C64DB1A66B46C /* HCThrowsException.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D8508803BBD8DAB62414FCA652A973F /* HCThrowsException.m */; }; + B241CF27E6B9D2DBC3236BDC1BDA5B69 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = F62F4B902EF2E0B20E92D51F34F96464 /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B2880B5D7D91AACFCEF345934CFEBA55 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AFAEE846C1B2F0EAAEFB7259FA083DE /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B2AE7864AFAE541F8EB22DF523EAE0F4 /* MKTCharArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C13B4A24FBA5C059B4765BEB62F945A /* MKTCharArgumentGetter.m */; }; + B2D887A90812D4514C58197E63E842E9 /* MKTUnsignedLongLongArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8128D9BECE1D0CE463516A1508CDD61C /* MKTUnsignedLongLongArgumentGetter.m */; }; + B32E4CF29A8A79B9B77A2C893077EB06 /* MKTProtocolMock.h in Headers */ = {isa = PBXBuildFile; fileRef = DD3BE350EBF5F95CAA7B35C0B5341166 /* MKTProtocolMock.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B461A4DF620AF5EE42FDE46388A6D27C /* OCHamcrest-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 58D7B5D1DD6973F53A515D3C79D061D8 /* OCHamcrest-dummy.m */; }; + B4E6183EBA754F2560BCB39671D749D9 /* HCHasCount.m in Sources */ = {isa = PBXBuildFile; fileRef = A1B2717539E6895D7675260E4509FDBE /* HCHasCount.m */; }; + B55F529C75C06C634B69DE0A2F2636FD /* HCAllOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F3A5AE6DF6CF17DB319DF80F71B00B5 /* HCAllOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B709C0890B67EB6C1AB9B9738CDBEEC6 /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 672AF26D73813F4AA4C07112CE540F1D /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B72D6F9CD6DCCF9339A269BC0CABA88C /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BA7434CD1D5E7487573CEB521D9E3FF /* ExpectaObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B7B482EC3A6D8835E5DCAB3B585D5F37 /* HCEvery.m in Sources */ = {isa = PBXBuildFile; fileRef = 06F84F52EEE5BC443438D5F19B8EA3CB /* HCEvery.m */; }; + B7E7CBE0EFFDDA930913341E217491E3 /* MKTBaseMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = F2D3890C6AF3C6C767BA58F19447ACD9 /* MKTBaseMockObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B7FB8C30C577D624F5E0B1FDB3E6CD8B /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F70A5F2D6816646A3091CFA0DFED53C /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BAA98BF425D78B9F9FB405680EA0CB3D /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FEF6E8CA97965F627C5AC319FD53426 /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BB0E62892680D990AC167E4629F95062 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D3909E096482986640835607E10F163 /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BC35E114B1BB85AB705DE6D738D6687C /* HCIsDictionaryContainingValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 99615AA4A9CFC12A9F2D3285A0AE3E1D /* HCIsDictionaryContainingValue.m */; }; + BD54FECF20F0E42850FDA6BC939A6D22 /* HCStringStartsWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 037887C7716BE3FD62F9EEC41E3F1A7F /* HCStringStartsWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BD8C24B7001D6ADCBD3A102D9EBE375A /* MKTObjectArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = F907581098E34D0A6E2B9BFCB3E2B29F /* MKTObjectArgumentGetter.m */; }; + BF522830CFA583BF365A2057E14006AE /* HCIsCollectionContaining.h in Headers */ = {isa = PBXBuildFile; fileRef = 75994CC19C4A17B694DF1D7CDE9F2323 /* HCIsCollectionContaining.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BF802C238ECD14DB714823B4BB11063E /* HCNumberAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 85DD565997D0FF1F86C8B90CDD421427 /* HCNumberAssert.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BF8E00B7C7F346C23DD69A6401318284 /* SPTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D35116F8C44AFEA9B01A3DB5F9B23884 /* SPTSpec.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C00E797911002F79E9EA05AB5E29366F /* HCUnsignedLongReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = DFCF8FDE01576BA144F931A6CEB133B4 /* HCUnsignedLongReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + C091203A57422574B3263D1E9BA53A87 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A051EA4D649EA1019886EC9D791B4FB /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C0A83FDDBFD30DDAD8D0FF34A543A0A1 /* HCReturnTypeHandlerChain.m in Sources */ = {isa = PBXBuildFile; fileRef = 03FB7AD8D7D1486FD1A6D57305B98FBF /* HCReturnTypeHandlerChain.m */; }; + C0C20A56916E46927E894F42740924DD /* HCIsEqualCompressingWhiteSpace.h in Headers */ = {isa = PBXBuildFile; fileRef = 10BBA65FFAA279CD10A6CE127BD394B9 /* HCIsEqualCompressingWhiteSpace.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C15482F645FA81E8AC582ABF8ACCCC08 /* MKTUnsignedLongReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 23CA027A74D65C1580A8EAE915E7AAC7 /* MKTUnsignedLongReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C1F051A20831B9CAABA767FDAFB066D1 /* SPTTestSuite.h in Headers */ = {isa = PBXBuildFile; fileRef = 7436CFF4F57F0644CEC16C8BE014D623 /* SPTTestSuite.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C2344B694D92938A47D5176E7A2888A1 /* HCHasDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 9909F444C9AC770B11A36A23396007DA /* HCHasDescription.m */; }; + C2D12564FDCCFEF757AB8EECCF1B2250 /* Specta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 135AC3DD3BD2ABA123D6F7E0844868DC /* Specta-dummy.m */; }; + C2DB2DD71D5FF65C3C11B177E74FCA99 /* HCClassMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = DF4F2E0B80F3674B5B04C73D5235E6DF /* HCClassMatcher.m */; }; + C482D613FF8EC7E9AB358F63FC4452DE /* HCBoolReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = AB52A787BAB2DA83F9BC312D3ABF4624 /* HCBoolReturnGetter.m */; }; + C498F24E736A80A0F6C440DBC33AF494 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 20A2E2FB564AF36BE63F88DEBB7CB38A /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C4EFC06E77A30C77E6038303235274FE /* HCSenTestFailureReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = CABAF2776E074197B11B4E03DBF13B9D /* HCSenTestFailureReporter.m */; }; + C51F559C29CDAA28882E074DF83621DA /* HCIsTrueFalse.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A9605E5C9DBC5438B37F68BC26E1063 /* HCIsTrueFalse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C56067B99D9F397F9B9357CCB482BF43 /* MKTUnsignedIntReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = C89E1F01D6E51ECCD855B9C7CC8C72E8 /* MKTUnsignedIntReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C5AB285569224A4A78CAC2D6DAFF5D17 /* HCLongLongReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = CFEA9304E5CB4368CC214783C939ADB4 /* HCLongLongReturnGetter.m */; }; + C64C4032827660F5ED12E425857BE673 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = A122AB82A7CF2908A40C9E8D99BDDAD0 /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C670343470EAC260E60ABD463CC39E2D /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 59ADAB92179B091B5C23EF825D5C6109 /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C71D4F3D3C9F68E9E0CB50D4B2D7342D /* HCStringContainsInOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = D7BA3857CF6B2ADF7C1B90E182DE80A9 /* HCStringContainsInOrder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C7FF47391AC3AC1C7EFB9B65F2BA5573 /* HCOrderingComparison.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B2A8DFC8C18CDE42FDE7E514DD83C04 /* HCOrderingComparison.h */; settings = {ATTRIBUTES = (Public, ); }; }; C829D01C1BFADB162D73025F48252782 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */; }; - C8779431279DC4D37E2C4DC1C4F60012 /* MKTReturnValueSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = B91F1B6693C85B0792C592B449713402 /* MKTReturnValueSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CA2E28A3B973AB78B4DEF0A67B034801 /* HCUnsignedIntReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8587789A8349C1FC4E68390D5157AFF /* HCUnsignedIntReturnGetter.m */; }; - CC995F4F36E9D6237AFC6F729364B867 /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 721A00FA6D2247EBD3E7EB46E19F85DC /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CD2FC6DBCD77DA9108D905B1208F0364 /* MKTClassReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = F7A1BE72028CC0345985EE09E762982C /* MKTClassReturnSetter.m */; }; - CDA268F5B643324DD61A0E25BD4179ED /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A5388105F5BDDC5D525EF8591D75F1D /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CDC9F8DAB80FB58D9CBEE8C081A23205 /* MKTStructReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = F1891A9665B095C5C4688EEBF9261DB7 /* MKTStructReturnSetter.m */; }; - CE13AE4BEC53FB93D5626C67E26346CD /* MKTUnsignedCharArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DD27801854D19B7B8F814F882FF0AF3 /* MKTUnsignedCharArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CE891F45EF69D8D233B7171CECB8D2C3 /* MKTShortReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 986CDBD265C6F843E1DA7E4DFD9A98AB /* MKTShortReturnSetter.m */; }; - CEF92700DFF23B5748E9CB966D31C797 /* MKTIntArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 784A10F5188A6313C6D9B8FD031C764E /* MKTIntArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C8892611FDB6273FC8C838620A548CDA /* SPTExample.h in Headers */ = {isa = PBXBuildFile; fileRef = A35D362B5E46C3DDEDF10098DA49044A /* SPTExample.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8E5699A7E22ADE2A201C80E953455B7 /* HCStringContains.m in Sources */ = {isa = PBXBuildFile; fileRef = 833A67A1CCC864A774FF98F9699343F0 /* HCStringContains.m */; }; + C95A7D77C17E0EBD9B02A4A5D83244C7 /* MKTInvocationsChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CB8C454172D1A3221ACDF5C38CDE303 /* MKTInvocationsChecker.m */; }; + C99F713097E61FB7D8842E54AF23773D /* MKTUnsignedLongLongArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = D6AA36BAA9D68CF711541AA6AC7DDBFF /* MKTUnsignedLongLongArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CB41C84003FD9764AD2749551FC8FACF /* MKTNumberOfInvocationsChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 54C2E06CB872ADB6FA82CA834E66A017 /* MKTNumberOfInvocationsChecker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CB926D27F1575F2467664A78F51C5A64 /* HCSubstringMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 751414775D82CD881AC6D13D85ED8D25 /* HCSubstringMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC995F4F36E9D6237AFC6F729364B867 /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = B4AE77AB84490F6DF8B3FA33394CB027 /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + CCA7F786752F6AA5589A5EB1708C4715 /* HCIsCollectionOnlyContaining.h in Headers */ = {isa = PBXBuildFile; fileRef = 777BAACDFF061F018B5EA1EB5A03A529 /* HCIsCollectionOnlyContaining.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CCB12A4346BB0E17F7238030BFDAE9BC /* MKTExecutesBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A3110E5C930082C3D33A25D43106FBD /* MKTExecutesBlock.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CD5E247FD8A778FD2F3F95EAF523B7CC /* HCIsEqualToNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = D1D1493A9B02B5AFD2D75AD23817B4CB /* HCIsEqualToNumber.m */; }; + CDA268F5B643324DD61A0E25BD4179ED /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = A9697DA4E5B592649D076B1F9ABB0428 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + CDC83487E92DDA255E770BC25515C493 /* HCDiagnosingMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 0498004DEBCB6A6D9DF0F5991B949FC1 /* HCDiagnosingMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CE8CC117F35FDB5C9D4D099E5F0836F6 /* MKTSingletonSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = A6B227F4C2C6926B94137DFA1FB41E12 /* MKTSingletonSwizzler.m */; }; + CED459354E0DA3256395E23ACF84CAB2 /* HCIsNot.h in Headers */ = {isa = PBXBuildFile; fileRef = 73F7AB06956FF0EDEFB582A6CB6CFD34 /* HCIsNot.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D045BD29644E59FF681D3F3F768FA8B0 /* MKTPrinter.h in Headers */ = {isa = PBXBuildFile; fileRef = C30E916F686E8989AAC4C9FB6F801819 /* MKTPrinter.h */; settings = {ATTRIBUTES = (Project, ); }; }; D129CE6A58BA632326E7F0E18E495EF5 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FBDD60AB5EC0183A198A13D9A5D7BCE /* XCTest.framework */; }; - D2103B8D52C35B1FB782CA0F1BA9D112 /* MKTMockitoCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DE58564676C40048A80DF0140125049 /* MKTMockitoCore.m */; }; - D284F2987F665F58A5A0A9195F09A10F /* MKTUnsignedLongLongReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DBC307430B378CF723274A02BF957DA /* MKTUnsignedLongLongReturnSetter.m */; }; - D3161D16210AFF03EB32C171E6094FF4 /* MKTUnsignedIntReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = AD3F3995DC5972515896BC77DD7A2651 /* MKTUnsignedIntReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D3B4D194BECF709DFA85E588891B885E /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = F6AD780F9470304B87B2CC3301BFF898 /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D3F86654764247C047A036C649967E04 /* MKTObjectMock.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E955C5781A9CA5D05322CDEF07E36CB /* MKTObjectMock.m */; }; - D4C35488C53456964F422AEF923BD6E3 /* MKTArgumentGetterChain.m in Sources */ = {isa = PBXBuildFile; fileRef = 641A6A02393DE477B4671914FD5505A5 /* MKTArgumentGetterChain.m */; }; - D5A715BFD1A8B993580B24AC14B805BB /* MKTReturnsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = CBCB60F8759005B2893ACD6D7E984072 /* MKTReturnsValue.m */; }; - D6A3048F39FA0C7F1984F6777B175522 /* HCXCTestFailureReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = D801481EAD10876E1B434443D7136242 /* HCXCTestFailureReporter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D7605B575577446F8B190D9804E32A8E /* HCIsDictionaryContainingEntries.h in Headers */ = {isa = PBXBuildFile; fileRef = 88E17B5441171A410D427E648B3107B2 /* HCIsDictionaryContainingEntries.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D78338E2FA3C6D8C91BD269F89242BC6 /* MKTLongLongArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BEAA0A1B5E590968ED8E1324AEE9420 /* MKTLongLongArgumentGetter.m */; }; - D94F3CDE976C052BF0BD112E257A7F19 /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = C81547C03DBF462F3BE44AC0BBAF9F69 /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D9BED5484FD23396B56AB8A60E97A564 /* MKTCharArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 76777B65FA5E2CF4C5018AA19AFBD7A2 /* MKTCharArgumentGetter.m */; }; - DC376E128EF11571D5765F4539D5B385 /* SPTExample.h in Headers */ = {isa = PBXBuildFile; fileRef = 78FE76ABA89E6036A6B2C86392ABBB3B /* SPTExample.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DDBD6DE75F95478451087A5960E615E4 /* MKTDoubleReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 94BFC6458BD702F6C2E9329F24256175 /* MKTDoubleReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE3F9E4E433712A0618B9322C2F17B1B /* HCStringEndsWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 729E009DD67CA7E5F89B86FBA83998AE /* HCStringEndsWith.m */; }; - DEFC1411331F9AEB1786E107E0DEEECE /* SpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 5072BEC2F7CAACBBC07B857467BC6232 /* SpectaSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DFFE7035A8177E14B29DE53973AE3B1E /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = A6154EBC8D7540E023689DEFFAB9CB86 /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D20C32D77F2BADCBA7784769C7F29878 /* SpectaDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 40A2AACB260E7123DB2E0FD9BAB4C7B0 /* SpectaDSL.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D21EBADE9CF7AFD581AD8DB876E3CEFC /* MKTDynamicProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F3B96BB8930C0278A7939FE15534F61 /* MKTDynamicProperties.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D251D79A7D01B8CF282C87EC09C5479E /* SPTExampleGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 572F4F6A56A785C57741D28BE8A69A97 /* SPTExampleGroup.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D279E2BD90528EEABB8F0E5BB7D965A0 /* MKTAtLeastNumberOfInvocationsChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = A4EE9E776AE0689F66746417DD6070A4 /* MKTAtLeastNumberOfInvocationsChecker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D31B816CFD40961DA3F5D991B412D10E /* HCIsTrueFalse.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A7CDE49289BCF36F2732F39F86200E8 /* HCIsTrueFalse.m */; }; + D3B4D194BECF709DFA85E588891B885E /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 77E5294C3C761A17314C2927319ADC35 /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D3CB0BDEA5657EAB631F804DC532D370 /* MKTParseCallStack.h in Headers */ = {isa = PBXBuildFile; fileRef = F73942D2E67D55FDCCA84FB5DBF97461 /* MKTParseCallStack.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D4CAC1FAE9AFB0DB2C26EA884E5F2A0E /* MKTDoubleArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = A784DB47A806AF3B61CF79C947CCE9F2 /* MKTDoubleArgumentGetter.m */; }; + D6B7ECDD01D1C3D405BADBFD90DE2263 /* HCIs.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D7E884218776109F790354C1A8F1AA /* HCIs.m */; }; + D6BF77DCC2528486F3B4443D1A85A72C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */; }; + D70F95B386CF776048C4CE33DE4CC248 /* MKTShortArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D14C5CD9936AFA26CBA3528F18BA05 /* MKTShortArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D7A498CC6C0CAC7463DAC7C17779ED9C /* MKTInvocationMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AF734317631D0CF1F71FD42395F5250 /* MKTInvocationMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D7BA08E0F03B34471654AF9C80826590 /* HCAnyOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 91041B54FEF6D219A5A4F59914121F3F /* HCAnyOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D918057EDC0F913FB2189882E1C4F416 /* HCStringContainsInOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = 05904337845FE34331E2F4C662357A23 /* HCStringContainsInOrder.m */; }; + D94F3CDE976C052BF0BD112E257A7F19 /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 605F138FAE194CF882B7F23FC023F3E7 /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + DA5FA354DE1C535DFD8DEE0E6693BC0F /* SPTCallSite.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C96289AED2FCEC04BD53802FDA750E8 /* SPTCallSite.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DB3CB41F59421158741F86492A183BF1 /* SPTCompiledExample.h in Headers */ = {isa = PBXBuildFile; fileRef = E3AA41AD76165630351001EBA8480D4C /* SPTCompiledExample.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DCA96AA803955D0D93183A79868CD228 /* HCIsIn.h in Headers */ = {isa = PBXBuildFile; fileRef = B8617A95FC5CB23CD756B45C27D96B36 /* HCIsIn.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DCC546713B87217A7AABFD2D3D1C3CCD /* MKTIntReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = CEB69A6BFCC999DA1FD8AE29A1FD67E9 /* MKTIntReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DCCEE6D0D4D57094E2F7853CD793661A /* MKTVerificationData.h in Headers */ = {isa = PBXBuildFile; fileRef = D66CC52E4EECF0EA0FAB90827AAC0830 /* MKTVerificationData.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DD4DCF6FAFF8460E6EABF8AE0CEC62DB /* MKTDoubleArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = E6E8B27CB320D1D8C2166ECE7145082D /* MKTDoubleArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DEA4BACFE69E486D064A169AFCB0F8BE /* MKTNonObjectArgumentMatching.h in Headers */ = {isa = PBXBuildFile; fileRef = 21C2625ACB24C79E71388DCB2AE5F93B /* MKTNonObjectArgumentMatching.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DF30039166416C87A644F4C5401E0412 /* HCStringDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = FB6D061537A9B5278C4D6BEC0FC6FDFD /* HCStringDescription.m */; }; + DFFE7035A8177E14B29DE53973AE3B1E /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = A47CFC65B90BF60373ACCAED5B74513E /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; E005B7F635A5DED8E0BFA06C3BDF1F4B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */; }; - E00C7F647A459E6AD0478EA1D968F154 /* HCAnyOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 605034934E1029B72054B69D1F55055E /* HCAnyOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E046B2B9044907C19F7587D6A01CACEF /* MKTPointerArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 848C27D8BC986717BC2187F3A2A9E098 /* MKTPointerArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E20495FC8348295CDB60EB25EDF8218F /* MKTUnsignedLongLongReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 10E69051EFAE40CFBB6105F4E84BAD78 /* MKTUnsignedLongLongReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E22B2DF047DDEBE5A75252F46E5BAD45 /* XCTestRun+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = E853970D5857CBD6B3B21AB255FDF67F /* XCTestRun+Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E22D35B45915D22462AE4F097A75769B /* HCInvocationMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D37D3FAA2DD9D63FE3EF67F084EBDEA /* HCInvocationMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E2601A0D5905CDB584F6C7784AE83E80 /* HCIsEqual.h in Headers */ = {isa = PBXBuildFile; fileRef = E95EC2FDAACED200F6891C7F61C66929 /* HCIsEqual.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E2CC52563F6E79BDB4BB2FC854E5F30D /* HCIsEqualIgnoringCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 0444F631EC793184DD6BBFD12AD30610 /* HCIsEqualIgnoringCase.m */; }; - E301AE828B9762303737ED93D3FA0B73 /* SPTXCTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C527E34D679F4CAD266B79992C4A878 /* SPTXCTestCase.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E35FFEC8B155D28A1907BF9C8B1650E5 /* MKTDoubleArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CD207F5F2F16E4C7AC2739F2AEECE23 /* MKTDoubleArgumentGetter.m */; }; - E4D30F290BFF2BF7F84E8D3A7B7BAA4F /* MKTCapturingMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = A06363FCD4AF08C11E50EACCEFD9B017 /* MKTCapturingMatcher.m */; }; - E6D4EFE058E4F8E61A2B842EAC293EF9 /* XCTestCase+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = DEC24CAB0B28799066CF39B4F5C1C731 /* XCTestCase+Specta.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E7B4B4DBC3EBE96275623A6792A9173B /* HCIsCollectionContainingInOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = 12CF4F3CCA06C1A1CC18B12611B3677F /* HCIsCollectionContainingInOrder.m */; }; - E7EB6245D8307F37C20BD9362D4DB421 /* HCBoolReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B25E9E8C57272642E1BCFB60C992BCC /* HCBoolReturnGetter.m */; }; - E84F1F0684ADFC334C710FBB6AE1A7E0 /* MKTThrowsException.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A91266099C63716806AB34152D6F9BC /* MKTThrowsException.m */; }; - E8C9DE5335683343E04FCBB1B7ADABED /* MKTUnsignedIntReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = A18E5583ADF80EB05295C1EBB23CF472 /* MKTUnsignedIntReturnSetter.m */; }; - E8FF9FA8D3D5288E2411AF6DFC2F6AFC /* MKTLongReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = A8D4772CFEB5B34B54214BCF1472DA33 /* MKTLongReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E9302AD8A5A5E06D480563FC0DC677DE /* HCBoolReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1868A1901D68D2B8FC1E8ADF3A1283D0 /* HCBoolReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - E95DE019212836608A35BF3270AADF17 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F199BB59053D994A775D66CF873AC74 /* Expecta-dummy.m */; }; - E9DAF1C1A9C2135372ABE358D2D72CD8 /* HCIsDictionaryContaining.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DDBF0BC3AA7F8357D5DA8F16FB9E211 /* HCIsDictionaryContaining.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA7C5C4E62C2E349983A19DFCC90F1C1 /* HCDoubleReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 746E1ECB75F05C3E1F0234C8D4634E78 /* HCDoubleReturnGetter.m */; }; - EB1BB00C38ADB2EF6605E9851839F7BD /* SPTSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 11698544CF04C2C6C30ADC31EC5F9D11 /* SPTSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EBAE63FF8DA3BB93CF2731A8B555F76B /* HCDescribedAs.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FCDD98C37244676ED3429C62CA17CEB /* HCDescribedAs.m */; }; - ED087996824EE3256B222E3BAEBAB14D /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 87FFE8DB6009824BE6E51B0E95717EAE /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - EE5A8DD4F03A890084772DA66DE9BE93 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 285225DA28048FD0015562E4CB9B2D1C /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EE91764E51EA6720C42FA3B48A966730 /* HCIsEqualIgnoringCase.h in Headers */ = {isa = PBXBuildFile; fileRef = 060A1008E8A759930481DD929203644E /* HCIsEqualIgnoringCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EF0D08D495DB9FBB3A2AC77B44C07F9F /* HCStringEndsWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 31051799E7440671FA080A4D873E4341 /* HCStringEndsWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EFCF1E2468BC28069F92B4702B5DD463 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 69360425CBA8B8F8E5ADD7A26111F866 /* EXPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F138EDB4E03F2020343C3379AB7FAB4B /* HCCollect.m in Sources */ = {isa = PBXBuildFile; fileRef = 41917508AEE3EE9FC893AD7A7194C72D /* HCCollect.m */; }; - F1709AF03E4D7F98BE0ACB099B4CDCC6 /* MKTIntArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1704E06A1056DE428AD907E93D36A859 /* MKTIntArgumentGetter.m */; }; - F1AA24AB1ED5E8ACD43BC42AFCABA71C /* HCBaseDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = D540907071561734FD7BFA486ABE0381 /* HCBaseDescription.m */; }; - F1BA0DD016E84441A03837CB1DEBEA8C /* MKTClassReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 321BD148BD60D6BF8C273CF43B83F40C /* MKTClassReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F20BAE8889D473B16D6D34039C3B9FC0 /* HCStringContainsInOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9AE7C6C442C9DA6824C05982E0ADFB /* HCStringContainsInOrder.m */; }; - F235E9E7BADB04580B5A3655EAC58FA9 /* HCReturnTypeHandlerChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 7689DBBBBD57CCF21B26EC6F5CE82388 /* HCReturnTypeHandlerChain.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F28622BE52F6F212288D80216DEA2187 /* HCIsCollectionContainingInRelativeOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = 754C8E0D535D8ED784D591E9CDDB440D /* HCIsCollectionContainingInRelativeOrder.m */; }; - F3D6C90DF502E4B6BFA4B4B950FB176B /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C5278B195B9B0B37A650ABB018AA5DE /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F405E66EB943ED398653DD6349124143 /* OCMockito.h in Headers */ = {isa = PBXBuildFile; fileRef = A4AD8A25F62C5AE3057242275C70EA15 /* OCMockito.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F42C63F29EC7D80B7389C15DE0094438 /* HCIsDictionaryContainingValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 0229816A21F86428A911E3B6EF60BFE5 /* HCIsDictionaryContainingValue.m */; }; - F42D346F162AB7ADB92A8A08605D7092 /* MKTObjectReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F656383C0EDECB1F5F0DDC697B9905C /* MKTObjectReturnSetter.m */; }; - F4FD342B0DC689CF323EA45D0FC8184D /* HCSubstringMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 446025AEBE0D3D73B729A9B2FC487FEE /* HCSubstringMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F55EBBBCCF7682B97FC98DCFB590ABDE /* HCFloatReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = FD9A271CC1CB9E72D0B028B90232C6F5 /* HCFloatReturnGetter.m */; }; - F58E47FFFE1D981E2373B28982052A50 /* HCIsEqualIgnoringWhiteSpace.m in Sources */ = {isa = PBXBuildFile; fileRef = 642EE4014FD60B03072024FA328C3202 /* HCIsEqualIgnoringWhiteSpace.m */; }; - F61D54B0FFAC0D127DF270C16435090C /* SPTExampleGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 019D2C6AE25CFA6FFECAFB0FA673DAD8 /* SPTExampleGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F6518AD6E53A8AB01B1BD3F7A4F0D4B5 /* MKTShortReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 99A115E192BBFB8231C603832DBF7B3C /* MKTShortReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F723717739323D87160C266407A598C4 /* NSInvocation+OCMockito.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CDA653780E227991BE078F67EF1B2C4 /* NSInvocation+OCMockito.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F736FAD1177D1A071EC040AD86FBF941 /* MKTDoubleArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = EC7E90801AEA87F554539A38F4242E39 /* MKTDoubleArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F767EB6BD9E2EBE069A077827B10791C /* HCIsIn.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EF310C63CCA43AA01B1F75CF0DB107F /* HCIsIn.m */; }; + E026ED4F4DEFE48F6F69620D1A55E6C3 /* MKTFloatArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 84DC053E71885B1ACF12092F86E767B6 /* MKTFloatArgumentGetter.m */; }; + E0F58C5E3811CCE6653889AF0BEFBBDB /* MKTArgumentGetterChain.h in Headers */ = {isa = PBXBuildFile; fileRef = CDB609AA81D39D1671C3F2514553A840 /* MKTArgumentGetterChain.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E14164C1A66F737F3530E5B8A253A405 /* MKTDoubleReturnSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 748FB3E9249948D960D695DD6A6922C7 /* MKTDoubleReturnSetter.m */; }; + E2D753BC9A0F19AA5FDC90B808821A2F /* MKTExecutesBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = 467C51213362D8A09B8B530D446F8800 /* MKTExecutesBlock.m */; }; + E4291A4EC98C6A47894373C3137BD165 /* HCRunloopRunner.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C1CBF8F74D471866EC99E59A087291D /* HCRunloopRunner.m */; }; + E4F6AB85AB4D06EF77AEC34AFE18FB71 /* HCSenTestFailureReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = A78BC2BA87E40516B94B7097320AB0EC /* HCSenTestFailureReporter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + E5FB09401C0ADA8536B72B8136A3D883 /* MKT_TPDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = C522782AC422588453D499B5B537AA3B /* MKT_TPDWeakProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E6378C37407A605D9B2669ABE4B0C160 /* HCIsEqualToNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C71590D7EEBA4D7DB2DCD9098F90AEF /* HCIsEqualToNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E6A2E80597C315742A507C8EF1121CF6 /* MKTReturnsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 73C52694256B2DEF919EA3CF18732C6A /* MKTReturnsValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E7C1EF62A93D9EF67B0EC7AB89CA41A7 /* MKTLongArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D17272B403DBAC21A2C1A3F623D1E00 /* MKTLongArgumentGetter.m */; }; + E8E83EFDE67BEA503DA66DB23AC36730 /* HCArgumentCaptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 264261867DF0E49054C1CA189898B377 /* HCArgumentCaptor.m */; }; + E930BD124E225782E79E60E478E07202 /* HCIsCollectionContainingInOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = 1912F0F11E2148227506B107BB30D7B2 /* HCIsCollectionContainingInOrder.m */; }; + E94C7F819B9722FCE87C421B10A04540 /* HCIsDictionaryContainingKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 951EBCA71396EA4F74D93B249B5FDE50 /* HCIsDictionaryContainingKey.m */; }; + E95DE019212836608A35BF3270AADF17 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3B2A71849F159FFCB5173C50959D0AD /* Expecta-dummy.m */; }; + E9D8BD8F3019C2AF68511695E92313A7 /* SPTExampleGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C2C502B44117256829AFAB0EAAA1EE7 /* SPTExampleGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EA36A6ECF441620A4EE6FA5E5BB01612 /* HCIsCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = A6E97D51BE004086166CFD566256CB9A /* HCIsCloseTo.m */; }; + EAEA9771E179C19B1DEAE160A20888F0 /* HCClassMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = DEDFC7DDAEE4A88360F2FA4026F8CCAC /* HCClassMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EB32F213A6A5DD59ACD274A4698331DE /* MKTAtLeastNumberOfInvocationsChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 97266C588BA5856AFA86FF8A47E3F61D /* MKTAtLeastNumberOfInvocationsChecker.m */; }; + ECAE053D64F27FAA2C048E8083B3B64E /* MKTMockitoCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 5104140B658DD4732E8E77C26483750D /* MKTMockitoCore.m */; }; + ECEA4A414DC118AAD5919FBEB36CB3A3 /* HCNumberAssert.m in Sources */ = {isa = PBXBuildFile; fileRef = C76D54BB150B09F4E4C3DB263E1C7B49 /* HCNumberAssert.m */; }; + ED087996824EE3256B222E3BAEBAB14D /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 50A71DF80D0469226E9849954A2B16E9 /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + EE5A8DD4F03A890084772DA66DE9BE93 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = A7804B13D8C86987C18BB154328D1E39 /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EEE0AC9789EA2632A6945903582A6491 /* HCFloatReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1989605DBC0583B4542E025E529CB40B /* HCFloatReturnGetter.m */; }; + EFCF1E2468BC28069F92B4702B5DD463 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 442D2B50819BDAA2B34D15FEA995D358 /* EXPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F09190769D4C9C5E0EC7CA917669F2C5 /* MKTUnsignedLongLongReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E6CDAA1AE5B0945068795F38784929B /* MKTUnsignedLongLongReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F20DD3569825A89C541519E973C191A5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */; }; + F217CECE6B6FD4791458C60E46285D28 /* HCShortReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2686F8A3886974CBE109ABBD5B9A0F1F /* HCShortReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + F26C0AD2F6B0AE517FF98FF673409148 /* HCStringStartsWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F38A9D788DB692E1275892689DFCF6 /* HCStringStartsWith.m */; }; + F350A95F663806577DABDBC206844D7C /* HCTestFailureReporterChain.h in Headers */ = {isa = PBXBuildFile; fileRef = D36B885CF81F1B6E1700E844B55A5E0A /* HCTestFailureReporterChain.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F365C04AE7656B7A59A812E8B3BC2D47 /* SPTGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = F5C41B029AC8E88BEE7870780DA577BF /* SPTGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F3BB05D9712AEBBD74F3D3759AAA8796 /* MKTClassReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FB5C7C1D05A857A5A5BB1029E6CC07B /* MKTClassReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F3D6C90DF502E4B6BFA4B4B950FB176B /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = FE2C18A330221B8ABE0D851D72D04EFE /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F42DEB9287149FBEC30C96C0344D0B10 /* HCIsCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = E77C77E1975781C3E0B44443FD589DCE /* HCIsCloseTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F4A43546DD33C4076998738A4BF5D8C4 /* HCIsEmptyCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = 66F5A670B28BEF030ADA6A1CFC1AB56A /* HCIsEmptyCollection.m */; }; + F52EDBA6584407E3E014DB2DEA7F9D6F /* MKTUnsignedCharArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = E303A65F6CFC609ADA9D643FD3D7371B /* MKTUnsignedCharArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F56D7E16C616800DB9DA4F752BCD6339 /* MKTInvocationContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = BD467E7E279AFC6BC9E3E0BD1935C319 /* MKTInvocationContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F6B12F67C7FF8D104279AB5F44FACFAB /* MKTShortReturnSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FCBEDC9380095F08B0C0FF2762562AA /* MKTShortReturnSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F6C7E7053C3B4229E79E1277C85D56AE /* HCTestFailure.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D8688CA5FDBE4EC884439A87E6D615C /* HCTestFailure.m */; }; F7B20B4187947E3B6B93F0457C239D0B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FBDD60AB5EC0183A198A13D9A5D7BCE /* XCTest.framework */; }; - F870AF858DB5EFA5B7CF39D9174020B2 /* HCIsEqualToNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 8149E7BAFDAE7AA090C57628F18D78AE /* HCIsEqualToNumber.m */; }; - F8E39087737225714939DB0252FB1114 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 363D0E90F1FC1A139CE7EF5B70B6CC85 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - FB530F7ACED80E334E0D2C6A106D0834 /* HCUnsignedIntReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = FE591C6BE2DB959A05C8E2C035300904 /* HCUnsignedIntReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FBDEC175B2BE4CC32053DC429B420EB3 /* HCHasDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 323F2F9118A7CED349320DD17820ED06 /* HCHasDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FD43EE70F8A0BB58AF052058F805703E /* HCReturnValueGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = F8368B5DE56AC6E26B6DD45FFB851F71 /* HCReturnValueGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FDDD7F7EDD6E15CA6EF8C1E53D651643 /* HCThrowsException.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BD6DEBD02B1620F3C60718D6063D7E /* HCThrowsException.m */; }; - FE7602EF05257433DF507430704CF110 /* HCIsEmptyCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = E71D2C54E3A8C8684A94F4CF79EA4A54 /* HCIsEmptyCollection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FE84239BE923F217FD38E45B4F770EFD /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ABB00691AE6D9E81CBE796259D052EE /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - FF2BA3DF7004D39BDE48181D494040BF /* SPTReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 94E4F36C041BFCFDB6819A0142E92624 /* SPTReporter.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FF6ED2A91FB59AD1BCB4CCD19E4560FC /* HCUnsignedLongReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7611A26B982E36544BEB3F1C63ABCD9D /* HCUnsignedLongReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FFF61FB413EF523D41E412776EDD0018 /* HCWrapInMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F4B7982E2A3C9F79964A96C2CECAB3B /* HCWrapInMatcher.m */; }; + F851556734A1D4B34C85EFD1C404D6EA /* HCIsCollectionContainingInAnyOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C434D3359E199510EA7757E79C6C9AD /* HCIsCollectionContainingInAnyOrder.m */; }; + F8D087BAA14B4693B73F33DABF8AADAA /* MKT_TPDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = E2E6B6ABB6447A01F9F6C3ED689539DC /* MKT_TPDWeakProxy.m */; }; + F8E39087737225714939DB0252FB1114 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = E2F82C6FECE82DED179C8FEE1ACCB3A0 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F90ED912F2C4E0A45D59989A96F3D0DF /* HCShortReturnGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = C6A3F73889E91338C66015C8A09292FE /* HCShortReturnGetter.m */; }; + F9E9D235418A670E199B6C3EA05317B8 /* MKTTestLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CCA5D19940993BE3D457D82B48C01AF /* MKTTestLocation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FB8FCA8FE9F99E0A7DC3CECF1EF710C3 /* HCUnsignedIntReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 203D8A20D0941B89A3CE4DFB6DAFF7F9 /* HCUnsignedIntReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + FBA93D3C3A27E86CE804EF25A1A919C7 /* SPTCallSite.m in Sources */ = {isa = PBXBuildFile; fileRef = AFE10DBF66FBBFB12F3C1F667AB2405E /* SPTCallSite.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FC6669D4CE3D660048A5AC6F9C293A36 /* HCTestFailureReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = D4EE0319466C5F508CE33ACC19AFDC00 /* HCTestFailureReporter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FCBE0E40683A275BFE521623F58CCD8A /* MKTFilterCallStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 4609CB12076B6CD3603FFF8C90A0A68A /* MKTFilterCallStack.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FD0692747759639E20C0EF361D26BFF8 /* MKTAtLeastTimes.h in Headers */ = {isa = PBXBuildFile; fileRef = A31F946D9C8DACDDF8C315E70D95FD1E /* MKTAtLeastTimes.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE6C5672F0C4E038467A2C9B1B9D20FB /* MKTBoolArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 753C85B6C8217539605EB893E6B65222 /* MKTBoolArgumentGetter.m */; }; + FE6FA3A053412169A8029736CE9FAE36 /* MKTPointerArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = BDF2DBD435A17C260637EABE92AAB1BC /* MKTPointerArgumentGetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE73E37E8B47B683CF6FEF9070930CB1 /* MKTPointerArgumentGetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 403A0117471F7814FCCCA60582A8F0BE /* MKTPointerArgumentGetter.m */; }; + FE84239BE923F217FD38E45B4F770EFD /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = F894E8A1C645B6F3CFC93402DDA5ACE9 /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + FEF95A7A09440090BC48F8F163A80F62 /* HCAnyOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 36645721CE9635954125BE3350B83AB9 /* HCAnyOf.m */; }; + FF0B2BB7CE4C1BB1B1214FE060306F86 /* HCUnsignedCharReturnGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = F01BA516D4029E9EFDC1189035470697 /* HCUnsignedCharReturnGetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -429,21 +447,14 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 020FEA5CEB546A26C033662D3DC4351F; + remoteGlobalIDString = E926E88902604B212CE84DE83F4C84C5; remoteInfo = OCMockito; }; 416B6BF2918A8FC3A883DF0AF8890DA2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C641B16E50387696EB44AEB5DFACFE23; - remoteInfo = OCHamcrest; - }; - 6E3EA523CF1DE8BB291DEA4C9120806D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = C641B16E50387696EB44AEB5DFACFE23; + remoteGlobalIDString = 2A023507EAD85F40065A236BE2F30BD4; remoteInfo = OCHamcrest; }; 85E3E56387128DB384BA2C64D82FA771 /* PBXContainerItemProxy */ = { @@ -460,6 +471,13 @@ remoteGlobalIDString = 93EFB2BE499CD6475630BE670CD970D1; remoteInfo = StateKit; }; + B7CD30E0A3AF53C8AF482467AA4BCA52 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2A023507EAD85F40065A236BE2F30BD4; + remoteInfo = OCHamcrest; + }; ED1E2538630613692F8BBEDCF0B81550 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -470,437 +488,455 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0011821B4DEA643DFDEAA445623ACD05 /* MKTUnsignedShortReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedShortReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.h; sourceTree = ""; }; - 01641BB773953C5D8F2352DBA81ECAFD /* MKTSelectorArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTSelectorArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.m; sourceTree = ""; }; - 019D2C6AE25CFA6FFECAFB0FA673DAD8 /* SPTExampleGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExampleGroup.h; path = src/SPTExampleGroup.h; sourceTree = ""; }; - 0229816A21F86428A911E3B6EF60BFE5 /* HCIsDictionaryContainingValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsDictionaryContainingValue.m; path = Source/Library/Collection/HCIsDictionaryContainingValue.m; sourceTree = ""; }; - 02C16ADA1A28A7A951FA8F3ADE35812C /* MKTArgumentCaptor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTArgumentCaptor.m; path = Source/OCMockito/MKTArgumentCaptor.m; sourceTree = ""; }; - 03138C79F03E66C6DB250A9B99C0C282 /* MKTArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.h; sourceTree = ""; }; + 001586BD08DF32270E3354D0E048467C /* MKTReturnValueSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTReturnValueSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.m; sourceTree = ""; }; + 00AE67243808F6784BA011B808D120B6 /* MKTArgumentGetterChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTArgumentGetterChain.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.m; sourceTree = ""; }; + 021A6A2992091C2A3BD3AD2D2CE39220 /* HCLongReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCLongReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.h; sourceTree = ""; }; 0314C9A50297C86BC4B07710458F7BAD /* libPods-Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-Tests.a"; path = "libPods-Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 0444F631EC793184DD6BBFD12AD30610 /* HCIsEqualIgnoringCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEqualIgnoringCase.m; path = Source/Library/Text/HCIsEqualIgnoringCase.m; sourceTree = ""; }; - 046C37832A717378B0DC32D991B67E57 /* HCOrderingComparison.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCOrderingComparison.m; path = Source/Library/Number/HCOrderingComparison.m; sourceTree = ""; }; - 060A1008E8A759930481DD929203644E /* HCIsEqualIgnoringCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEqualIgnoringCase.h; path = Source/Library/Text/HCIsEqualIgnoringCase.h; sourceTree = ""; }; - 08B329E8F47EC51907A0F0A65A87FEA8 /* HCIsCollectionOnlyContaining.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionOnlyContaining.m; path = Source/Library/Collection/HCIsCollectionOnlyContaining.m; sourceTree = ""; }; - 090DCD0D602D8124A5AC65BC9598F6DE /* HCIsNot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsNot.h; path = Source/Library/Logical/HCIsNot.h; sourceTree = ""; }; - 09E9C9A3A3E657E63C18E2FB4012F32F /* OCMockito-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OCMockito-dummy.m"; sourceTree = ""; }; - 0A91266099C63716806AB34152D6F9BC /* MKTThrowsException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTThrowsException.m; path = Source/OCMockito/MKTThrowsException.m; sourceTree = ""; }; - 0A9D3ACA5CD73492EA84C5567E9FD329 /* MKTExecutesBlock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTExecutesBlock.m; path = Source/OCMockito/MKTExecutesBlock.m; sourceTree = ""; }; - 0B25E9E8C57272642E1BCFB60C992BCC /* HCBoolReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCBoolReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.m; sourceTree = ""; }; + 033DEB17C6F3E7FC7577C2FBB04E3C7F /* MKTReturnValueSetterChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTReturnValueSetterChain.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.h; sourceTree = ""; }; + 037887C7716BE3FD62F9EEC41E3F1A7F /* HCStringStartsWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringStartsWith.h; path = Source/Library/Text/HCStringStartsWith.h; sourceTree = ""; }; + 039068B2A2FB07EB2304AB87D9A609CF /* HCIsTypeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsTypeOf.h; path = Source/Library/Object/HCIsTypeOf.h; sourceTree = ""; }; + 03B8690E7D5AC2B5F8412204A4F61541 /* HCUnsignedShortReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedShortReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.m; sourceTree = ""; }; + 03FB7AD8D7D1486FD1A6D57305B98FBF /* HCReturnTypeHandlerChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCReturnTypeHandlerChain.m; path = Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.m; sourceTree = ""; }; + 044BE8C42729C7B31D6E8AA7DFABB451 /* MKTExactTimes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTExactTimes.m; path = Source/OCMockito/Verifying/MKTExactTimes.m; sourceTree = ""; }; + 0498004DEBCB6A6D9DF0F5991B949FC1 /* HCDiagnosingMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCDiagnosingMatcher.h; path = Source/Core/HCDiagnosingMatcher.h; sourceTree = ""; }; + 049C4D57CE4BC1E0E972C5CF44EF0D15 /* MKTAtLeastTimes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTAtLeastTimes.m; path = Source/OCMockito/Verifying/MKTAtLeastTimes.m; sourceTree = ""; }; + 0573A6D7E81142CA8A46EB687AC7E2FF /* HCArgumentCaptor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCArgumentCaptor.h; path = Source/Library/Object/HCArgumentCaptor.h; sourceTree = ""; }; + 05904337845FE34331E2F4C662357A23 /* HCStringContainsInOrder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringContainsInOrder.m; path = Source/Library/Text/HCStringContainsInOrder.m; sourceTree = ""; }; + 0600D6500A6788E2CEBE90DC10F589B2 /* HCCharReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCCharReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.h; sourceTree = ""; }; + 06A74F4DAD2FA1174A75F1FB62700FE0 /* MKTUnsignedShortReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedShortReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.m; sourceTree = ""; }; + 06F84F52EEE5BC443438D5F19B8EA3CB /* HCEvery.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCEvery.m; path = Source/Library/Collection/HCEvery.m; sourceTree = ""; }; + 08C78C651A61B4E47870A4803A225D5A /* OCMockito-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OCMockito-dummy.m"; sourceTree = ""; }; + 0916003B47532E415321C292DAA7B0E4 /* MKTBoolReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTBoolReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.m; sourceTree = ""; }; + 09D41B498C24D78BCB5097C56598D885 /* HCIsSame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsSame.m; path = Source/Library/Object/HCIsSame.m; sourceTree = ""; }; + 0AF053AC14EE43E2229D2090A5703DD7 /* HCReturnValueGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCReturnValueGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.h; sourceTree = ""; }; + 0B23A0C5C64286A691C9C1B6F3BD1A2D /* HCRequireNonNilObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCRequireNonNilObject.h; path = Source/Core/Helpers/HCRequireNonNilObject.h; sourceTree = ""; }; 0BC2D260EFCFA586670F1768EB518C0C /* libOCMockito.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libOCMockito.a; path = libOCMockito.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 0E9DF496BF275FABB607CF8882E3AC9A /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; - 0EF310C63CCA43AA01B1F75CF0DB107F /* HCIsIn.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsIn.m; path = Source/Library/Collection/HCIsIn.m; sourceTree = ""; }; - 10470D9D6FC181CF4581658BEC1C5090 /* MKTFloatArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTFloatArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.h; sourceTree = ""; }; - 106FE2667F2D42DA96CE0410E5869550 /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; - 10E69051EFAE40CFBB6105F4E84BAD78 /* MKTUnsignedLongLongReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedLongLongReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.h; sourceTree = ""; }; - 11698544CF04C2C6C30ADC31EC5F9D11 /* SPTSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSpec.h; path = src/SPTSpec.h; sourceTree = ""; }; - 119B0CACA5C04D2F15965A3CC345AC9E /* XCTestCase+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestCase+Specta.h"; path = "src/XCTestCase+Specta.h"; sourceTree = ""; }; - 12CF4F3CCA06C1A1CC18B12611B3677F /* HCIsCollectionContainingInOrder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionContainingInOrder.m; path = Source/Library/Collection/HCIsCollectionContainingInOrder.m; sourceTree = ""; }; - 13813E793072E5A871D9A2487BB4F5BC /* HCThrowsException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCThrowsException.h; path = Source/Library/Object/HCThrowsException.h; sourceTree = ""; }; - 143826AFE56AA5A34004011057B2853C /* HCReturnValueGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCReturnValueGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.m; sourceTree = ""; }; - 15E7D433F20C3BE241BF2DE69C319998 /* MKTBoolArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTBoolArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.m; sourceTree = ""; }; - 1704E06A1056DE428AD907E93D36A859 /* MKTIntArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTIntArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.m; sourceTree = ""; }; - 171F56E0ED4EFE40AF6BED127EE787A2 /* MKTVerificationData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTVerificationData.m; path = Source/OCMockito/MKTVerificationData.m; sourceTree = ""; }; - 17EA6876EF8A1409135C50987B8ABDB4 /* MKTOngoingStubbing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTOngoingStubbing.h; path = Source/OCMockito/MKTOngoingStubbing.h; sourceTree = ""; }; - 18521F640691124F36E4A2FC9AFFC9B2 /* HCArgumentCaptor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCArgumentCaptor.h; path = Source/Library/Object/HCArgumentCaptor.h; sourceTree = ""; }; - 1868A1901D68D2B8FC1E8ADF3A1283D0 /* HCBoolReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCBoolReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.h; sourceTree = ""; }; - 18998CA0AF56E347147B3063711C7FE3 /* HCAssertThat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCAssertThat.m; path = Source/Core/HCAssertThat.m; sourceTree = ""; }; - 18CB16E4AFD4C0D574253CEBD2F24C35 /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; - 193B573EE23A1CE4CC314D108AFFA61E /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; - 1A455F9880A3783ACEE78916141D472E /* MKTUnsignedCharReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedCharReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.h; sourceTree = ""; }; - 1A9410AAAFCC199B530E1CDA927EE396 /* HCUnsignedLongLongReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedLongLongReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.h; sourceTree = ""; }; - 1AAD62E836613D1585E17040CE1C7761 /* MKTDynamicProperties.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTDynamicProperties.h; path = Source/OCMockito/Helpers/MKTDynamicProperties.h; sourceTree = ""; }; - 1AD87792E97D8A89F74DF6FC148D8652 /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; - 1B815BD0A796155792A38F99CE841432 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; - 1C38AD6C28288FA6140F71692DFC5798 /* HCTestFailure.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCTestFailure.h; path = Source/Core/Helpers/TestFailureReporters/HCTestFailure.h; sourceTree = ""; }; - 1D758300B324A6F6A9CC09711B8F89F0 /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; - 1E790C506B06131BB096DE7B127A4FF5 /* MKTLongLongReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTLongLongReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.h; sourceTree = ""; }; - 1EE720C18700EAFE4148945A092B252A /* MKTArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.m; sourceTree = ""; }; - 1F1D4C6210883C57854D4118392D544D /* MKTBlockArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTBlockArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.h; sourceTree = ""; }; - 1F52295E305D4867D8534E980922291A /* MKTLongReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTLongReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.m; sourceTree = ""; }; - 1F93B04F728B878686992C841AB30542 /* HCBaseMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCBaseMatcher.m; path = Source/Core/HCBaseMatcher.m; sourceTree = ""; }; - 201DAE0DE55D3162D4E5EBE8AFD9DC9E /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; - 204257AAE4DCA510DA36038253B3AE69 /* MKTAtLeastTimes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTAtLeastTimes.h; path = Source/OCMockito/MKTAtLeastTimes.h; sourceTree = ""; }; - 2048BB78D6B1EC7EA7FFC45ECCB5759E /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; - 20532781CC283BFD1A95D3F3528A891E /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; - 207771309784E981A5CEB0EBFCEAC269 /* MKTMockitoCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTMockitoCore.h; path = Source/OCMockito/MKTMockitoCore.h; sourceTree = ""; }; - 21DC0EE1AD50FF14CBB104BDB8E60F05 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; - 2275679F9FDF24737AD3A611145DC523 /* HCNumberAssert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCNumberAssert.h; path = Source/Library/Number/HCNumberAssert.h; sourceTree = ""; }; - 235392573971CBEE38148AA78BAF276E /* OCHamcrest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCHamcrest.h; path = Source/OCHamcrest.h; sourceTree = ""; }; + 0C13B4A24FBA5C059B4765BEB62F945A /* MKTCharArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTCharArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.m; sourceTree = ""; }; + 0CB8C454172D1A3221ACDF5C38CDE303 /* MKTInvocationsChecker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTInvocationsChecker.m; path = Source/OCMockito/Verifying/MKTInvocationsChecker.m; sourceTree = ""; }; + 0CBD7FCF0C2FFEC4E5A243F13EE49319 /* HCIsTypeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsTypeOf.m; path = Source/Library/Object/HCIsTypeOf.m; sourceTree = ""; }; + 0D4FBEC70A2CDE3127CB51DBDE405999 /* XCTestCase+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestCase+Specta.m"; path = "Specta/Specta/XCTestCase+Specta.m"; sourceTree = ""; }; + 0DC05E870F0F14714079FCCC019E0C0B /* MKTDynamicProperties.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTDynamicProperties.m; path = Source/OCMockito/Mocking/MKTDynamicProperties.m; sourceTree = ""; }; + 0DC931512DC58C58C7C2A6039DB86759 /* MKTMatchingInvocationsFinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTMatchingInvocationsFinder.h; path = Source/OCMockito/Invocation/MKTMatchingInvocationsFinder.h; sourceTree = ""; }; + 0E6CDAA1AE5B0945068795F38784929B /* MKTUnsignedLongLongReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedLongLongReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.h; sourceTree = ""; }; + 0F3B96BB8930C0278A7939FE15534F61 /* MKTDynamicProperties.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTDynamicProperties.h; path = Source/OCMockito/Mocking/MKTDynamicProperties.h; sourceTree = ""; }; + 105476B67226B9AD1E0D97BE3A5E51F7 /* MKTMissingInvocationChecker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTMissingInvocationChecker.h; path = Source/OCMockito/Verifying/MKTMissingInvocationChecker.h; sourceTree = ""; }; + 10BBA65FFAA279CD10A6CE127BD394B9 /* HCIsEqualCompressingWhiteSpace.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEqualCompressingWhiteSpace.h; path = Source/Library/Text/HCIsEqualCompressingWhiteSpace.h; sourceTree = ""; }; + 11F38A9D788DB692E1275892689DFCF6 /* HCStringStartsWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringStartsWith.m; path = Source/Library/Text/HCStringStartsWith.m; sourceTree = ""; }; + 135AC3DD3BD2ABA123D6F7E0844868DC /* Specta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Specta-dummy.m"; sourceTree = ""; }; + 14944F6B3742EB9F71184E8E33246337 /* OCHamcrest-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OCHamcrest-prefix.pch"; sourceTree = ""; }; + 16E4C50F0860DCB2BCC9F7F2D64FA7DB /* HCCollect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCCollect.h; path = Source/Core/Helpers/HCCollect.h; sourceTree = ""; }; + 1773508DC2AE4CC49CE9F60DF6B34F7A /* MKTUnsignedCharArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedCharArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.m; sourceTree = ""; }; + 17D2C3A3258402B4EEF17967EE5CF135 /* HCIsEqual.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEqual.h; path = Source/Library/Object/HCIsEqual.h; sourceTree = ""; }; + 187E56273FC470160AA58E25C6E59BF1 /* MKTMockitoCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTMockitoCore.h; path = Source/OCMockito/Core/MKTMockitoCore.h; sourceTree = ""; }; + 1912F0F11E2148227506B107BB30D7B2 /* HCIsCollectionContainingInOrder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionContainingInOrder.m; path = Source/Library/Collection/HCIsCollectionContainingInOrder.m; sourceTree = ""; }; + 1989605DBC0583B4542E025E529CB40B /* HCFloatReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCFloatReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.m; sourceTree = ""; }; + 1A051EA4D649EA1019886EC9D791B4FB /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; + 1A2B5B1BDF16944A4C8635BAF4A97ABC /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; + 1AB1340C2BD6BDE7D1B175B90B40E66D /* MKTSelectorArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTSelectorArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.m; sourceTree = ""; }; + 1B03959D7BA381B457E06D208B3FCE27 /* MKTLongLongArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTLongLongArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.m; sourceTree = ""; }; + 1B091EDE67033974F32F731E4312B0F6 /* MKTSelectorArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTSelectorArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.h; sourceTree = ""; }; + 1B2A8DFC8C18CDE42FDE7E514DD83C04 /* HCOrderingComparison.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCOrderingComparison.h; path = Source/Library/Number/HCOrderingComparison.h; sourceTree = ""; }; + 1BE1DD023CAE0313246E8BCB92605E92 /* MKTObjectMock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTObjectMock.m; path = Source/OCMockito/Mocking/MKTObjectMock.m; sourceTree = ""; }; + 1C093F59972D8B6849A9E8F54ED39B02 /* HCIsNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsNil.m; path = Source/Library/Object/HCIsNil.m; sourceTree = ""; }; + 1C2C502B44117256829AFAB0EAAA1EE7 /* SPTExampleGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExampleGroup.h; path = Specta/Specta/SPTExampleGroup.h; sourceTree = ""; }; + 1C6B67A81AA35BBC01805D77D310B3D8 /* MKTInvocationContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTInvocationContainer.m; path = Source/OCMockito/Stubbing/MKTInvocationContainer.m; sourceTree = ""; }; + 1D01FD17E349CDF5DD35D92ED6F1AABA /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; + 1D14FF75C93E5D5C06246C7B6CD9C8DE /* MKTObjectAndProtocolMock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTObjectAndProtocolMock.m; path = Source/OCMockito/Mocking/MKTObjectAndProtocolMock.m; sourceTree = ""; }; + 1DAC7ECF0EB764014B657141DC1B627D /* HCSelfDescribing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCSelfDescribing.h; path = Source/Core/HCSelfDescribing.h; sourceTree = ""; }; + 1DAE6FCDD95EBEDD8F197110E39770FB /* MKTClassObjectMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTClassObjectMock.h; path = Source/OCMockito/Mocking/MKTClassObjectMock.h; sourceTree = ""; }; + 1DDE1FA02D8F97D377C9010D000ABDA3 /* XCTestCase+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestCase+Specta.h"; path = "Specta/Specta/XCTestCase+Specta.h"; sourceTree = ""; }; + 1DE16447D64482D73614215E11C00566 /* MKTArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.m; sourceTree = ""; }; + 1E3F497A18C55A2BBB8AE9C334BB1FE9 /* MKTTestLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTTestLocation.m; path = Source/OCMockito/Core/MKTTestLocation.m; sourceTree = ""; }; + 1F180A93175D68E58D8BD58F460141EA /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; + 1F70A5F2D6816646A3091CFA0DFED53C /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; + 1FB13CCF40DF9DAD5D4ED3BC58B7744A /* HCUnsignedLongLongReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedLongLongReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.h; sourceTree = ""; }; + 203D8A20D0941B89A3CE4DFB6DAFF7F9 /* HCUnsignedIntReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedIntReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.h; sourceTree = ""; }; + 20A2E2FB564AF36BE63F88DEBB7CB38A /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; + 2110B9DF82A6D81D77E6FE2582E7BB99 /* HCCharReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCCharReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.m; sourceTree = ""; }; + 21BED44252F96451CA588BFB25E9F975 /* NSInvocation+OCMockito.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+OCMockito.h"; path = "Source/OCMockito/Invocation/NSInvocation+OCMockito.h"; sourceTree = ""; }; + 21C2625ACB24C79E71388DCB2AE5F93B /* MKTNonObjectArgumentMatching.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTNonObjectArgumentMatching.h; path = Source/OCMockito/Core/MKTNonObjectArgumentMatching.h; sourceTree = ""; }; + 236D933A3D41A2D0F17D3AF2229D9DB0 /* HCBaseMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCBaseMatcher.h; path = Source/Core/HCBaseMatcher.h; sourceTree = ""; }; + 23BCA11A90BFA9F3053E87A63675780E /* MKTInvocationMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTInvocationMatcher.m; path = Source/OCMockito/Invocation/MKTInvocationMatcher.m; sourceTree = ""; }; + 23CA027A74D65C1580A8EAE915E7AAC7 /* MKTUnsignedLongReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedLongReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.h; sourceTree = ""; }; + 23F44FAC079BC79ED94D512FA646FAF9 /* MKTAtMostTimes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTAtMostTimes.m; path = Source/OCMockito/Verifying/MKTAtMostTimes.m; sourceTree = ""; }; 24002077F5E6BEA48BADC8EB380A3D6E /* Pods-StateKitExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-StateKitExample-frameworks.sh"; sourceTree = ""; }; - 24A21BEBE5B908F7C698E6727C8275A8 /* MKTIntReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTIntReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.h; sourceTree = ""; }; - 2590B9F3F395E06B9785D77933A0D7B7 /* NSInvocation+OCMockito.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+OCMockito.m"; path = "Source/OCMockito/NSInvocation+OCMockito.m"; sourceTree = ""; }; - 2683319EE4C2C265195B05597B538D8A /* SPTXCTestReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTXCTestReporter.h; path = src/SPTXCTestReporter.h; sourceTree = ""; }; - 27E52D244EC78B5011B512315871B309 /* HCClassMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCClassMatcher.h; path = Source/Library/Object/HCClassMatcher.h; sourceTree = ""; }; - 28190A025BCB52E3FC9B71EA23631485 /* MKTInvocationMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTInvocationMatcher.m; path = Source/OCMockito/MKTInvocationMatcher.m; sourceTree = ""; }; + 2442C68005A8FAF74CE796B407F44AC5 /* MKTCharArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTCharArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.h; sourceTree = ""; }; + 245AECD3605025B21E525039D3281867 /* MKTUnsignedLongArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedLongArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.h; sourceTree = ""; }; + 248EB2F3287F74665163273B506B4A58 /* MKTCharReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTCharReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.h; sourceTree = ""; }; + 24DCE11F1444FE164F7636E7E94CEED9 /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; + 264261867DF0E49054C1CA189898B377 /* HCArgumentCaptor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCArgumentCaptor.m; path = Source/Library/Object/HCArgumentCaptor.m; sourceTree = ""; }; + 2686F8A3886974CBE109ABBD5B9A0F1F /* HCShortReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCShortReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.h; sourceTree = ""; }; + 26FF871910CBB4E7285615AB83BA8A23 /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; 2827CA07827C61E1564DDE1C943211FE /* Pods-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Tests.release.xcconfig"; sourceTree = ""; }; - 284C6128A6B06E49DBC0ECC11FABE5BA /* HCIsCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCloseTo.h; path = Source/Library/Number/HCIsCloseTo.h; sourceTree = ""; }; - 285225DA28048FD0015562E4CB9B2D1C /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; - 2916EF372A1A55CE233A6FFE5FF478D1 /* HCTestFailureReporterChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCTestFailureReporterChain.h; path = Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.h; sourceTree = ""; }; - 2A22CE68E2F0DF472FF322A06F307C26 /* NSInvocation+OCHamcrest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+OCHamcrest.h"; path = "Source/Core/Helpers/NSInvocation+OCHamcrest.h"; sourceTree = ""; }; - 2A5388105F5BDDC5D525EF8591D75F1D /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; - 2A682C851BCF6F97545E4A8D896F280B /* HCIs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIs.h; path = Source/Library/Decorator/HCIs.h; sourceTree = ""; }; - 2B3EC2AF0D59E7B69DB191633F0C2920 /* HCIsTrueFalse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsTrueFalse.h; path = Source/Library/Number/HCIsTrueFalse.h; sourceTree = ""; }; - 2C0CE14AE72CC995493C5C1ED2B1D295 /* MKTBlockArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTBlockArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.m; sourceTree = ""; }; - 2C5278B195B9B0B37A650ABB018AA5DE /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; - 2D0588FC1308F310550404CF19002D6B /* HCAllOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCAllOf.m; path = Source/Library/Logical/HCAllOf.m; sourceTree = ""; }; - 2E705C0BBB9B8385CEB1EB9FD78CCFCE /* HCCharReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCCharReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.h; sourceTree = ""; }; - 2E955C5781A9CA5D05322CDEF07E36CB /* MKTObjectMock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTObjectMock.m; path = Source/OCMockito/MKTObjectMock.m; sourceTree = ""; }; - 2F8FB70AD147D8DA84040257F7E443BD /* MKTObjectArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTObjectArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.m; sourceTree = ""; }; - 2FEBF2812FEF50F1B6EA97FA35C3E35A /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; - 31051799E7440671FA080A4D873E4341 /* HCStringEndsWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringEndsWith.h; path = Source/Library/Text/HCStringEndsWith.h; sourceTree = ""; }; - 312549B8713B530D94A995502E06AFE1 /* MKTOngoingStubbing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTOngoingStubbing.m; path = Source/OCMockito/MKTOngoingStubbing.m; sourceTree = ""; }; - 3141DB030965DEE6D3C57D8BD525C3F2 /* MKTLongArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTLongArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.h; sourceTree = ""; }; - 314E0D4BD9A354C60A14E0D29D03E2CE /* HCIsTypeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsTypeOf.m; path = Source/Library/Object/HCIsTypeOf.m; sourceTree = ""; }; - 319D2AE1F42455512E41E068EB379486 /* HCIs.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIs.m; path = Source/Library/Decorator/HCIs.m; sourceTree = ""; }; - 321BD148BD60D6BF8C273CF43B83F40C /* MKTClassReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTClassReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.h; sourceTree = ""; }; - 323F2F9118A7CED349320DD17820ED06 /* HCHasDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCHasDescription.h; path = Source/Library/Object/HCHasDescription.h; sourceTree = ""; }; - 34491F91ADF697CA1400714C9083ACA1 /* MKTTestLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTTestLocation.m; path = Source/OCMockito/MKTTestLocation.m; sourceTree = ""; }; - 34B64208B54B6D3905B8094AAF851053 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; - 363D0E90F1FC1A139CE7EF5B70B6CC85 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; - 36AD7BBAD85DABF9253F0B060E790B0B /* Specta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-prefix.pch"; sourceTree = ""; }; - 3A7B3976F5300B3AD8E5B4E496D6D462 /* MKTUnsignedLongArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedLongArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.m; sourceTree = ""; }; + 28B57ADF2B43CA1646FB66299F24A518 /* MKTUnsignedIntArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedIntArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.m; sourceTree = ""; }; + 292A3274476E4B9EED3450E3822D043E /* HCBoolReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCBoolReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.h; sourceTree = ""; }; + 2959ADCEFB384FA5FC80823AAD3ED1EB /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; + 2B36AA09ECA88AD756999EAAB6CAA3F9 /* MKTLongLongArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTLongLongArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.h; sourceTree = ""; }; + 2C71590D7EEBA4D7DB2DCD9098F90AEF /* HCIsEqualToNumber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEqualToNumber.h; path = Source/Library/Number/HCIsEqualToNumber.h; sourceTree = ""; }; + 2C96289AED2FCEC04BD53802FDA750E8 /* SPTCallSite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCallSite.h; path = Specta/Specta/SPTCallSite.h; sourceTree = ""; }; + 2D37B24DDE50EE49CD4A52C3560E1CD1 /* SpectaDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaDSL.h; path = Specta/Specta/SpectaDSL.h; sourceTree = ""; }; + 2D8688CA5FDBE4EC884439A87E6D615C /* HCTestFailure.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCTestFailure.m; path = Source/Core/Helpers/TestFailureReporters/HCTestFailure.m; sourceTree = ""; }; + 2DD49A8755A5917DAD14BCF729B5114C /* MKTParseCallStack.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTParseCallStack.m; path = Source/OCMockito/Invocation/MKTParseCallStack.m; sourceTree = ""; }; + 2E55E15DEFDEE9E2C3A78255C517A392 /* HCStringContains.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringContains.h; path = Source/Library/Text/HCStringContains.h; sourceTree = ""; }; + 2EA9548DA838D4A4134CB019F8B11D5B /* MKTUnsignedCharReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedCharReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.h; sourceTree = ""; }; + 2EC47732124E238E04BA3B185D0F4597 /* HCBaseMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCBaseMatcher.m; path = Source/Core/HCBaseMatcher.m; sourceTree = ""; }; + 3066F0D9B630315CFC02E7B31D775E94 /* MKTUnsignedLongLongReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedLongLongReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.m; sourceTree = ""; }; + 318583D5AB71B2F1AFBDFE2412E0DD09 /* MKTStructReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTStructReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.h; sourceTree = ""; }; + 31CA647E1B4D9C0A5B2AA4B8B1D93F44 /* SPTExcludeGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExcludeGlobalBeforeAfterEach.h; path = Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h; sourceTree = ""; }; + 342630CC7BB7DA4C907DED53972C6FDD /* HCUnsignedLongReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedLongReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.m; sourceTree = ""; }; + 34297DD2C96B14DB9D413FEC175D65C7 /* MKTObjectReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTObjectReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.h; sourceTree = ""; }; + 36645721CE9635954125BE3350B83AB9 /* HCAnyOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCAnyOf.m; path = Source/Library/Logical/HCAnyOf.m; sourceTree = ""; }; + 37191AE6D3797C0260B157FE2A087E28 /* MKTOngoingStubbing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTOngoingStubbing.h; path = Source/OCMockito/Stubbing/MKTOngoingStubbing.h; sourceTree = ""; }; + 39C8501504A4BE25374646ED368A2A06 /* HCTestFailureReporterChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCTestFailureReporterChain.m; path = Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.m; sourceTree = ""; }; + 3A3110E5C930082C3D33A25D43106FBD /* MKTExecutesBlock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTExecutesBlock.h; path = Source/OCMockito/Stubbing/MKTExecutesBlock.h; sourceTree = ""; }; + 3A3C99F6634262BC7D6BAF906110B67B /* MKTVerificationMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTVerificationMode.h; path = Source/OCMockito/Verifying/MKTVerificationMode.h; sourceTree = ""; }; 3A8734620015C034232A12C5093FFC9B /* SKState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SKState.h; path = Pod/Classes/ObjC/SKState.h; sourceTree = ""; }; - 3A99FD38ADFDB515307EEC1FE364CAA5 /* HCAnyOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCAnyOf.m; path = Source/Library/Logical/HCAnyOf.m; sourceTree = ""; }; - 3AEE60A547B1A12152F35DDB803D05D2 /* SPTExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExample.m; path = src/SPTExample.m; sourceTree = ""; }; - 3B174E7C4B4818F61BE4280E5BFE1E02 /* MKTUnsignedShortReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedShortReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.m; sourceTree = ""; }; - 3C527E34D679F4CAD266B79992C4A878 /* SPTXCTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTXCTestCase.m; path = src/SPTXCTestCase.m; sourceTree = ""; }; - 3CB7871679F3D94B020E4975812B106D /* HCIsInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsInstanceOf.m; path = Source/Library/Object/HCIsInstanceOf.m; sourceTree = ""; }; + 3A9A05CC1A31B0017886E1DAC4D252F7 /* HCWrapInMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCWrapInMatcher.h; path = Source/Core/Helpers/HCWrapInMatcher.h; sourceTree = ""; }; + 3B6178A6ECA8122D9FC6ADB75ECFAEC7 /* HCWrapInMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCWrapInMatcher.m; path = Source/Core/Helpers/HCWrapInMatcher.m; sourceTree = ""; }; + 3C587827878ABBFA9B9465D9F8452CBB /* Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Specta.h; path = Specta/Specta/Specta.h; sourceTree = ""; }; + 3C6FA2944831A565BF0EF0382858A96D /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; + 3D17272B403DBAC21A2C1A3F623D1E00 /* MKTLongArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTLongArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.m; sourceTree = ""; }; 3D45C26832E63D14FC75C1518C39A08F /* Pods-StateKitExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StateKitExample-acknowledgements.plist"; sourceTree = ""; }; - 3D997DCEB03DB28740FE2B0D1D35EC16 /* MKTUnsignedIntArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedIntArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.m; sourceTree = ""; }; - 3DBC307430B378CF723274A02BF957DA /* MKTUnsignedLongLongReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedLongLongReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.m; sourceTree = ""; }; - 3DD5343A267306EC54940833E7D6BC78 /* HCTestFailureHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCTestFailureHandler.h; path = Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandler.h; sourceTree = ""; }; - 3DE58564676C40048A80DF0140125049 /* MKTMockitoCore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTMockitoCore.m; path = Source/OCMockito/MKTMockitoCore.m; sourceTree = ""; }; - 3E6AB6F4CCE675EEC7B690D1201042FA /* OCMockito-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OCMockito-prefix.pch"; sourceTree = ""; }; - 3F0239D46923D4AE49B63F37AF79E31B /* MKTReturnValueSetterChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTReturnValueSetterChain.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.m; sourceTree = ""; }; - 3F4BC67386DE889F6FFBE1890A4DF08A /* NSInvocation+OCHamcrest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+OCHamcrest.m"; path = "Source/Core/Helpers/NSInvocation+OCHamcrest.m"; sourceTree = ""; }; - 3FA4E0B0AC53037FD5B8DD88895E8944 /* HCLongLongReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCLongLongReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.m; sourceTree = ""; }; - 3FB1A64E1FDB06A651F5329B24109676 /* HCUnsignedLongLongReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedLongLongReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.m; sourceTree = ""; }; + 3DD8408E9202D3B9C1A285443295C2A7 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; + 3F3A5AE6DF6CF17DB319DF80F71B00B5 /* HCAllOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCAllOf.h; path = Source/Library/Logical/HCAllOf.h; sourceTree = ""; }; 3FBDD60AB5EC0183A198A13D9A5D7BCE /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 41677BA7F73DB24CAD9DA8BBA47F3356 /* HCDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCDescription.h; path = Source/Core/HCDescription.h; sourceTree = ""; }; - 41917508AEE3EE9FC893AD7A7194C72D /* HCCollect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCCollect.m; path = Source/Core/Helpers/HCCollect.m; sourceTree = ""; }; - 4231CCFDF6E74BE8E00A0F74F28FA432 /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; - 42BD6DEBD02B1620F3C60718D6063D7E /* HCThrowsException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCThrowsException.m; path = Source/Library/Object/HCThrowsException.m; sourceTree = ""; }; + 403A0117471F7814FCCCA60582A8F0BE /* MKTPointerArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTPointerArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.m; sourceTree = ""; }; + 40A2AACB260E7123DB2E0FD9BAB4C7B0 /* SpectaDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaDSL.m; path = Specta/Specta/SpectaDSL.m; sourceTree = ""; }; + 41A8481E0122B3A2F42519827D6C6095 /* MKTStubbedInvocationMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTStubbedInvocationMatcher.m; path = Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.m; sourceTree = ""; }; + 41E3734E5128CE0E14AD0057E08F7D14 /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; 42ED8619768ABE3A84BABA603E2AFBD5 /* SKStateChart.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SKStateChart.m; path = Pod/Classes/ObjC/SKStateChart.m; sourceTree = ""; }; - 4438690AF5EF0C44AB5EE5BA2933AE9C /* HCIsDictionaryContainingValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsDictionaryContainingValue.h; path = Source/Library/Collection/HCIsDictionaryContainingValue.h; sourceTree = ""; }; - 445727D771CBCC12F019386412989F43 /* HCIsAnything.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsAnything.m; path = Source/Library/Logical/HCIsAnything.m; sourceTree = ""; }; - 446025AEBE0D3D73B729A9B2FC487FEE /* HCSubstringMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCSubstringMatcher.h; path = Source/Library/Text/HCSubstringMatcher.h; sourceTree = ""; }; - 44E0895D809E0C0F25F7ABBD3799E6C0 /* HCIsCollectionOnlyContaining.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionOnlyContaining.h; path = Source/Library/Collection/HCIsCollectionOnlyContaining.h; sourceTree = ""; }; - 44EBE7B4E9837501BB62A288F8C78738 /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; - 453DF47E90CE478014B3FD7DC9497D75 /* HCIsDictionaryContainingEntries.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsDictionaryContainingEntries.m; path = Source/Library/Collection/HCIsDictionaryContainingEntries.m; sourceTree = ""; }; - 4678FD317AC290D2EAFFE5AD17DD0D31 /* HCIsDictionaryContainingKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsDictionaryContainingKey.h; path = Source/Library/Collection/HCIsDictionaryContainingKey.h; sourceTree = ""; }; - 46D2FEBC5B420D360F45A61E478D52CD /* MKTMockingProgress.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTMockingProgress.m; path = Source/OCMockito/MKTMockingProgress.m; sourceTree = ""; }; - 47847FA0C4D3E303A52E58A21D87D1CF /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; - 4953335BDF9B5963387D40974703E52F /* HCLongReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCLongReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.h; sourceTree = ""; }; - 4C68E0F73F5DB906EC5530917A4230F4 /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; - 4CA6B386D22B7906338DFCD77CE9FBD7 /* HCAssertThat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCAssertThat.h; path = Source/Core/HCAssertThat.h; sourceTree = ""; }; - 4DDFF08FFE0E9F28AF015A6FF8F234B4 /* HCUnsignedCharReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedCharReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.m; sourceTree = ""; }; - 4E1A4B57DA374A66FA2DFA6AA15BCC47 /* MKTReturnsValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTReturnsValue.h; path = Source/OCMockito/MKTReturnsValue.h; sourceTree = ""; }; + 434471BB422F9D894102B6BAB7462992 /* MKTIntArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTIntArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.h; sourceTree = ""; }; + 43659139A00A4C9D10506EEE7F300933 /* MKTInvocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTInvocation.m; path = Source/OCMockito/Invocation/MKTInvocation.m; sourceTree = ""; }; + 43660AA319F117EF1983B32D887F62CE /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; + 43E7A9CB152F95E3218CA1A1C000021C /* HCIsEqualCompressingWhiteSpace.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEqualCompressingWhiteSpace.m; path = Source/Library/Text/HCIsEqualCompressingWhiteSpace.m; sourceTree = ""; }; + 441F28AD5D2F24E2FB880AD94983C8D8 /* MKTBoolArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTBoolArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.h; sourceTree = ""; }; + 44238DCE66F7A5ED03B2D25481C9E888 /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; + 442D2B50819BDAA2B34D15FEA995D358 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; + 4497FF9EA0AD1DA2144E2F61AF3F8DB3 /* HCIsInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsInstanceOf.h; path = Source/Library/Object/HCIsInstanceOf.h; sourceTree = ""; }; + 4609CB12076B6CD3603FFF8C90A0A68A /* MKTFilterCallStack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTFilterCallStack.h; path = Source/OCMockito/Invocation/MKTFilterCallStack.h; sourceTree = ""; }; + 4665F3CF44A9C5DD5AD3AC1CD1D6A8A5 /* MKTAtMostTimes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTAtMostTimes.h; path = Source/OCMockito/Verifying/MKTAtMostTimes.h; sourceTree = ""; }; + 467C51213362D8A09B8B530D446F8800 /* MKTExecutesBlock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTExecutesBlock.m; path = Source/OCMockito/Stubbing/MKTExecutesBlock.m; sourceTree = ""; }; + 49CE860EBF22CFCDF1B94936901DA86A /* HCUnsignedIntReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedIntReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.m; sourceTree = ""; }; + 4AC00FDECFA6FB81525DF5D4A5D5C574 /* OCHamcrest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCHamcrest.h; path = Source/OCHamcrest.h; sourceTree = ""; }; + 4AFAEE846C1B2F0EAAEFB7259FA083DE /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; + 4BDD409F6D3A480C4F5CB69EED7B07DA /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; + 4CA6A8D5EB5D52919A08976E7A424655 /* HCBaseDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCBaseDescription.m; path = Source/Core/HCBaseDescription.m; sourceTree = ""; }; + 4CCA5D19940993BE3D457D82B48C01AF /* MKTTestLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTTestLocation.h; path = Source/OCMockito/Core/MKTTestLocation.h; sourceTree = ""; }; + 4DCB011BDA1D7EA8828670E2EF44BDEF /* HCDescribedAs.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCDescribedAs.m; path = Source/Library/Decorator/HCDescribedAs.m; sourceTree = ""; }; + 4E36713283607648FC1824CD92FA5196 /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; + 4E4E6BDC3EA946DDDE4E9BA9E1950D1F /* HCIsAnything.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsAnything.h; path = Source/Library/Logical/HCIsAnything.h; sourceTree = ""; }; + 4EA21928BF8DB9ABC78E3CBB82E3C144 /* OCMockito.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMockito.m; path = Source/OCMockito/Core/OCMockito.m; sourceTree = ""; }; 4ED73CB7BE84EE20E9CA8201C792FBF7 /* Pods-Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Tests-resources.sh"; sourceTree = ""; }; - 4F199BB59053D994A775D66CF873AC74 /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; - 4F656383C0EDECB1F5F0DDC697B9905C /* MKTObjectReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTObjectReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.m; sourceTree = ""; }; - 4F961857FC7C977E3E8488F1A4BFF332 /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; - 50620FD1879845FDFBC84C46CB95F002 /* HCHasDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCHasDescription.m; path = Source/Library/Object/HCHasDescription.m; sourceTree = ""; }; - 5072BEC2F7CAACBBC07B857467BC6232 /* SpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaSupport.h; path = src/SpectaSupport.h; sourceTree = ""; }; - 50BB7F28CAD849BAF45BA59714B3911F /* SPTNestedReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTNestedReporter.m; path = src/SPTNestedReporter.m; sourceTree = ""; }; - 5159F6B314602C0E5BB9C98CB98AB065 /* HCIsCollectionContainingInAnyOrder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionContainingInAnyOrder.m; path = Source/Library/Collection/HCIsCollectionContainingInAnyOrder.m; sourceTree = ""; }; - 53FF3A49DF1B73D035AA13DAE077C575 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; - 54BB2FE1C30942109B9F71E3631E1FFA /* MKTBaseMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTBaseMockObject.m; path = Source/OCMockito/MKTBaseMockObject.m; sourceTree = ""; }; - 55834E6C04EB6CD84A31DDC404D89EAF /* HCFloatReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCFloatReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.h; sourceTree = ""; }; - 559BC6093AD615E517DAFD1F1631628F /* MKTStructArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTStructArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.m; sourceTree = ""; }; - 566866BDD13B1AC00C3DD89DF6EE1AB6 /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; - 56CC209526028F2F92DFEBCEA422EB20 /* HCDescribedAs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCDescribedAs.h; path = Source/Library/Decorator/HCDescribedAs.h; sourceTree = ""; }; - 5839C24500F60F1FCE88660A0B395DA1 /* XCTestLog+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestLog+Specta.m"; path = "src/XCTestLog+Specta.m"; sourceTree = ""; }; - 589FAC53E4A9A4D0FACD4F841E7C502F /* HCStringStartsWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringStartsWith.h; path = Source/Library/Text/HCStringStartsWith.h; sourceTree = ""; }; - 58F1AF74D04316B3CB7380A34143C537 /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; - 594410D43C6008CEA050EBB689C6774E /* MKTExactTimes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTExactTimes.h; path = Source/OCMockito/MKTExactTimes.h; sourceTree = ""; }; + 4EFD2BB4F8AE2383A936D8FF93CC8528 /* HCDiagnosingMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCDiagnosingMatcher.m; path = Source/Core/HCDiagnosingMatcher.m; sourceTree = ""; }; + 4FB5C7C1D05A857A5A5BB1029E6CC07B /* MKTClassReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTClassReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.h; sourceTree = ""; }; + 4FEF6E8CA97965F627C5AC319FD53426 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; + 50A71DF80D0469226E9849954A2B16E9 /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; + 50AA06B268440EA13984DDE2DF7879C8 /* HCXCTestFailureReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCXCTestFailureReporter.m; path = Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.m; sourceTree = ""; }; + 5104140B658DD4732E8E77C26483750D /* MKTMockitoCore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTMockitoCore.m; path = Source/OCMockito/Core/MKTMockitoCore.m; sourceTree = ""; }; + 525EF3F64E1273F7DEA14690E2929C48 /* HCIsDictionaryContaining.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsDictionaryContaining.h; path = Source/Library/Collection/HCIsDictionaryContaining.h; sourceTree = ""; }; + 5311558C0D814B689D5FA9457CA4C4FD /* MKTReturnValueSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTReturnValueSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.h; sourceTree = ""; }; + 54C2E06CB872ADB6FA82CA834E66A017 /* MKTNumberOfInvocationsChecker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTNumberOfInvocationsChecker.h; path = Source/OCMockito/Verifying/MKTNumberOfInvocationsChecker.h; sourceTree = ""; }; + 5577A55CD46A209B76BE3BA3D9092E17 /* MKTShortReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTShortReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.m; sourceTree = ""; }; + 572F4F6A56A785C57741D28BE8A69A97 /* SPTExampleGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExampleGroup.m; path = Specta/Specta/SPTExampleGroup.m; sourceTree = ""; }; + 5816EFC241A9E553C3821434105C0F74 /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; + 58D7B5D1DD6973F53A515D3C79D061D8 /* OCHamcrest-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OCHamcrest-dummy.m"; sourceTree = ""; }; + 59ADAB92179B091B5C23EF825D5C6109 /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; 59CBA15B8C9F8BBA5DBD0CAA43DA3CDD /* StateKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "StateKit-prefix.pch"; sourceTree = ""; }; - 59E4F9BFA76FD82E1BC68ADA45209531 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; - 5CD207F5F2F16E4C7AC2739F2AEECE23 /* MKTDoubleArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTDoubleArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.m; sourceTree = ""; }; - 5DBDBB6D3B9C97795D865AF2C819AF6D /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; - 5F426ACCF25FA3AF6915008D169B0DBC /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; - 6036D9113B7CD237AD38A9E91739A5E2 /* SPTSharedExampleGroups.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSharedExampleGroups.m; path = src/SPTSharedExampleGroups.m; sourceTree = ""; }; - 605034934E1029B72054B69D1F55055E /* HCAnyOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCAnyOf.h; path = Source/Library/Logical/HCAnyOf.h; sourceTree = ""; }; - 619B54D239AACE64F81727379C7F7C3B /* SPTSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSpec.m; path = src/SPTSpec.m; sourceTree = ""; }; - 621DE7E71C68694A8AC0C42EFC34DB86 /* HCRequireNonNilObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCRequireNonNilObject.m; path = Source/Core/Helpers/HCRequireNonNilObject.m; sourceTree = ""; }; - 624CCA5E947C5D0FD52BC6C63958F661 /* HCIsSame.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsSame.m; path = Source/Library/Object/HCIsSame.m; sourceTree = ""; }; - 641A6A02393DE477B4671914FD5505A5 /* MKTArgumentGetterChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTArgumentGetterChain.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.m; sourceTree = ""; }; - 642EE4014FD60B03072024FA328C3202 /* HCIsEqualIgnoringWhiteSpace.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEqualIgnoringWhiteSpace.m; path = Source/Library/Text/HCIsEqualIgnoringWhiteSpace.m; sourceTree = ""; }; - 6551C3CE2303F12C0BBB5469728B4FBE /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; - 655CDF166B449E7C52994C9318A4D26D /* MKTFloatArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTFloatArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.m; sourceTree = ""; }; - 655FC3508047B8DA8324C676D170A8D1 /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; - 666DB259EDE67769EA04DC67E8C44CB2 /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; - 683EAAD9794A976CA710F39AB62D68E0 /* MKTSelectorArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTSelectorArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.h; sourceTree = ""; }; - 6928C89DBE7F8B27C90F4FD7DE060480 /* HCIsCollectionContainingInAnyOrder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionContainingInAnyOrder.h; path = Source/Library/Collection/HCIsCollectionContainingInAnyOrder.h; sourceTree = ""; }; - 69360425CBA8B8F8E5ADD7A26111F866 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; + 5A3133A683CFF52EC2A59035495FB0C3 /* MKTUnsignedIntReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedIntReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.m; sourceTree = ""; }; + 5AF734317631D0CF1F71FD42395F5250 /* MKTInvocationMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTInvocationMatcher.h; path = Source/OCMockito/Invocation/MKTInvocationMatcher.h; sourceTree = ""; }; + 5BA7434CD1D5E7487573CEB521D9E3FF /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; + 5C04F51A2CA1D980694FF92D28069CB3 /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; + 5C0E4A0FDF3A74B247DA308F6CD736E2 /* SPTSharedExampleGroups.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSharedExampleGroups.m; path = Specta/Specta/SPTSharedExampleGroups.m; sourceTree = ""; }; + 5C1CBF8F74D471866EC99E59A087291D /* HCRunloopRunner.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCRunloopRunner.m; path = Source/Core/Helpers/HCRunloopRunner.m; sourceTree = ""; }; + 5C4F003AD6982B432456E7A8CAFA4C55 /* HCAllOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCAllOf.m; path = Source/Library/Logical/HCAllOf.m; sourceTree = ""; }; + 5CFC8EBF9D8A0F70517AE19AF21D98ED /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; + 5D3909E096482986640835607E10F163 /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; + 5F60F5349F39046F2166BAE02C791069 /* HCLongLongReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCLongLongReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.h; sourceTree = ""; }; + 5FCBEDC9380095F08B0C0FF2762562AA /* MKTShortReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTShortReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.h; sourceTree = ""; }; + 60366B486ECFF1206A6DFA1CC605CA37 /* HCStringEndsWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringEndsWith.m; path = Source/Library/Text/HCStringEndsWith.m; sourceTree = ""; }; + 605F138FAE194CF882B7F23FC023F3E7 /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; + 606CC5C05F9EA01F9C4CBC32BE5247CC /* MKTIntArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTIntArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.m; sourceTree = ""; }; + 6096C64B4ADB295A37CEF5E82809EBEA /* MKTCallStackElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTCallStackElement.h; path = Source/OCMockito/Invocation/MKTCallStackElement.h; sourceTree = ""; }; + 611E0874434F7A6AAB18498D9093C7EB /* HCInvocationMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCInvocationMatcher.h; path = Source/Core/Helpers/HCInvocationMatcher.h; sourceTree = ""; }; + 61949F3246BE053BB5F061B6E38811A8 /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; + 621ABF48C6D2FF29EC32758968150FFC /* HCConformsToProtocol.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCConformsToProtocol.m; path = Source/Library/Object/HCConformsToProtocol.m; sourceTree = ""; }; + 62AD063F1CAE3D26B4502AE1825CD31F /* HCIsCollectionOnlyContaining.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionOnlyContaining.m; path = Source/Library/Collection/HCIsCollectionOnlyContaining.m; sourceTree = ""; }; + 62B91AE9656FF122302CDE54ADF9FA05 /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; + 62DD284F5FEAE3CEDEB9DCC3D4EADEFE /* MKTObjectArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTObjectArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.h; sourceTree = ""; }; + 635F45FC1CD5D639ACF0C1BCF8DA30C0 /* HCIsCollectionContainingInRelativeOrder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionContainingInRelativeOrder.h; path = Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.h; sourceTree = ""; }; + 6626CF8267E003A1CC7B2AC98AD476D1 /* MKTOngoingStubbing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTOngoingStubbing.m; path = Source/OCMockito/Stubbing/MKTOngoingStubbing.m; sourceTree = ""; }; + 66E1E4974BF011D5EBC33076BB46EBC3 /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; + 66F5A670B28BEF030ADA6A1CFC1AB56A /* HCIsEmptyCollection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEmptyCollection.m; path = Source/Library/Collection/HCIsEmptyCollection.m; sourceTree = ""; }; + 671623F961A6DC5DB2D33430F815744D /* MKTMockingProgress.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTMockingProgress.m; path = Source/OCMockito/Core/MKTMockingProgress.m; sourceTree = ""; }; + 672AF26D73813F4AA4C07112CE540F1D /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; + 6810A3203ADD7DA125EB6F3F33997309 /* HCLongReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCLongReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.m; sourceTree = ""; }; + 68B39EB840550D6DF86085016947CCDA /* HCIsEqual.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEqual.m; path = Source/Library/Object/HCIsEqual.m; sourceTree = ""; }; 69E2C6AA755F24AEF32EA8195F96DEC8 /* libOCHamcrest.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libOCHamcrest.a; path = libOCHamcrest.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 6A93F410F36AA87234BA048A6AEB450B /* HCTestFailureReporterChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCTestFailureReporterChain.m; path = Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.m; sourceTree = ""; }; + 6A9605E5C9DBC5438B37F68BC26E1063 /* HCIsTrueFalse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsTrueFalse.h; path = Source/Library/Number/HCIsTrueFalse.h; sourceTree = ""; }; + 6ABA649C84C36782E4063FD805A01492 /* XCTest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTest+Private.h"; path = "Specta/Specta/XCTest+Private.h"; sourceTree = ""; }; 6AEEF2CACFB4022111A38E631FF08F72 /* libExpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libExpecta.a; path = libExpecta.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 6BEAA0A1B5E590968ED8E1324AEE9420 /* MKTLongLongArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTLongLongArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.m; sourceTree = ""; }; - 6D131FF9D02AB375385E8AF3B4CC792C /* HCIsTypeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsTypeOf.h; path = Source/Library/Object/HCIsTypeOf.h; sourceTree = ""; }; - 6DE6FEC69FC815AB27267B7EDB4C7BF8 /* MKTStubbedInvocationMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTStubbedInvocationMatcher.m; path = Source/OCMockito/MKTStubbedInvocationMatcher.m; sourceTree = ""; }; - 6E79308D6EB26C8A4F1881DF57A47FEB /* MKT_TPDWeakProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKT_TPDWeakProxy.m; path = "Source/ThirdParty/TPDWeakProxy-1.1.0/TPDWeakProxy/MKT_TPDWeakProxy.m"; sourceTree = ""; }; - 6F4B7982E2A3C9F79964A96C2CECAB3B /* HCWrapInMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCWrapInMatcher.m; path = Source/Core/Helpers/HCWrapInMatcher.m; sourceTree = ""; }; - 6FCDD98C37244676ED3429C62CA17CEB /* HCDescribedAs.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCDescribedAs.m; path = Source/Library/Decorator/HCDescribedAs.m; sourceTree = ""; }; - 71346F5D30CE8D076F8EEC7E098D4D16 /* HCUnsignedShortReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedShortReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.h; sourceTree = ""; }; - 71AA722352CAFFD5E8B58CF44FEEADEF /* XCTestLog+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestLog+Specta.h"; path = "src/XCTestLog+Specta.h"; sourceTree = ""; }; - 721A00FA6D2247EBD3E7EB46E19F85DC /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; - 729E009DD67CA7E5F89B86FBA83998AE /* HCStringEndsWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringEndsWith.m; path = Source/Library/Text/HCStringEndsWith.m; sourceTree = ""; }; - 72E5BD869E3A206BC33A9AE8593129C3 /* MKTTestLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTTestLocation.h; path = Source/OCMockito/MKTTestLocation.h; sourceTree = ""; }; - 72EFDF93348455E696735F6E75C6D26D /* MKTAnswer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTAnswer.h; path = Source/OCMockito/MKTAnswer.h; sourceTree = ""; }; - 73C631587DCE4BA7427177DEFD420791 /* HCDoubleReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCDoubleReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.h; sourceTree = ""; }; - 73CFF149EA427AA9208332EB1B32DB47 /* HCSubstringMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCSubstringMatcher.m; path = Source/Library/Text/HCSubstringMatcher.m; sourceTree = ""; }; - 746E1ECB75F05C3E1F0234C8D4634E78 /* HCDoubleReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCDoubleReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.m; sourceTree = ""; }; + 6C434D3359E199510EA7757E79C6C9AD /* HCIsCollectionContainingInAnyOrder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionContainingInAnyOrder.m; path = Source/Library/Collection/HCIsCollectionContainingInAnyOrder.m; sourceTree = ""; }; + 6CE25D27209D6CED252FCF1BEAE0DC78 /* MKTUnsignedLongArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedLongArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.m; sourceTree = ""; }; + 6D5B2E28912870E5B3F5111805DCE1BC /* HCEvery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCEvery.h; path = Source/Library/Collection/HCEvery.h; sourceTree = ""; }; + 6D8508803BBD8DAB62414FCA652A973F /* HCThrowsException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCThrowsException.m; path = Source/Library/Object/HCThrowsException.m; sourceTree = ""; }; + 6EA090B333C423AA0AB6A4E8DBF8E22F /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; + 6F55445F662963C28EF23B085BD8A5FF /* MKTLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTLocation.h; path = Source/OCMockito/Invocation/MKTLocation.h; sourceTree = ""; }; + 6F66B2BAA215B2C0F7802F54F7DE7D13 /* HCXCTestFailureReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCXCTestFailureReporter.h; path = Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.h; sourceTree = ""; }; + 72F2C5A8AC3FA563610D029895CF007A /* MKTPrinter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTPrinter.m; path = Source/OCMockito/Invocation/MKTPrinter.m; sourceTree = ""; }; + 73C52694256B2DEF919EA3CF18732C6A /* MKTReturnsValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTReturnsValue.h; path = Source/OCMockito/Stubbing/MKTReturnsValue.h; sourceTree = ""; }; + 73F7AB06956FF0EDEFB582A6CB6CFD34 /* HCIsNot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsNot.h; path = Source/Library/Logical/HCIsNot.h; sourceTree = ""; }; + 7436CFF4F57F0644CEC16C8BE014D623 /* SPTTestSuite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTTestSuite.h; path = Specta/Specta/SPTTestSuite.h; sourceTree = ""; }; + 74721BF0C1E68DF8F1E89659A1B237CB /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; + 748FB3E9249948D960D695DD6A6922C7 /* MKTDoubleReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTDoubleReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.m; sourceTree = ""; }; + 74AC4F3F17388612127B03776F9652D5 /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; 74B4FE10C5A5CEF1BCD8BC26CDE4DC0C /* Pods-StateKitExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StateKitExample.debug.xcconfig"; sourceTree = ""; }; - 74DF450CF556FE5027A555737809426A /* HCIsIn.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsIn.h; path = Source/Library/Collection/HCIsIn.h; sourceTree = ""; }; - 754C8E0D535D8ED784D591E9CDDB440D /* HCIsCollectionContainingInRelativeOrder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionContainingInRelativeOrder.m; path = Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.m; sourceTree = ""; }; - 76096D085AC8FEF0352460F0C84DB09F /* HCMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCMatcher.h; path = Source/Core/HCMatcher.h; sourceTree = ""; }; - 7611A26B982E36544BEB3F1C63ABCD9D /* HCUnsignedLongReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedLongReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.h; sourceTree = ""; }; - 76777B65FA5E2CF4C5018AA19AFBD7A2 /* MKTCharArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTCharArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.m; sourceTree = ""; }; - 7689DBBBBD57CCF21B26EC6F5CE82388 /* HCReturnTypeHandlerChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCReturnTypeHandlerChain.h; path = Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.h; sourceTree = ""; }; - 783186A8B9280E3462BAEB7D74D36966 /* MKTObjectReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTObjectReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.h; sourceTree = ""; }; - 784A10F5188A6313C6D9B8FD031C764E /* MKTIntArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTIntArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.h; sourceTree = ""; }; - 78FE76ABA89E6036A6B2C86392ABBB3B /* SPTExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExample.h; path = src/SPTExample.h; sourceTree = ""; }; - 79AD96AF7E7A88B008780B2DD1EE238D /* HCDiagnosingMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCDiagnosingMatcher.h; path = Source/Core/HCDiagnosingMatcher.h; sourceTree = ""; }; - 7A6E713772BFF5CB07412C2FD016626D /* MKTUnsignedLongLongArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedLongLongArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.m; sourceTree = ""; }; - 7B50BA2C2DDAC47B713A84FD307A587C /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; - 7B834F14384CBD7F208BC2B47F7E629B /* MKTUnsignedLongArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedLongArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.h; sourceTree = ""; }; - 7BE0718420E3C9C44CF93718B4EB9FAA /* MKTVerificationData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTVerificationData.h; path = Source/OCMockito/MKTVerificationData.h; sourceTree = ""; }; - 7C02C557A816677D8C976C3D4307AE97 /* MKTObjectMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTObjectMock.h; path = Source/OCMockito/MKTObjectMock.h; sourceTree = ""; }; - 7D08A0C6F4498E72984AF70084B969D8 /* SPTNestedReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTNestedReporter.h; path = src/SPTNestedReporter.h; sourceTree = ""; }; - 7DDBF0BC3AA7F8357D5DA8F16FB9E211 /* HCIsDictionaryContaining.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsDictionaryContaining.h; path = Source/Library/Collection/HCIsDictionaryContaining.h; sourceTree = ""; }; - 7E23CEA91469DD59E7F1E9C7AE6965A5 /* MKTLongLongArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTLongLongArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.h; sourceTree = ""; }; - 7FD0BDAA8DE7BCDFB450A15A6EEF2D60 /* MKTUnsignedShortArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedShortArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.m; sourceTree = ""; }; - 811027B08457F8963B9D02A801543C2C /* HCLongLongReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCLongLongReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.h; sourceTree = ""; }; - 8149E7BAFDAE7AA090C57628F18D78AE /* HCIsEqualToNumber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEqualToNumber.m; path = Source/Library/Number/HCIsEqualToNumber.m; sourceTree = ""; }; - 8230BAE7230FA744B8E57CF4E34EE02B /* MKTCharArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTCharArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.h; sourceTree = ""; }; - 83010E4A88C4F81F9DBB24FC89062F2B /* MKTObjectAndProtocolMock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTObjectAndProtocolMock.m; path = Source/OCMockito/MKTObjectAndProtocolMock.m; sourceTree = ""; }; - 838AD3B5562EAC9691E465AFB5E8346A /* HCConformsToProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCConformsToProtocol.h; path = Source/Library/Object/HCConformsToProtocol.h; sourceTree = ""; }; + 751414775D82CD881AC6D13D85ED8D25 /* HCSubstringMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCSubstringMatcher.h; path = Source/Library/Text/HCSubstringMatcher.h; sourceTree = ""; }; + 753C85B6C8217539605EB893E6B65222 /* MKTBoolArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTBoolArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.m; sourceTree = ""; }; + 75504B8036E05F261A8E9E19652D6999 /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; + 7563FC83B5651F04DFF5266452966AAA /* Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.xcconfig; sourceTree = ""; }; + 75994CC19C4A17B694DF1D7CDE9F2323 /* HCIsCollectionContaining.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionContaining.h; path = Source/Library/Collection/HCIsCollectionContaining.h; sourceTree = ""; }; + 76752574FEA558FB722DB28ABDA9928C /* MKTFloatReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTFloatReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.h; sourceTree = ""; }; + 777BAACDFF061F018B5EA1EB5A03A529 /* HCIsCollectionOnlyContaining.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionOnlyContaining.h; path = Source/Library/Collection/HCIsCollectionOnlyContaining.h; sourceTree = ""; }; + 77E5294C3C761A17314C2927319ADC35 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; + 7852947AD3108622428BBE935B54F873 /* HCTestFailure.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCTestFailure.h; path = Source/Core/Helpers/TestFailureReporters/HCTestFailure.h; sourceTree = ""; }; + 78C6AE5105D173E4A67E4A209E593349 /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; + 79F04EF7F18A8B6D3048CF9FCDA69DC8 /* HCGenericTestFailureReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCGenericTestFailureReporter.m; path = Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.m; sourceTree = ""; }; + 7A7CDE49289BCF36F2732F39F86200E8 /* HCIsTrueFalse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsTrueFalse.m; path = Source/Library/Number/HCIsTrueFalse.m; sourceTree = ""; }; + 7D5ECB28AAE9F3F42AA186BA1F8331B3 /* MKTLongArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTLongArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.h; sourceTree = ""; }; + 7D9B33C0C18E3A933FB7303AAE692ACF /* HCGenericTestFailureReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCGenericTestFailureReporter.h; path = Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.h; sourceTree = ""; }; + 7E34FC4242D0BD9CA41D8101A2365D62 /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; + 7E3DA59175747B508257C97EDD01F807 /* HCDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCDescription.h; path = Source/Core/HCDescription.h; sourceTree = ""; }; + 80CB5763B8C3B0F4BA0C01A08A817B78 /* MKTVerificationData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTVerificationData.m; path = Source/OCMockito/Verifying/MKTVerificationData.m; sourceTree = ""; }; + 80DD5B4934024BA847F1D3BA6BEEDB2B /* HCStringDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringDescription.h; path = Source/Core/HCStringDescription.h; sourceTree = ""; }; + 811FE5F73FFD5E8C3AAACF48B8D59446 /* SPTExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExample.m; path = Specta/Specta/SPTExample.m; sourceTree = ""; }; + 8128D9BECE1D0CE463516A1508CDD61C /* MKTUnsignedLongLongArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedLongLongArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.m; sourceTree = ""; }; + 815E926AE9A92759A2FBA18C69A5DC62 /* HCUnsignedCharReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedCharReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.m; sourceTree = ""; }; + 82900F7AB0AE39E75EE14EB940E96106 /* NSInvocation+OCHamcrest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+OCHamcrest.m"; path = "Source/Core/Helpers/NSInvocation+OCHamcrest.m"; sourceTree = ""; }; + 8298A77B58C031A015DC6F98279C2612 /* MKTObjectMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTObjectMock.h; path = Source/OCMockito/Mocking/MKTObjectMock.h; sourceTree = ""; }; + 82A2E01DA3364160708435963A6B28DB /* HCHasDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCHasDescription.h; path = Source/Library/Object/HCHasDescription.h; sourceTree = ""; }; + 833A67A1CCC864A774FF98F9699343F0 /* HCStringContains.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringContains.m; path = Source/Library/Text/HCStringContains.m; sourceTree = ""; }; + 835AD79E9287D94D6E477B6DFC152ACF /* HCReturnValueGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCReturnValueGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.m; sourceTree = ""; }; 839D99425D7AC9F4CE2B842BAFDDFC1A /* SKState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SKState.m; path = Pod/Classes/ObjC/SKState.m; sourceTree = ""; }; - 83E89E82B3E52166A5C5495D0ED02AFA /* HCIsCollectionContaining.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionContaining.h; path = Source/Library/Collection/HCIsCollectionContaining.h; sourceTree = ""; }; - 848C27D8BC986717BC2187F3A2A9E098 /* MKTPointerArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTPointerArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.h; sourceTree = ""; }; + 84DC053E71885B1ACF12092F86E767B6 /* MKTFloatArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTFloatArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.m; sourceTree = ""; }; + 84E0532DBB5F35F60F6C651977473DEB /* HCAssertThat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCAssertThat.m; path = Source/Core/HCAssertThat.m; sourceTree = ""; }; 84F67F4674977EB1C3BB2A935D35FBC1 /* Pods-StateKitExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-StateKitExample-acknowledgements.markdown"; sourceTree = ""; }; - 85A86F0B714C3991F20FF07688AD22F4 /* Specta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.xcconfig; sourceTree = ""; }; - 85BDB075FEB19FE2384DAEF16AA88734 /* MKTCapturingMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTCapturingMatcher.h; path = Source/OCMockito/MKTCapturingMatcher.h; sourceTree = ""; }; - 85D391B67742D0C0032A8CDD8F1DDC30 /* MKTFloatReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTFloatReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.m; sourceTree = ""; }; - 869A909CB5290D9C129A7ADD08984D68 /* MKTStructReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTStructReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.h; sourceTree = ""; }; - 8761E251D186D4261281DDECD45BCB4D /* HCStringContains.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringContains.h; path = Source/Library/Text/HCStringContains.h; sourceTree = ""; }; - 8776FB65C372FE2D8E2ED625FD13D4B4 /* HCInvocationMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCInvocationMatcher.m; path = Source/Core/Helpers/HCInvocationMatcher.m; sourceTree = ""; }; + 85DD565997D0FF1F86C8B90CDD421427 /* HCNumberAssert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCNumberAssert.h; path = Source/Library/Number/HCNumberAssert.h; sourceTree = ""; }; 87D0DC82DF889E9C0BAD82C82952B031 /* StateKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "StateKit-dummy.m"; sourceTree = ""; }; - 87FFE8DB6009824BE6E51B0E95717EAE /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; - 8824E4AE890F5E78949D02B09405C827 /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; - 88D895FD626F43AE7B61F5484737FD28 /* HCIsEqualToNumber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEqualToNumber.h; path = Source/Library/Number/HCIsEqualToNumber.h; sourceTree = ""; }; - 88E17B5441171A410D427E648B3107B2 /* HCIsDictionaryContainingEntries.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsDictionaryContainingEntries.h; path = Source/Library/Collection/HCIsDictionaryContainingEntries.h; sourceTree = ""; }; - 8A49916CA2B22ADFD305DEA3724F12E4 /* HCBaseMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCBaseMatcher.h; path = Source/Core/HCBaseMatcher.h; sourceTree = ""; }; - 8ABB00691AE6D9E81CBE796259D052EE /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; - 8B6B183F87A59797869A4A6299845147 /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; - 8B6FD8225D26F9D829B30C91D2ED1F4D /* HCIsDictionaryContaining.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsDictionaryContaining.m; path = Source/Library/Collection/HCIsDictionaryContaining.m; sourceTree = ""; }; - 8B93421F1DC4838E0AD64EDD26DCCF21 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; - 8BBCF381D3BD39B1EDEDB3295924802A /* HCGenericTestFailureReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCGenericTestFailureReporter.m; path = Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.m; sourceTree = ""; }; - 8C487E2E03C2157319313F7101297114 /* MKTBoolReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTBoolReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.h; sourceTree = ""; }; - 8D0B1328A685089B331ACBF9330AD34E /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; - 8D37D3FAA2DD9D63FE3EF67F084EBDEA /* HCInvocationMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCInvocationMatcher.h; path = Source/Core/Helpers/HCInvocationMatcher.h; sourceTree = ""; }; - 8DD27801854D19B7B8F814F882FF0AF3 /* MKTUnsignedCharArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedCharArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.h; sourceTree = ""; }; - 8E2178AD581687276C130E70EF070157 /* MKTPointerArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTPointerArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.m; sourceTree = ""; }; - 8E40F6F1E3D164E1FF6D418361C6DC91 /* HCIsNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsNil.h; path = Source/Library/Object/HCIsNil.h; sourceTree = ""; }; - 8E5B63521C75C80F951F44AF5D1B3206 /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; - 8EBF4BA2B4BCD2F8835F1F0AE9BD36EF /* MKTCharReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTCharReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.h; sourceTree = ""; }; - 913422C4AD620389E503F7D2A303E3D3 /* SPTReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTReporter.h; path = src/SPTReporter.h; sourceTree = ""; }; - 91BCBC56D0939F6A43D5A0CD692AF04A /* HCStringContainsInOrder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringContainsInOrder.h; path = Source/Library/Text/HCStringContainsInOrder.h; sourceTree = ""; }; + 88CA37DB4FDB899FC9C78043BB0EC52D /* HCIsCollectionContaining.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionContaining.m; path = Source/Library/Collection/HCIsCollectionContaining.m; sourceTree = ""; }; + 88D0D3120FF235D48008DF840CD0C970 /* HCOrderingComparison.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCOrderingComparison.m; path = Source/Library/Number/HCOrderingComparison.m; sourceTree = ""; }; + 8946E73EF4D9294B8E4E536397259BA4 /* MKTLongLongReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTLongLongReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.m; sourceTree = ""; }; + 89C4B0296C18885E86407F3920B1C54D /* MKTStubbedInvocationMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTStubbedInvocationMatcher.h; path = Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.h; sourceTree = ""; }; + 8AA6C8767FC812806710A1EC70DCF2FA /* HCIsInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsInstanceOf.m; path = Source/Library/Object/HCIsInstanceOf.m; sourceTree = ""; }; + 8AF74444131F992D5FB62E142230FA56 /* MKTCharReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTCharReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.m; sourceTree = ""; }; + 8AF7A4FCE0482D79C57F200A4BDB22AD /* MKTFilterCallStack.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTFilterCallStack.m; path = Source/OCMockito/Invocation/MKTFilterCallStack.m; sourceTree = ""; }; + 8B99F77D12465818FC9424152A781B8D /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; + 8BA219AF098A28FA8D24BBE2ACE8C99B /* MKTDoubleReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTDoubleReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.h; sourceTree = ""; }; + 8C80F62D05F8A660E2446A8C75DCFEAC /* MKTUnsignedLongReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedLongReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.m; sourceTree = ""; }; + 8D99BB00CD4309F2B751871512D9B48E /* MKTNumberOfInvocationsChecker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTNumberOfInvocationsChecker.m; path = Source/OCMockito/Verifying/MKTNumberOfInvocationsChecker.m; sourceTree = ""; }; + 8E8C89AD450C4944FA57D8A33746974E /* HCIntReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIntReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.h; sourceTree = ""; }; + 91041B54FEF6D219A5A4F59914121F3F /* HCAnyOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCAnyOf.h; path = Source/Library/Logical/HCAnyOf.h; sourceTree = ""; }; + 927F3E50DC9C67DEECFCA49E4E81BB0B /* MKTReturnsValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTReturnsValue.m; path = Source/OCMockito/Stubbing/MKTReturnsValue.m; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 94101920A0EF944094E99749783470CA /* MKTUnsignedIntArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedIntArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.h; sourceTree = ""; }; - 942A79C4FF585ABD2ED234482BB9CAF6 /* SPTExampleGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExampleGroup.m; path = src/SPTExampleGroup.m; sourceTree = ""; }; - 94806828C7D6A18CB02268617CE1BF38 /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; - 94BFC6458BD702F6C2E9329F24256175 /* MKTDoubleReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTDoubleReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.h; sourceTree = ""; }; - 94C0A4073438D8EEDA9D9BDC333C2FB8 /* HCBaseDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCBaseDescription.h; path = Source/Core/HCBaseDescription.h; sourceTree = ""; }; - 94E4F36C041BFCFDB6819A0142E92624 /* SPTReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTReporter.m; path = src/SPTReporter.m; sourceTree = ""; }; - 950AF2DEFE02CAC21D8FD65414B22D88 /* HCShortReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCShortReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.m; sourceTree = ""; }; - 952FEB45E8023C5C758F2D23EDB41E34 /* MKTReturnValueSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTReturnValueSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.m; sourceTree = ""; }; - 9563DB1FA35B284407306FF46400360A /* MKTUnsignedLongReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedLongReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.h; sourceTree = ""; }; - 95A463AAE5CD715A65A8268AEC15CCEA /* HCUnsignedShortReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedShortReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.m; sourceTree = ""; }; - 95D0A49451A645300A9A7EB6DC6F73E4 /* OCHamcrest-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OCHamcrest-prefix.pch"; sourceTree = ""; }; - 95ECE041C73294643A1851C041D1637B /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; - 96C1608517D2F65ED11CFF55D1BF85A7 /* HCIntReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIntReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.h; sourceTree = ""; }; - 9700475796C5CD283B418004E49483D9 /* HCStringContains.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringContains.m; path = Source/Library/Text/HCStringContains.m; sourceTree = ""; }; - 976BD467477311071FFFC074EE0529C8 /* MKTInvocationMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTInvocationMatcher.h; path = Source/OCMockito/MKTInvocationMatcher.h; sourceTree = ""; }; - 9807522F74AF693422E03F7B9551663E /* MKTExecutesBlock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTExecutesBlock.h; path = Source/OCMockito/MKTExecutesBlock.h; sourceTree = ""; }; - 9838BD36D4EE37E5047A652CE42941C5 /* MKTObjectArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTObjectArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.h; sourceTree = ""; }; - 986CDBD265C6F843E1DA7E4DFD9A98AB /* MKTShortReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTShortReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.m; sourceTree = ""; }; - 99A115E192BBFB8231C603832DBF7B3C /* MKTShortReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTShortReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.h; sourceTree = ""; }; - 9ADD6DD2D169ECFA6F53FC6AA3E3417E /* MKTDoubleReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTDoubleReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.m; sourceTree = ""; }; - 9C00A462647DD0BDC70CCA1234FBCBB4 /* HCNumberAssert.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCNumberAssert.m; path = Source/Library/Number/HCNumberAssert.m; sourceTree = ""; }; - 9CA971593D76D43B101925F35C570B1B /* MKTIntReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTIntReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.m; sourceTree = ""; }; - 9CD9B6D8A704B7A889429ACA7ADFD182 /* HCUnsignedCharReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedCharReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.h; sourceTree = ""; }; - 9CDA653780E227991BE078F67EF1B2C4 /* NSInvocation+OCMockito.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+OCMockito.h"; path = "Source/OCMockito/NSInvocation+OCMockito.h"; sourceTree = ""; }; - 9DE0B0C8C0474EE07C5CF2F84989B87B /* MKTThrowsException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTThrowsException.h; path = Source/OCMockito/MKTThrowsException.h; sourceTree = ""; }; - 9E875842A05E20CFB26C58D2986BE958 /* HCCharReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCCharReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.m; sourceTree = ""; }; - 9E8B35FB6E3BCAD2E629ADDF1970EE33 /* HCArgumentCaptor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCArgumentCaptor.m; path = Source/Library/Object/HCArgumentCaptor.m; sourceTree = ""; }; - 9E9BA9CBCC8076636B5E6457E1B4F332 /* MKTLongArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTLongArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.m; sourceTree = ""; }; - 9F2CB8F2C1B900C47D0B049C7B4F160B /* HCSenTestFailureReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCSenTestFailureReporter.h; path = Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.h; sourceTree = ""; }; - 9FF6395BCAF5CD37FC33C38F9F45A8FA /* MKTReturnValueSetterChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTReturnValueSetterChain.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.h; sourceTree = ""; }; - A06363FCD4AF08C11E50EACCEFD9B017 /* MKTCapturingMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTCapturingMatcher.m; path = Source/OCMockito/MKTCapturingMatcher.m; sourceTree = ""; }; - A18E5583ADF80EB05295C1EBB23CF472 /* MKTUnsignedIntReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedIntReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.m; sourceTree = ""; }; - A1E48A88BDB065EEA01E9BD070D9B387 /* SpectaTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaTypes.h; path = src/SpectaTypes.h; sourceTree = ""; }; - A3C3573312246A1E82BD133220F29BFE /* HCOrderingComparison.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCOrderingComparison.h; path = Source/Library/Number/HCOrderingComparison.h; sourceTree = ""; }; - A43CA49A3A6118E235ACCAC2B99F85D2 /* Specta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Specta-dummy.m"; sourceTree = ""; }; - A4AD8A25F62C5AE3057242275C70EA15 /* OCMockito.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMockito.h; path = Source/OCMockito/OCMockito.h; sourceTree = ""; }; - A518F9884735D9E29E2DF165F66CCB4A /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; - A53E70BFA185AFA7CD4FE6B8BD3074BF /* MKT_TPDWeakProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKT_TPDWeakProxy.h; path = "Source/ThirdParty/TPDWeakProxy-1.1.0/TPDWeakProxy/MKT_TPDWeakProxy.h"; sourceTree = ""; }; - A5AEF5158E2D9D1274C89FE94E208B1A /* HCIsNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsNil.m; path = Source/Library/Object/HCIsNil.m; sourceTree = ""; }; - A5BCC2E3F3D82954CAFBBE2AF960B1DB /* HCIsCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCloseTo.m; path = Source/Library/Number/HCIsCloseTo.m; sourceTree = ""; }; - A6154EBC8D7540E023689DEFFAB9CB86 /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; - A6E2DB64A16A8384E7532E4C12914F50 /* HCStringStartsWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringStartsWith.m; path = Source/Library/Text/HCStringStartsWith.m; sourceTree = ""; }; - A814EFD74AF9C722A4E5D5AA689781AA /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; - A8D4772CFEB5B34B54214BCF1472DA33 /* MKTLongReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTLongReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.h; sourceTree = ""; }; - A90BF404B145930026FF1F640204BE88 /* MKTInvocationContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTInvocationContainer.h; path = Source/OCMockito/MKTInvocationContainer.h; sourceTree = ""; }; - A92183F3AE57412AD6CD981D9AC13076 /* MKTMockingProgress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTMockingProgress.h; path = Source/OCMockito/MKTMockingProgress.h; sourceTree = ""; }; - A933A9DC637C75292FF1AF2467AF5D3A /* MKTUnsignedCharReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedCharReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.m; sourceTree = ""; }; - AA5D0B48F64EC8D3071E14CAF6AB9A7D /* MKTFloatReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTFloatReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.h; sourceTree = ""; }; - AA993554D9377319036E26C19FA0F146 /* HCHasCount.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCHasCount.m; path = Source/Library/Collection/HCHasCount.m; sourceTree = ""; }; - AAF167E0C6D179DC4A4B7163B781BD74 /* MKTArgumentGetterChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTArgumentGetterChain.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.h; sourceTree = ""; }; - ACC05C620107A0933E1B2192F91515E3 /* OCMockito.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMockito.m; path = Source/OCMockito/OCMockito.m; sourceTree = ""; }; - ACC882DF0BEF8667C87F39A9072D8ECD /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; - AD3F3995DC5972515896BC77DD7A2651 /* MKTUnsignedIntReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedIntReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.h; sourceTree = ""; }; - ADD13AD30B09CE7AEAF57F681B54FCA0 /* MKTArgumentCaptor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTArgumentCaptor.h; path = Source/OCMockito/MKTArgumentCaptor.h; sourceTree = ""; }; - AF9AE7C6C442C9DA6824C05982E0ADFB /* HCStringContainsInOrder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringContainsInOrder.m; path = Source/Library/Text/HCStringContainsInOrder.m; sourceTree = ""; }; - B12D5DD96982B8C751E7BFDBFADA35A5 /* HCShortReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCShortReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.h; sourceTree = ""; }; - B1546FA0C99B9AB164005EC6B81B6CA8 /* SpectaUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaUtility.h; path = src/SpectaUtility.h; sourceTree = ""; }; - B1CCDC06AF8F0EBD3175581495EA6A80 /* HCIsCollectionContaining.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionContaining.m; path = Source/Library/Collection/HCIsCollectionContaining.m; sourceTree = ""; }; - B1F477EB50F0DAB03F0C0182480DC262 /* MKTProtocolMock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTProtocolMock.m; path = Source/OCMockito/MKTProtocolMock.m; sourceTree = ""; }; - B216405B3FD70F1E2D82D661C5D34619 /* MKTPrimitiveArgumentMatching.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTPrimitiveArgumentMatching.h; path = Source/OCMockito/MKTPrimitiveArgumentMatching.h; sourceTree = ""; }; - B236629297DE89C247D638C8436A0793 /* HCUnsignedLongReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedLongReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.m; sourceTree = ""; }; - B3932858E49D08B868EF38F2C87E0FFB /* Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.xcconfig; sourceTree = ""; }; - B5D953C14BF9405F127ED0035587C0A0 /* HCReturnTypeHandlerChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCReturnTypeHandlerChain.m; path = Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.m; sourceTree = ""; }; + 940B504634E7136A9358E55F5C439630 /* HCRequireNonNilObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCRequireNonNilObject.m; path = Source/Core/Helpers/HCRequireNonNilObject.m; sourceTree = ""; }; + 9433705ABF37A3D166168B4F5FE0B86F /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; + 94760CC696EE1870AB0BEAE7BBC74456 /* MKTMatchingInvocationsFinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTMatchingInvocationsFinder.m; path = Source/OCMockito/Invocation/MKTMatchingInvocationsFinder.m; sourceTree = ""; }; + 951EBCA71396EA4F74D93B249B5FDE50 /* HCIsDictionaryContainingKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsDictionaryContainingKey.m; path = Source/Library/Collection/HCIsDictionaryContainingKey.m; sourceTree = ""; }; + 9535C72C5B82774AA2C390893CCDDBF1 /* HCIsCollectionContainingInRelativeOrder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCollectionContainingInRelativeOrder.m; path = Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.m; sourceTree = ""; }; + 959216BE440257AA4B0E0F01A1170D6B /* HCUnsignedShortReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedShortReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.h; sourceTree = ""; }; + 966ABBD44DDE294F9BC7D5B16D1C87B7 /* MKTLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTLocation.m; path = Source/OCMockito/Invocation/MKTLocation.m; sourceTree = ""; }; + 97266C588BA5856AFA86FF8A47E3F61D /* MKTAtLeastNumberOfInvocationsChecker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTAtLeastNumberOfInvocationsChecker.m; path = Source/OCMockito/Verifying/MKTAtLeastNumberOfInvocationsChecker.m; sourceTree = ""; }; + 975266BFA5494257B6CE78BD9D91BEB3 /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; + 97A4DF9239EFB2AE320290A9BE9AE443 /* SpectaUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaUtility.h; path = Specta/Specta/SpectaUtility.h; sourceTree = ""; }; + 98544E46FE83FF9CEE9C7A78B46B38DD /* MKTAtMostNumberOfInvocationsChecker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTAtMostNumberOfInvocationsChecker.h; path = Source/OCMockito/Verifying/MKTAtMostNumberOfInvocationsChecker.h; sourceTree = ""; }; + 98F68277250B05BBA07E03F9BC964F40 /* MKTStructArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTStructArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.h; sourceTree = ""; }; + 9909F444C9AC770B11A36A23396007DA /* HCHasDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCHasDescription.m; path = Source/Library/Object/HCHasDescription.m; sourceTree = ""; }; + 99615AA4A9CFC12A9F2D3285A0AE3E1D /* HCIsDictionaryContainingValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsDictionaryContainingValue.m; path = Source/Library/Collection/HCIsDictionaryContainingValue.m; sourceTree = ""; }; + 9A4B4C5EA37FFB936E3936670BCC4535 /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; + 9A58B875C595A89B340DEC7885F7C9EA /* MKTExactTimes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTExactTimes.h; path = Source/OCMockito/Verifying/MKTExactTimes.h; sourceTree = ""; }; + 9F053508429761D07A40E4FDC55D9F16 /* MKTMissingInvocationChecker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTMissingInvocationChecker.m; path = Source/OCMockito/Verifying/MKTMissingInvocationChecker.m; sourceTree = ""; }; + 9FF1FCD356ED42678566D5661C73B5F9 /* NSInvocation+OCHamcrest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+OCHamcrest.h"; path = "Source/Core/Helpers/NSInvocation+OCHamcrest.h"; sourceTree = ""; }; + A122AB82A7CF2908A40C9E8D99BDDAD0 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; + A1B2717539E6895D7675260E4509FDBE /* HCHasCount.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCHasCount.m; path = Source/Library/Collection/HCHasCount.m; sourceTree = ""; }; + A2204C600A4D577C4E2D8ECE68906A0B /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; + A2B3CE3B200130325B0833F608C34231 /* SPTSharedExampleGroups.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSharedExampleGroups.h; path = Specta/Specta/SPTSharedExampleGroups.h; sourceTree = ""; }; + A31AE36980DC83B4C15B6BD2DE5D51F1 /* MKTAtMostNumberOfInvocationsChecker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTAtMostNumberOfInvocationsChecker.m; path = Source/OCMockito/Verifying/MKTAtMostNumberOfInvocationsChecker.m; sourceTree = ""; }; + A31F946D9C8DACDDF8C315E70D95FD1E /* MKTAtLeastTimes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTAtLeastTimes.h; path = Source/OCMockito/Verifying/MKTAtLeastTimes.h; sourceTree = ""; }; + A3251F4C2308C730CE7F0B1086D7DE4D /* MKTUnsignedCharReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedCharReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.m; sourceTree = ""; }; + A35D362B5E46C3DDEDF10098DA49044A /* SPTExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExample.h; path = Specta/Specta/SPTExample.h; sourceTree = ""; }; + A3A68EF66DF69424151F092A99831432 /* SPTSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSpec.h; path = Specta/Specta/SPTSpec.h; sourceTree = ""; }; + A3E31963B91CF27DF84D04F4F3C002E9 /* MKTInvocationsChecker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTInvocationsChecker.h; path = Source/OCMockito/Verifying/MKTInvocationsChecker.h; sourceTree = ""; }; + A3FAF83B71D3236876D56328025F67E6 /* MKTInvocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTInvocation.h; path = Source/OCMockito/Invocation/MKTInvocation.h; sourceTree = ""; }; + A3FB48A1E4544853D6C8F53801D02FEE /* MKTMockingProgress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTMockingProgress.h; path = Source/OCMockito/Core/MKTMockingProgress.h; sourceTree = ""; }; + A47CFC65B90BF60373ACCAED5B74513E /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; + A4EE9E776AE0689F66746417DD6070A4 /* MKTAtLeastNumberOfInvocationsChecker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTAtLeastNumberOfInvocationsChecker.h; path = Source/OCMockito/Verifying/MKTAtLeastNumberOfInvocationsChecker.h; sourceTree = ""; }; + A569071A56B2131A2990763A724B5CE3 /* HCDoubleReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCDoubleReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.m; sourceTree = ""; }; + A57E30D2B0FD5E98682A8F872E9134AE /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; + A6B227F4C2C6926B94137DFA1FB41E12 /* MKTSingletonSwizzler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTSingletonSwizzler.m; path = Source/OCMockito/Mocking/MKTSingletonSwizzler.m; sourceTree = ""; }; + A6E97D51BE004086166CFD566256CB9A /* HCIsCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsCloseTo.m; path = Source/Library/Number/HCIsCloseTo.m; sourceTree = ""; }; + A7282C27DEEE5684275475729912BD18 /* MKTSingletonSwizzler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTSingletonSwizzler.h; path = Source/OCMockito/Mocking/MKTSingletonSwizzler.h; sourceTree = ""; }; + A7804B13D8C86987C18BB154328D1E39 /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; + A784DB47A806AF3B61CF79C947CCE9F2 /* MKTDoubleArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTDoubleArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.m; sourceTree = ""; }; + A78BC2BA87E40516B94B7097320AB0EC /* HCSenTestFailureReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCSenTestFailureReporter.h; path = Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.h; sourceTree = ""; }; + A7E9CCA7689B000C4D2B0A1AF427E354 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; + A8037A17E3F7500F11DE30D3A7A0A5BC /* HCIsDictionaryContainingValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsDictionaryContainingValue.h; path = Source/Library/Collection/HCIsDictionaryContainingValue.h; sourceTree = ""; }; + A9697DA4E5B592649D076B1F9ABB0428 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; + A98D34EFE407551CFE517FE41C30FBC5 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; + AA288D3F85EDC1667CE2F1A5EDC330FD /* HCIntReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIntReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.m; sourceTree = ""; }; + AA843E80B5948017A233C74264F5CFAA /* MKTShortArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTShortArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.m; sourceTree = ""; }; + AA8CB7A1080565753364B76377A3EA00 /* Specta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.xcconfig; sourceTree = ""; }; + AB52A787BAB2DA83F9BC312D3ABF4624 /* HCBoolReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCBoolReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.m; sourceTree = ""; }; + ABF53BFD38D052E7653170C97BD88BDE /* MKTStructArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTStructArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.m; sourceTree = ""; }; + AD718A267716AAFC7D50FB27406855F6 /* MKTStructReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTStructReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.m; sourceTree = ""; }; + ADE6D3D8C99B819921F448C0B094A5D7 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; + AE8A60783B97E60C37BD151E1415F8F8 /* HCStringEndsWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringEndsWith.h; path = Source/Library/Text/HCStringEndsWith.h; sourceTree = ""; }; + AFE10DBF66FBBFB12F3C1F667AB2405E /* SPTCallSite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCallSite.m; path = Specta/Specta/SPTCallSite.m; sourceTree = ""; }; + B00E0148DC49261B3973E9007D7E6C71 /* HCIsDictionaryContainingKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsDictionaryContainingKey.h; path = Source/Library/Collection/HCIsDictionaryContainingKey.h; sourceTree = ""; }; + B016B89C220C40695D30E933BB80E744 /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; + B03665F5EBA56BD95434ACD4AF220DE2 /* MKTBaseMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTBaseMockObject.m; path = Source/OCMockito/Mocking/MKTBaseMockObject.m; sourceTree = ""; }; + B061A45FD582ECE2D73F023B797B3754 /* HCIsEqualIgnoringCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEqualIgnoringCase.m; path = Source/Library/Text/HCIsEqualIgnoringCase.m; sourceTree = ""; }; + B07D01E8395F1202D4F80E1184B4C0C8 /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; + B0D13C5AF902EF6E8F50661F86E06177 /* HCIsSame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsSame.h; path = Source/Library/Object/HCIsSame.h; sourceTree = ""; }; + B11DC3633B144526D63EC00D9E77F3E4 /* OCMockito.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMockito.h; path = Source/OCMockito/Core/OCMockito.h; sourceTree = ""; }; + B1D7E884218776109F790354C1A8F1AA /* HCIs.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIs.m; path = Source/Library/Decorator/HCIs.m; sourceTree = ""; }; + B1F8CB5282BFFB5D21F398F9EEC5C627 /* HCIsIn.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsIn.m; path = Source/Library/Collection/HCIsIn.m; sourceTree = ""; }; + B1FA2C8C88BD0B80EF33D184CC0107CD /* MKTLongReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTLongReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.h; sourceTree = ""; }; + B2074E90B2D672EA5C77C1F796D4E2A9 /* NSInvocation+OCMockito.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+OCMockito.m"; path = "Source/OCMockito/Invocation/NSInvocation+OCMockito.m"; sourceTree = ""; }; + B25A7F005DBDD34A076ECABDA0A1FD48 /* HCDescribedAs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCDescribedAs.h; path = Source/Library/Decorator/HCDescribedAs.h; sourceTree = ""; }; + B2C67866C947CDA050FC30BCA550902D /* HCConformsToProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCConformsToProtocol.h; path = Source/Library/Object/HCConformsToProtocol.h; sourceTree = ""; }; + B4AE77AB84490F6DF8B3FA33394CB027 /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; + B55074F7E4950ABA7FB27AE3B07DD5F3 /* Specta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-prefix.pch"; sourceTree = ""; }; + B55D0611F48A538D80EEFA75CC385C71 /* HCUnsignedLongLongReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedLongLongReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.m; sourceTree = ""; }; + B570D9E814654D33881F17A562253655 /* MKTFloatReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTFloatReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.m; sourceTree = ""; }; B5EE3F60224BC324352FBADC6D78C606 /* Pods-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Tests-frameworks.sh"; sourceTree = ""; }; - B62E6318ACA7E5BD2E460FA0E1808F06 /* MKTUnsignedLongReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedLongReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.m; sourceTree = ""; }; - B7291C86D4DD374D032CA1185AF733A2 /* HCIntReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIntReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.m; sourceTree = ""; }; - B8147CA46AE4FFF7B6EFA2F7126519D6 /* HCObjectReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCObjectReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.h; sourceTree = ""; }; - B8720DEA4A855B766138C84531B954A1 /* HCEvery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCEvery.h; path = Source/Library/Collection/HCEvery.h; sourceTree = ""; }; - B8773EBC5BD824F35AE6B762A3AFAAA9 /* HCXCTestFailureReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCXCTestFailureReporter.m; path = Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.m; sourceTree = ""; }; - B8EF2A5DDEDE237BFFEBE2EBBA731252 /* MKTLongLongReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTLongLongReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.m; sourceTree = ""; }; - B91F1B6693C85B0792C592B449713402 /* MKTReturnValueSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTReturnValueSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.h; sourceTree = ""; }; - B957AD0F6E6D5D1F6DE3AE1821C25DFE /* HCRequireNonNilObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCRequireNonNilObject.h; path = Source/Core/Helpers/HCRequireNonNilObject.h; sourceTree = ""; }; - B988D65B7684A6E3A4992F12BAD926D3 /* HCObjectReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCObjectReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.m; sourceTree = ""; }; - B9D07A36CA692A0F64FD0BF6BEED88F4 /* MKTBoolArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTBoolArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.h; sourceTree = ""; }; - BBA448D184A748E9A7B609278D5093A0 /* MKTProtocolMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTProtocolMock.h; path = Source/OCMockito/MKTProtocolMock.h; sourceTree = ""; }; - BDA80670AA7AFB870295E7C0BAF846D1 /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; - BE3B56C8FF2EBFF340D63ADD0E889206 /* MKTShortArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTShortArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.m; sourceTree = ""; }; + B60A238B888B66EEEC83287C53A78CFA /* HCFloatReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCFloatReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.h; sourceTree = ""; }; + B61149A53E5CE7DA9BB167C611F8403F /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; + B6DABB54BB460BC9313927B95833A014 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; + B7793732EECB50E7F8059EA5B7F2BB89 /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; + B8617A95FC5CB23CD756B45C27D96B36 /* HCIsIn.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsIn.h; path = Source/Library/Collection/HCIsIn.h; sourceTree = ""; }; + B8CE1E62CDC824EB1560B5B88672B235 /* MKTObjectAndProtocolMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTObjectAndProtocolMock.h; path = Source/OCMockito/Mocking/MKTObjectAndProtocolMock.h; sourceTree = ""; }; + B8E8A0530FAE0E643915348F66C9A535 /* HCDoubleReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCDoubleReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.h; sourceTree = ""; }; + B90B9B3AB4974B39400C832B49A23AA7 /* MKTProtocolMock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTProtocolMock.m; path = Source/OCMockito/Mocking/MKTProtocolMock.m; sourceTree = ""; }; + BAEE9B42A69C76366F91C4FF83E42D29 /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; + BD467E7E279AFC6BC9E3E0BD1935C319 /* MKTInvocationContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTInvocationContainer.h; path = Source/OCMockito/Stubbing/MKTInvocationContainer.h; sourceTree = ""; }; + BDF2DBD435A17C260637EABE92AAB1BC /* MKTPointerArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTPointerArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.h; sourceTree = ""; }; + BE099CDC8613655FCB582D5449E78958 /* HCIsDictionaryContaining.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsDictionaryContaining.m; path = Source/Library/Collection/HCIsDictionaryContaining.m; sourceTree = ""; }; BEE530B6997DD6366FDE00E5851C612A /* SKStateChart.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SKStateChart.h; path = Pod/Classes/ObjC/SKStateChart.h; sourceTree = ""; }; - BEE729900984EF2C621EE4E871CBD0B2 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; - C02E2E49CAE8390BFE278589CD227EA8 /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; - C1743D8DB97D03D975FEB289900CC32D /* HCIsEqual.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEqual.m; path = Source/Library/Object/HCIsEqual.m; sourceTree = ""; }; - C3C37B81CB67C1F497F8ECFD2084CADF /* SpectaUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaUtility.m; path = src/SpectaUtility.m; sourceTree = ""; }; - C425AE0AB170743CDB8BCF7CEEA7846F /* HCTestFailureReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCTestFailureReporter.m; path = Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.m; sourceTree = ""; }; - C439DE8447BA75FCAABF22F330005889 /* OCHamcrest-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OCHamcrest-dummy.m"; sourceTree = ""; }; - C5742372B1F3A8D55ABC52ED2055F511 /* MKTClassObjectMock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTClassObjectMock.m; path = Source/OCMockito/MKTClassObjectMock.m; sourceTree = ""; }; - C5D7353D48470F053AC8C11F1A72DD9D /* SPTXCTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTXCTestCase.h; path = src/SPTXCTestCase.h; sourceTree = ""; }; - C5FE287BD6C5EDED55A1814DD284A290 /* HCTestFailureHandlerChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCTestFailureHandlerChain.m; path = Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.m; sourceTree = ""; }; - C6B4EDC6D968BA978B5D0228B148224E /* MKTInvocationContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTInvocationContainer.m; path = Source/OCMockito/MKTInvocationContainer.m; sourceTree = ""; }; - C6FB546044FA7AADF7F688C17E70BFEA /* MKTObjectAndProtocolMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTObjectAndProtocolMock.h; path = Source/OCMockito/MKTObjectAndProtocolMock.h; sourceTree = ""; }; - C7ADB4935A10D35755A80C4FFA665B4E /* MKTClassObjectMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTClassObjectMock.h; path = Source/OCMockito/MKTClassObjectMock.h; sourceTree = ""; }; - C7D3DC810F24ED94AD29F3240A2DB7D0 /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; - C812C01C2F763DE6A60604472325D373 /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; - C81547C03DBF462F3BE44AC0BBAF9F69 /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; - C89F9F10D76F9D6F343F7E02F271D3A1 /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; - C8AF3621F16225EF11A25881D7952786 /* MKTBoolReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTBoolReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.m; sourceTree = ""; }; + C034810A12BFD9F2CA404F1748C63F45 /* HCIsDictionaryContainingEntries.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsDictionaryContainingEntries.m; path = Source/Library/Collection/HCIsDictionaryContainingEntries.m; sourceTree = ""; }; + C0FBE6D27F1BD9E4F480D7E0D7C5F3EF /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; + C195B9A9E35B74796A4EB0DA58FBC9EE /* MKTArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.h; sourceTree = ""; }; + C30E916F686E8989AAC4C9FB6F801819 /* MKTPrinter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTPrinter.h; path = Source/OCMockito/Invocation/MKTPrinter.h; sourceTree = ""; }; + C3B2A71849F159FFCB5173C50959D0AD /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; + C522782AC422588453D499B5B537AA3B /* MKT_TPDWeakProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKT_TPDWeakProxy.h; path = "Source/ThirdParty/TPDWeakProxy-1.1.0/TPDWeakProxy/MKT_TPDWeakProxy.h"; sourceTree = ""; }; + C5406202CDD3532FC11AD2766167EEE5 /* MKTObjectReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTObjectReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.m; sourceTree = ""; }; + C54578F7312FD1CC8872509CC3DD5F67 /* HCIsCollectionContainingInOrder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionContainingInOrder.h; path = Source/Library/Collection/HCIsCollectionContainingInOrder.h; sourceTree = ""; }; + C59A086118DBFA16CFC91E2846EEF8CA /* HCHasProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCHasProperty.h; path = Source/Library/Object/HCHasProperty.h; sourceTree = ""; }; + C5B0C0525F0784A19458F6264FBA0291 /* HCMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCMatcher.h; path = Source/Core/HCMatcher.h; sourceTree = ""; }; + C641F651718ED729F8D5B476B58B8514 /* HCObjectReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCObjectReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.m; sourceTree = ""; }; + C6A12E43B0F8D759D8733AFE2C36D20A /* HCIsNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsNil.h; path = Source/Library/Object/HCIsNil.h; sourceTree = ""; }; + C6A3F73889E91338C66015C8A09292FE /* HCShortReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCShortReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.m; sourceTree = ""; }; + C76D54BB150B09F4E4C3DB263E1C7B49 /* HCNumberAssert.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCNumberAssert.m; path = Source/Library/Number/HCNumberAssert.m; sourceTree = ""; }; + C7B1DC3A84D9D9ABDB440CA0B5251554 /* HCIsEqualIgnoringCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEqualIgnoringCase.h; path = Source/Library/Text/HCIsEqualIgnoringCase.h; sourceTree = ""; }; + C821AD1CD0D471C2C31E585095090C96 /* HCIsAnything.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsAnything.m; path = Source/Library/Logical/HCIsAnything.m; sourceTree = ""; }; + C87E985AA98AB940719A78A581F91129 /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; + C89E1F01D6E51ECCD855B9C7CC8C72E8 /* MKTUnsignedIntReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedIntReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.h; sourceTree = ""; }; C9A7625F6CC6100CF0AED192FF77E101 /* libStateKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libStateKit.a; path = libStateKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - CA0C5B042AE2F9D86F1A621FC4097964 /* Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Specta.m; path = src/Specta.m; sourceTree = ""; }; - CA172AD45B7860B13217A2636256734D /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; - CBCB60F8759005B2893ACD6D7E984072 /* MKTReturnsValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTReturnsValue.m; path = Source/OCMockito/MKTReturnsValue.m; sourceTree = ""; }; - CC83CF3A9DB5F01E6341833BAB8286B9 /* HCGenericTestFailureReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCGenericTestFailureReporter.h; path = Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.h; sourceTree = ""; }; - CCE5D51E218C9552444BE44CE61E6950 /* OCHamcrest.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = OCHamcrest.xcconfig; sourceTree = ""; }; - CCF5174BE6908F0DB8B6DDB546637DE0 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; - CD625158A13DD413F816FF0458D70A32 /* HCStringDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringDescription.m; path = Source/Core/HCStringDescription.m; sourceTree = ""; }; - CECDF61196E405EA9D95962939FC6C11 /* MKTUnsignedCharArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedCharArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.m; sourceTree = ""; }; - CEF45D8BC838C2FFF1F52217B20707FC /* MKTCharReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTCharReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.m; sourceTree = ""; }; - CF70DC118253ABDD9E11866426A7BC02 /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; - D05052621F9A784DAF40571193080D72 /* HCHasProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCHasProperty.h; path = Source/Library/Object/HCHasProperty.h; sourceTree = ""; }; + CA1E3837B8D402A0A44FEBCE45F8CC83 /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; + CA83A2EE23D5E7E814F2CF66D9021748 /* HCObjectReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCObjectReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.h; sourceTree = ""; }; + CABAF2776E074197B11B4E03DBF13B9D /* HCSenTestFailureReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCSenTestFailureReporter.m; path = Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.m; sourceTree = ""; }; + CB0DD34DEE741AA41E7062B1D1001EE5 /* SpectaTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaTypes.h; path = Specta/Specta/SpectaTypes.h; sourceTree = ""; }; + CB50BA8FDA6CB675FB3EA91735635A82 /* MKTClassObjectMock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTClassObjectMock.m; path = Source/OCMockito/Mocking/MKTClassObjectMock.m; sourceTree = ""; }; + CB7777DDD816DC6F726D2463D70C0A2F /* HCHasProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCHasProperty.m; path = Source/Library/Object/HCHasProperty.m; sourceTree = ""; }; + CDB609AA81D39D1671C3F2514553A840 /* MKTArgumentGetterChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTArgumentGetterChain.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.h; sourceTree = ""; }; + CE796185FEBC10E5FB66F5F0DEC0A167 /* SpectaUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaUtility.m; path = Specta/Specta/SpectaUtility.m; sourceTree = ""; }; + CEB69A6BFCC999DA1FD8AE29A1FD67E9 /* MKTIntReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTIntReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.h; sourceTree = ""; }; + CEFAA99D1D882BFFE5FEEC20320027CC /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; + CF0ACA59269E5BDF3492813CEE2F36D5 /* HCRunloopRunner.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCRunloopRunner.h; path = Source/Core/Helpers/HCRunloopRunner.h; sourceTree = ""; }; + CFEA9304E5CB4368CC214783C939ADB4 /* HCLongLongReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCLongLongReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.m; sourceTree = ""; }; D0706810C5C2178ADE12A9C1F021010F /* libPods-StateKitExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-StateKitExample.a"; path = "libPods-StateKitExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - D3D4AED08AA4678318600402654C93D3 /* MKTExactTimes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTExactTimes.m; path = Source/OCMockito/MKTExactTimes.m; sourceTree = ""; }; - D480FEB340BE999A475041AE5A5C3C29 /* HCHasProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCHasProperty.m; path = Source/Library/Object/HCHasProperty.m; sourceTree = ""; }; - D4BB55D19A0FADF0E98424E459E3312E /* HCConformsToProtocol.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCConformsToProtocol.m; path = Source/Library/Object/HCConformsToProtocol.m; sourceTree = ""; }; - D4E9701024E5DAB4006A3A9E4E51484C /* MKTClassArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTClassArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.m; sourceTree = ""; }; - D4F498A8F7BC8F7B57926CC6BBBAED13 /* HCIsEqualIgnoringWhiteSpace.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEqualIgnoringWhiteSpace.h; path = Source/Library/Text/HCIsEqualIgnoringWhiteSpace.h; sourceTree = ""; }; - D540907071561734FD7BFA486ABE0381 /* HCBaseDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCBaseDescription.m; path = Source/Core/HCBaseDescription.m; sourceTree = ""; }; - D54860697493938C0E59418BC1472499 /* SPTSharedExampleGroups.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSharedExampleGroups.h; path = src/SPTSharedExampleGroups.h; sourceTree = ""; }; - D5EAD35ACB0EDE176FB23CC4D690D7EE /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; - D7769D69E7A9905BB2F7322674ED9795 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; + D11FA224DD7DB32F63074221521EBCEA /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; + D12EF2304802F722432B7135401FB11E /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; + D1D1493A9B02B5AFD2D75AD23817B4CB /* HCIsEqualToNumber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEqualToNumber.m; path = Source/Library/Number/HCIsEqualToNumber.m; sourceTree = ""; }; + D1E48732F71F9D0F05471121FE7A8FD7 /* MKTLongLongReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTLongLongReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.h; sourceTree = ""; }; + D35116F8C44AFEA9B01A3DB5F9B23884 /* SPTSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSpec.m; path = Specta/Specta/SPTSpec.m; sourceTree = ""; }; + D36B885CF81F1B6E1700E844B55A5E0A /* HCTestFailureReporterChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCTestFailureReporterChain.h; path = Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.h; sourceTree = ""; }; + D4EE0319466C5F508CE33ACC19AFDC00 /* HCTestFailureReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCTestFailureReporter.h; path = Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.h; sourceTree = ""; }; + D5CC757CFB49C02980BE0DCBB66525B5 /* HCBaseDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCBaseDescription.h; path = Source/Core/HCBaseDescription.h; sourceTree = ""; }; + D66CC52E4EECF0EA0FAB90827AAC0830 /* MKTVerificationData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTVerificationData.h; path = Source/OCMockito/Verifying/MKTVerificationData.h; sourceTree = ""; }; + D6AA36BAA9D68CF711541AA6AC7DDBFF /* MKTUnsignedLongLongArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedLongLongArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.h; sourceTree = ""; }; + D6C2714B812711E44DAB8931BC53F883 /* MKTUnsignedShortArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTUnsignedShortArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.m; sourceTree = ""; }; + D75F3EC7F16F870FC2B697C6C8DDCA8D /* HCIsEmptyCollection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEmptyCollection.h; path = Source/Library/Collection/HCIsEmptyCollection.h; sourceTree = ""; }; D7A0709C0C263143A4EEE7A3614E82B2 /* StateKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = StateKit.xcconfig; sourceTree = ""; }; - D801481EAD10876E1B434443D7136242 /* HCXCTestFailureReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCXCTestFailureReporter.h; path = Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.h; sourceTree = ""; }; - D83A4EF914BAD481536E206B83283D4C /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; - D9BFA60AD4E6AC5D5C5DE165A8E7CCF9 /* HCSelfDescribing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCSelfDescribing.h; path = Source/Core/HCSelfDescribing.h; sourceTree = ""; }; - DA1894AB4F22FCDF20B6D1C3AD08C91B /* Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Specta.h; path = src/Specta.h; sourceTree = ""; }; - DDABCAB64EB69FD5D4FA3BE81FA722F3 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; - DEA41563F97DAB7444EC41E63FCC289C /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; - DEABADFE3871991324ACE6BB449C707F /* HCIsCollectionContainingInRelativeOrder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionContainingInRelativeOrder.h; path = Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.h; sourceTree = ""; }; - DEC24CAB0B28799066CF39B4F5C1C731 /* XCTestCase+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestCase+Specta.m"; path = "src/XCTestCase+Specta.m"; sourceTree = ""; }; - DF9F70A3AAED03A14964B6E3A4E108F1 /* MKTStubbedInvocationMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTStubbedInvocationMatcher.h; path = Source/OCMockito/MKTStubbedInvocationMatcher.h; sourceTree = ""; }; - E02B6B763B5C3865777C2201A4123DFC /* HCIsTrueFalse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsTrueFalse.m; path = Source/Library/Number/HCIsTrueFalse.m; sourceTree = ""; }; - E0463EEF39935F9BE87760B627753992 /* HCCollect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCCollect.h; path = Source/Core/Helpers/HCCollect.h; sourceTree = ""; }; - E0CAFE4AB6BEE91AB50580E8580DA88E /* HCIsDictionaryContainingKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsDictionaryContainingKey.m; path = Source/Library/Collection/HCIsDictionaryContainingKey.m; sourceTree = ""; }; - E19755305716F38EF3DD8B71E6698B5F /* HCEvery.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCEvery.m; path = Source/Library/Collection/HCEvery.m; sourceTree = ""; }; + D7B1EA0547A94C995E55AD99659BE917 /* HCIs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIs.h; path = Source/Library/Decorator/HCIs.h; sourceTree = ""; }; + D7BA3857CF6B2ADF7C1B90E182DE80A9 /* HCStringContainsInOrder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringContainsInOrder.h; path = Source/Library/Text/HCStringContainsInOrder.h; sourceTree = ""; }; + D94FD44240BA9A57314EB04281A66F03 /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; + DA12AF967E77C65BDF1145D79F58538E /* MKTLongReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTLongReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.m; sourceTree = ""; }; + DA9246D6CB3156296454776186FF29C8 /* HCSubstringMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCSubstringMatcher.m; path = Source/Library/Text/HCSubstringMatcher.m; sourceTree = ""; }; + DBEE22B3371E84E36B5384627BBF5E94 /* MKTReturnValueSetterChain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTReturnValueSetterChain.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.m; sourceTree = ""; }; + DC14CBA93D0923BEB39127B1315300DF /* MKTBoolReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTBoolReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.h; sourceTree = ""; }; + DC3871F64574BB8AB3841CB2B32A9F0B /* HCHasCount.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCHasCount.h; path = Source/Library/Collection/HCHasCount.h; sourceTree = ""; }; + DD172B49850C03841AC28736AF620015 /* MKTUnsignedIntArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedIntArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.h; sourceTree = ""; }; + DD3BE350EBF5F95CAA7B35C0B5341166 /* MKTProtocolMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTProtocolMock.h; path = Source/OCMockito/Mocking/MKTProtocolMock.h; sourceTree = ""; }; + DE73428ADBCCBAADAE9E41AB2DFE3CAA /* MKTUnsignedShortArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedShortArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.h; sourceTree = ""; }; + DEDFC7DDAEE4A88360F2FA4026F8CCAC /* HCClassMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCClassMatcher.h; path = Source/Library/Object/HCClassMatcher.h; sourceTree = ""; }; + DF4F2E0B80F3674B5B04C73D5235E6DF /* HCClassMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCClassMatcher.m; path = Source/Library/Object/HCClassMatcher.m; sourceTree = ""; }; + DFCF8FDE01576BA144F931A6CEB133B4 /* HCUnsignedLongReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedLongReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.h; sourceTree = ""; }; + E0E885155DD39005049B272CE1E035DF /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; E1996B845DB8A62BA0D5BB952C09D8CC /* libSpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSpecta.a; path = libSpecta.a; sourceTree = BUILT_PRODUCTS_DIR; }; - E1C37F0AA85CCA09B04EAB0044B0424B /* HCDiagnosingMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCDiagnosingMatcher.m; path = Source/Core/HCDiagnosingMatcher.m; sourceTree = ""; }; - E2322CAD83439BD6B06BAE963AE3F67E /* HCIsAnything.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsAnything.h; path = Source/Library/Logical/HCIsAnything.h; sourceTree = ""; }; - E27455F8B137A7EB0AC7BF0FB378FA02 /* HCTestFailure.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCTestFailure.m; path = Source/Core/Helpers/TestFailureReporters/HCTestFailure.m; sourceTree = ""; }; + E1BCE1D94FB58D2849B9ED8BAA4C7F52 /* MKTThrowsException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTThrowsException.m; path = Source/OCMockito/Stubbing/MKTThrowsException.m; sourceTree = ""; }; + E22BE6824F90B29C5473B2A4A664C601 /* HCThrowsException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCThrowsException.h; path = Source/Library/Object/HCThrowsException.h; sourceTree = ""; }; + E236CF3A5602C2C4A53D0D7EAD9174A5 /* HCReturnTypeHandlerChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCReturnTypeHandlerChain.h; path = Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.h; sourceTree = ""; }; + E247F16766248F9678681D726AC103EB /* MKTClassArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTClassArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.m; sourceTree = ""; }; + E279B95E3F041167BC33743E9FE53E6E /* MKTClassArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTClassArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.h; sourceTree = ""; }; + E2C70EB890E12C6BF977C5A1211AB976 /* OCHamcrest.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = OCHamcrest.xcconfig; sourceTree = ""; }; + E2E6B6ABB6447A01F9F6C3ED689539DC /* MKT_TPDWeakProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKT_TPDWeakProxy.m; path = "Source/ThirdParty/TPDWeakProxy-1.1.0/TPDWeakProxy/MKT_TPDWeakProxy.m"; sourceTree = ""; }; + E2F82C6FECE82DED179C8FEE1ACCB3A0 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; + E303A65F6CFC609ADA9D643FD3D7371B /* MKTUnsignedCharArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedCharArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.h; sourceTree = ""; }; E36947F1731F72E34CBD5E6A5683479E /* Pods-StateKitExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-StateKitExample-dummy.m"; sourceTree = ""; }; - E3B5C09BBFDFF0ED2B9D5C6E2B71DB80 /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; + E3AA41AD76165630351001EBA8480D4C /* SPTCompiledExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCompiledExample.h; path = Specta/Specta/SPTCompiledExample.h; sourceTree = ""; }; E3C4C93EE59E4C85857EDDFDE0FBFD0B /* Pods-StateKitExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StateKitExample.release.xcconfig"; sourceTree = ""; }; - E579798D93EDB4F360B879BBF3156AE5 /* HCTestFailureHandlerChain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCTestFailureHandlerChain.h; path = Source/Core/Helpers/TestFailureHandlers/HCTestFailureHandlerChain.h; sourceTree = ""; }; - E59FB09F37430B70B13AEE0461DC53D5 /* HCAllOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCAllOf.h; path = Source/Library/Logical/HCAllOf.h; sourceTree = ""; }; + E3EEE89324B1936C55C6B32C158C4EC3 /* MKTAnswer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTAnswer.h; path = Source/OCMockito/Stubbing/MKTAnswer.h; sourceTree = ""; }; + E4889B220D7D924A6614E34FB4D4108F /* OCMockito.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = OCMockito.xcconfig; sourceTree = ""; }; + E5B15AE513E3D0531877D2E70D964A86 /* OCMockito-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OCMockito-prefix.pch"; sourceTree = ""; }; E5D8173434FE00016739EAFDEFEA9313 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - E7031356F4FD3DCFA563782B3F8F5C9F /* OCMockito.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = OCMockito.xcconfig; sourceTree = ""; }; - E71D2C54E3A8C8684A94F4CF79EA4A54 /* HCIsEmptyCollection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEmptyCollection.h; path = Source/Library/Collection/HCIsEmptyCollection.h; sourceTree = ""; }; + E667A00EB3B2FE322FA781DEE6A88E1F /* MKTIntReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTIntReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.m; sourceTree = ""; }; + E6A11810D06B2191F54833025BF474A6 /* MKTClassReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTClassReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.m; sourceTree = ""; }; + E6D14C5CD9936AFA26CBA3528F18BA05 /* MKTShortArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTShortArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.h; sourceTree = ""; }; + E6E8B27CB320D1D8C2166ECE7145082D /* MKTDoubleArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTDoubleArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.h; sourceTree = ""; }; E74254ACC08ED584A224890CA0A82DD5 /* SKTypeDefs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SKTypeDefs.h; path = Pod/Classes/ObjC/SKTypeDefs.h; sourceTree = ""; }; + E77C77E1975781C3E0B44443FD589DCE /* HCIsCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCloseTo.h; path = Source/Library/Number/HCIsCloseTo.h; sourceTree = ""; }; E7B6AA5B46F032E8C91FE0EA4DE3FE6C /* Pods-Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Tests-dummy.m"; sourceTree = ""; }; - E818A9B09808E1E04BB2EB9A896DC7C4 /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; E8230E00C73AC7F0904DE1552A346C2D /* NSMutableArray+Queue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableArray+Queue.m"; path = "Pod/Classes/ObjC/NSMutableArray+Queue.m"; sourceTree = ""; }; - E853970D5857CBD6B3B21AB255FDF67F /* XCTestRun+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestRun+Specta.h"; path = "src/XCTestRun+Specta.h"; sourceTree = ""; }; - E8587789A8349C1FC4E68390D5157AFF /* HCUnsignedIntReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCUnsignedIntReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.m; sourceTree = ""; }; - E95EC2FDAACED200F6891C7F61C66929 /* HCIsEqual.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsEqual.h; path = Source/Library/Object/HCIsEqual.h; sourceTree = ""; }; - EC1C3E48E7A04CD4FE760187EF55B9B7 /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; - EC261C3C0BD0B692883D69C8F8A4CD3E /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; - EC4482503B923409B8BA827B4F8078D9 /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; - EC7E90801AEA87F554539A38F4242E39 /* MKTDoubleArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTDoubleArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.h; sourceTree = ""; }; - ECABD243D17B89BF291B0C849994C37F /* HCIsInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsInstanceOf.h; path = Source/Library/Object/HCIsInstanceOf.h; sourceTree = ""; }; - ED1F947CF60E74A7312C61AE4E2B47AF /* HCWrapInMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCWrapInMatcher.h; path = Source/Core/Helpers/HCWrapInMatcher.h; sourceTree = ""; }; - EDDDE1A389591518556E7DCF84ED0DA3 /* HCHasCount.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCHasCount.h; path = Source/Library/Collection/HCHasCount.h; sourceTree = ""; }; - EE974B4BF7D075EED3E259D85D989C2A /* HCIsEmptyCollection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsEmptyCollection.m; path = Source/Library/Collection/HCIsEmptyCollection.m; sourceTree = ""; }; + EA5173B1123F04F98D0661EA6E9173A6 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; + EBF61298F2644C1B11AE6F11C857C331 /* HCIsDictionaryContainingEntries.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsDictionaryContainingEntries.h; path = Source/Library/Collection/HCIsDictionaryContainingEntries.h; sourceTree = ""; }; + ECBF610F96828DCEABF00C0A439CB262 /* HCIsNot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsNot.m; path = Source/Library/Logical/HCIsNot.m; sourceTree = ""; }; + F01BA516D4029E9EFDC1189035470697 /* HCUnsignedCharReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedCharReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.h; sourceTree = ""; }; + F03924E8AB3C021B0C53092978F5E340 /* SPTCompiledExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCompiledExample.m; path = Specta/Specta/SPTCompiledExample.m; sourceTree = ""; }; F072401768BE759DCAF6501AD717B51D /* Pods-Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Tests-acknowledgements.markdown"; sourceTree = ""; }; + F0AB338309C07025ADE67DE4F5162DC0 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; + F0BD191BA56BB6305F3E730FE275A2A5 /* SPTTestSuite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTTestSuite.m; path = Specta/Specta/SPTTestSuite.m; sourceTree = ""; }; F0BECC0F58C0400CD51CD45DC53544AB /* NSMutableArray+Queue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableArray+Queue.h"; path = "Pod/Classes/ObjC/NSMutableArray+Queue.h"; sourceTree = ""; }; F14E4AE7B46616DAF0A744457AB2A4DC /* Pods-Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Tests-acknowledgements.plist"; sourceTree = ""; }; - F155375763EBB4EA02E3EEBD42E502A9 /* MKTShortArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTShortArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.h; sourceTree = ""; }; - F1891A9665B095C5C4688EEBF9261DB7 /* MKTStructReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTStructReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.m; sourceTree = ""; }; - F20AB58B4E95CF3087D969CECC5827BF /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; - F228D6007C8D1204F548FCE5627A6BF3 /* MKTClassArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTClassArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.h; sourceTree = ""; }; - F3196948574A7CD6A6D1A691823B309F /* MKTDynamicProperties.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTDynamicProperties.m; path = Source/OCMockito/Helpers/MKTDynamicProperties.m; sourceTree = ""; }; - F340F07AB58E0118717FEC2C40A7496F /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; - F345B6415F816E3169BDCCC1A1D66F71 /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; - F396D4ACA8142DA44AA652BA8026B694 /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; - F3D901140FC02B604026EAD6BBE27B5C /* MKTVerificationMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTVerificationMode.h; path = Source/OCMockito/MKTVerificationMode.h; sourceTree = ""; }; - F422BA35C2FA7D0618682A0CD6814578 /* HCIsSame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsSame.h; path = Source/Library/Object/HCIsSame.h; sourceTree = ""; }; - F46CEDB86FAC3566652CD0B41DF19AC5 /* HCLongReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCLongReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.m; sourceTree = ""; }; + F17FFEC4D68938C90C2FDFF0259A2B99 /* HCInvocationMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCInvocationMatcher.m; path = Source/Core/Helpers/HCInvocationMatcher.m; sourceTree = ""; }; + F2D3890C6AF3C6C767BA58F19447ACD9 /* MKTBaseMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTBaseMockObject.h; path = Source/OCMockito/Mocking/MKTBaseMockObject.h; sourceTree = ""; }; + F2D61A3F0CF8B8F3E76A143549FDD844 /* HCCollect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCCollect.m; path = Source/Core/Helpers/HCCollect.m; sourceTree = ""; }; F4B40AE9338AD3FB61BFE19E801D45FE /* Pods-StateKitExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-StateKitExample-resources.sh"; sourceTree = ""; }; - F52130DE21527637E339EF15AEE7F2AE /* MKTUnsignedShortArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedShortArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.h; sourceTree = ""; }; - F656B32589BB5839A4F7A9C4148E683F /* XCTestRun+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestRun+Specta.m"; path = "src/XCTestRun+Specta.m"; sourceTree = ""; }; - F6AD780F9470304B87B2CC3301BFF898 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; - F6C2E306C0A3627B0618AAF4992F284A /* MKTAtLeastTimes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTAtLeastTimes.m; path = Source/OCMockito/MKTAtLeastTimes.m; sourceTree = ""; }; - F71504AA878F473392ACE4CF5ECBF72C /* HCSenTestFailureReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCSenTestFailureReporter.m; path = Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.m; sourceTree = ""; }; - F726343EAD0B11A6C1E5174A191B14A2 /* HCTestFailureReporter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCTestFailureReporter.h; path = Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.h; sourceTree = ""; }; - F7A1BE72028CC0345985EE09E762982C /* MKTClassReturnSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTClassReturnSetter.m; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.m; sourceTree = ""; }; - F7F9C7BBEEB7060F155DC06D6C68618F /* HCClassMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCClassMatcher.m; path = Source/Library/Object/HCClassMatcher.m; sourceTree = ""; }; - F8368B5DE56AC6E26B6DD45FFB851F71 /* HCReturnValueGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCReturnValueGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.h; sourceTree = ""; }; - F83998CE6B796D45EED69B9908E1D951 /* MKTStructArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTStructArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.h; sourceTree = ""; }; - F8E8770775ABE7239D16070EBFF51122 /* SPTXCTestReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTXCTestReporter.m; path = src/SPTXCTestReporter.m; sourceTree = ""; }; + F4F002343DBCC5F70F849975AC7955A7 /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; + F5C41B029AC8E88BEE7870780DA577BF /* SPTGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTGlobalBeforeAfterEach.h; path = Specta/Specta/SPTGlobalBeforeAfterEach.h; sourceTree = ""; }; + F62F4B902EF2E0B20E92D51F34F96464 /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; + F698BBE59AB7F3C948D27130AA5CCB6F /* MKTCallStackElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTCallStackElement.m; path = Source/OCMockito/Invocation/MKTCallStackElement.m; sourceTree = ""; }; + F70844E1661EA549A5BB660053917E73 /* HCIsCollectionContainingInAnyOrder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionContainingInAnyOrder.h; path = Source/Library/Collection/HCIsCollectionContainingInAnyOrder.h; sourceTree = ""; }; + F73942D2E67D55FDCCA84FB5DBF97461 /* MKTParseCallStack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTParseCallStack.h; path = Source/OCMockito/Invocation/MKTParseCallStack.h; sourceTree = ""; }; + F767CCDF132D9AB50E32B92345A95F77 /* HCTestFailureReporter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCTestFailureReporter.m; path = Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.m; sourceTree = ""; }; + F7B7B6C10FFD125D64D6DFC5A0B49A84 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; + F894E8A1C645B6F3CFC93402DDA5ACE9 /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; F8EC281C62A9C2F6BD30208A927A1A2D /* Pods-Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Tests.debug.xcconfig"; sourceTree = ""; }; - FA9D3684E33ACA8A5476D2D4FBCD8B82 /* HCStringDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCStringDescription.h; path = Source/Core/HCStringDescription.h; sourceTree = ""; }; - FBDF76AB3DE2D1D0DBA46DE166DABFA8 /* HCIsCollectionContainingInOrder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCIsCollectionContainingInOrder.h; path = Source/Library/Collection/HCIsCollectionContainingInOrder.h; sourceTree = ""; }; - FC4A82759273A127E91B5D4A237CBF20 /* MKTUnsignedLongLongArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedLongLongArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.h; sourceTree = ""; }; - FD4E7B51CD1C48D7BBF4CD8433A94537 /* HCIsNot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCIsNot.m; path = Source/Library/Logical/HCIsNot.m; sourceTree = ""; }; - FD9A271CC1CB9E72D0B028B90232C6F5 /* HCFloatReturnGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCFloatReturnGetter.m; path = Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.m; sourceTree = ""; }; - FDECC6B7570C2CA0ABA68433FA731890 /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; - FE591C6BE2DB959A05C8E2C035300904 /* HCUnsignedIntReturnGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCUnsignedIntReturnGetter.h; path = Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.h; sourceTree = ""; }; - FEA14343273E493A146B601280CC4883 /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; - FECB5232DC4F7B2D05F12FA3F0FA2171 /* MKTBaseMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTBaseMockObject.h; path = Source/OCMockito/MKTBaseMockObject.h; sourceTree = ""; }; + F907581098E34D0A6E2B9BFCB3E2B29F /* MKTObjectArgumentGetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MKTObjectArgumentGetter.m; path = Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.m; sourceTree = ""; }; + FAAFE5AB9ED9719FC036280DD49A66AE /* MKTUnsignedShortReturnSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTUnsignedShortReturnSetter.h; path = Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.h; sourceTree = ""; }; + FB3A9509D9B11191217989DA0D5D7A60 /* MKTThrowsException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTThrowsException.h; path = Source/OCMockito/Stubbing/MKTThrowsException.h; sourceTree = ""; }; + FB6D061537A9B5278C4D6BEC0FC6FDFD /* HCStringDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = HCStringDescription.m; path = Source/Core/HCStringDescription.m; sourceTree = ""; }; + FBF8FBF9AF16C3DAB6F2687ED32742D9 /* MKTFloatArgumentGetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MKTFloatArgumentGetter.h; path = Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.h; sourceTree = ""; }; + FC6F5BDE8EEDBE8D4297310370CBB1C6 /* HCAssertThat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HCAssertThat.h; path = Source/Core/HCAssertThat.h; sourceTree = ""; }; + FE2C18A330221B8ABE0D851D72D04EFE /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -938,27 +974,27 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 96A4553E5BA547B81C1437D89E6E929B /* Frameworks */ = { + BF7B0160A3B11C4B51D80E9AC460290D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2D5D19B810792556A593D4CEA989A5D7 /* Foundation.framework in Frameworks */, + 4C5AAD17B94CA877EDE32A2C5A81ACD0 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BF7B0160A3B11C4B51D80E9AC460290D /* Frameworks */ = { + C5F00467AA58E41FB29178C51E521C8E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4C5AAD17B94CA877EDE32A2C5A81ACD0 /* Foundation.framework in Frameworks */, + D6BF77DCC2528486F3B4443D1A85A72C /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D865BD1D747D2AE1B2A7A1EC819D4F01 /* Frameworks */ = { + E2684B796CD50EC9C62AABFBE227D7AF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C122DB58D4685882D1714F89107FE5CD /* Foundation.framework in Frameworks */, + F20DD3569825A89C541519E973C191A5 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -984,6 +1020,17 @@ name = "Targets Support Files"; sourceTree = ""; }; + 0E1AC607F273F2775FBF13DAED70BDDC /* Support Files */ = { + isa = PBXGroup; + children = ( + 7563FC83B5651F04DFF5266452966AAA /* Expecta.xcconfig */, + C3B2A71849F159FFCB5173C50959D0AD /* Expecta-dummy.m */, + 43660AA319F117EF1983B32D887F62CE /* Expecta-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/Expecta"; + sourceTree = ""; + }; 2318802A1E5114E5047C6BB456038C1E /* Products */ = { isa = PBXGroup; children = ( @@ -1006,15 +1053,15 @@ name = "Development Pods"; sourceTree = ""; }; - 26D23A0F38BB92659CC7EAA25768F945 /* Support Files */ = { + 40510A7E11502E67A7F304D30767F22D /* Pods */ = { isa = PBXGroup; children = ( - B3932858E49D08B868EF38F2C87E0FFB /* Expecta.xcconfig */, - 4F199BB59053D994A775D66CF873AC74 /* Expecta-dummy.m */, - 20532781CC283BFD1A95D3F3528A891E /* Expecta-prefix.pch */, + E2DEF2FD7BB41E263761E77986B4A460 /* Expecta */, + C13220196D4BE94886AC3E285532E2D8 /* OCHamcrest */, + 6154B4CBDC9AB1823D40CE4A8207F37A /* OCMockito */, + 57A183E2398201A356BD5154E96688E0 /* Specta */, ); - name = "Support Files"; - path = "../Target Support Files/Expecta"; + name = Pods; sourceTree = ""; }; 433CD3331B6C3787F473C941B61FC68F /* Frameworks */ = { @@ -1039,6 +1086,40 @@ name = ObjC; sourceTree = ""; }; + 57A183E2398201A356BD5154E96688E0 /* Specta */ = { + isa = PBXGroup; + children = ( + 3C587827878ABBFA9B9465D9F8452CBB /* Specta.h */, + 2D37B24DDE50EE49CD4A52C3560E1CD1 /* SpectaDSL.h */, + 40A2AACB260E7123DB2E0FD9BAB4C7B0 /* SpectaDSL.m */, + CB0DD34DEE741AA41E7062B1D1001EE5 /* SpectaTypes.h */, + 97A4DF9239EFB2AE320290A9BE9AE443 /* SpectaUtility.h */, + CE796185FEBC10E5FB66F5F0DEC0A167 /* SpectaUtility.m */, + 2C96289AED2FCEC04BD53802FDA750E8 /* SPTCallSite.h */, + AFE10DBF66FBBFB12F3C1F667AB2405E /* SPTCallSite.m */, + E3AA41AD76165630351001EBA8480D4C /* SPTCompiledExample.h */, + F03924E8AB3C021B0C53092978F5E340 /* SPTCompiledExample.m */, + A35D362B5E46C3DDEDF10098DA49044A /* SPTExample.h */, + 811FE5F73FFD5E8C3AAACF48B8D59446 /* SPTExample.m */, + 1C2C502B44117256829AFAB0EAAA1EE7 /* SPTExampleGroup.h */, + 572F4F6A56A785C57741D28BE8A69A97 /* SPTExampleGroup.m */, + 31CA647E1B4D9C0A5B2AA4B8B1D93F44 /* SPTExcludeGlobalBeforeAfterEach.h */, + F5C41B029AC8E88BEE7870780DA577BF /* SPTGlobalBeforeAfterEach.h */, + A2B3CE3B200130325B0833F608C34231 /* SPTSharedExampleGroups.h */, + 5C0E4A0FDF3A74B247DA308F6CD736E2 /* SPTSharedExampleGroups.m */, + A3A68EF66DF69424151F092A99831432 /* SPTSpec.h */, + D35116F8C44AFEA9B01A3DB5F9B23884 /* SPTSpec.m */, + 7436CFF4F57F0644CEC16C8BE014D623 /* SPTTestSuite.h */, + F0BD191BA56BB6305F3E730FE275A2A5 /* SPTTestSuite.m */, + 6ABA649C84C36782E4063FD805A01492 /* XCTest+Private.h */, + 1DDE1FA02D8F97D377C9010D000ABDA3 /* XCTestCase+Specta.h */, + 0D4FBEC70A2CDE3127CB51DBDE405999 /* XCTestCase+Specta.m */, + CA8A6E8DF0FCACF0468C687F49763CD4 /* Support Files */, + ); + name = Specta; + path = Specta; + sourceTree = ""; + }; 5AB7E2395165498D9FBCD076532DB648 /* Pods-StateKitExample */ = { isa = PBXGroup; children = ( @@ -1054,15 +1135,164 @@ path = "Target Support Files/Pods-StateKitExample"; sourceTree = ""; }; - 712BA750FEAA2BBDE550996A10CBF2D7 /* Support Files */ = { + 6154B4CBDC9AB1823D40CE4A8207F37A /* OCMockito */ = { isa = PBXGroup; children = ( - 85A86F0B714C3991F20FF07688AD22F4 /* Specta.xcconfig */, - A43CA49A3A6118E235ACCAC2B99F85D2 /* Specta-dummy.m */, - 36AD7BBAD85DABF9253F0B060E790B0B /* Specta-prefix.pch */, + C522782AC422588453D499B5B537AA3B /* MKT_TPDWeakProxy.h */, + E2E6B6ABB6447A01F9F6C3ED689539DC /* MKT_TPDWeakProxy.m */, + E3EEE89324B1936C55C6B32C158C4EC3 /* MKTAnswer.h */, + C195B9A9E35B74796A4EB0DA58FBC9EE /* MKTArgumentGetter.h */, + 1DE16447D64482D73614215E11C00566 /* MKTArgumentGetter.m */, + CDB609AA81D39D1671C3F2514553A840 /* MKTArgumentGetterChain.h */, + 00AE67243808F6784BA011B808D120B6 /* MKTArgumentGetterChain.m */, + A4EE9E776AE0689F66746417DD6070A4 /* MKTAtLeastNumberOfInvocationsChecker.h */, + 97266C588BA5856AFA86FF8A47E3F61D /* MKTAtLeastNumberOfInvocationsChecker.m */, + A31F946D9C8DACDDF8C315E70D95FD1E /* MKTAtLeastTimes.h */, + 049C4D57CE4BC1E0E972C5CF44EF0D15 /* MKTAtLeastTimes.m */, + 98544E46FE83FF9CEE9C7A78B46B38DD /* MKTAtMostNumberOfInvocationsChecker.h */, + A31AE36980DC83B4C15B6BD2DE5D51F1 /* MKTAtMostNumberOfInvocationsChecker.m */, + 4665F3CF44A9C5DD5AD3AC1CD1D6A8A5 /* MKTAtMostTimes.h */, + 23F44FAC079BC79ED94D512FA646FAF9 /* MKTAtMostTimes.m */, + F2D3890C6AF3C6C767BA58F19447ACD9 /* MKTBaseMockObject.h */, + B03665F5EBA56BD95434ACD4AF220DE2 /* MKTBaseMockObject.m */, + 441F28AD5D2F24E2FB880AD94983C8D8 /* MKTBoolArgumentGetter.h */, + 753C85B6C8217539605EB893E6B65222 /* MKTBoolArgumentGetter.m */, + DC14CBA93D0923BEB39127B1315300DF /* MKTBoolReturnSetter.h */, + 0916003B47532E415321C292DAA7B0E4 /* MKTBoolReturnSetter.m */, + 6096C64B4ADB295A37CEF5E82809EBEA /* MKTCallStackElement.h */, + F698BBE59AB7F3C948D27130AA5CCB6F /* MKTCallStackElement.m */, + 2442C68005A8FAF74CE796B407F44AC5 /* MKTCharArgumentGetter.h */, + 0C13B4A24FBA5C059B4765BEB62F945A /* MKTCharArgumentGetter.m */, + 248EB2F3287F74665163273B506B4A58 /* MKTCharReturnSetter.h */, + 8AF74444131F992D5FB62E142230FA56 /* MKTCharReturnSetter.m */, + E279B95E3F041167BC33743E9FE53E6E /* MKTClassArgumentGetter.h */, + E247F16766248F9678681D726AC103EB /* MKTClassArgumentGetter.m */, + 1DAE6FCDD95EBEDD8F197110E39770FB /* MKTClassObjectMock.h */, + CB50BA8FDA6CB675FB3EA91735635A82 /* MKTClassObjectMock.m */, + 4FB5C7C1D05A857A5A5BB1029E6CC07B /* MKTClassReturnSetter.h */, + E6A11810D06B2191F54833025BF474A6 /* MKTClassReturnSetter.m */, + E6E8B27CB320D1D8C2166ECE7145082D /* MKTDoubleArgumentGetter.h */, + A784DB47A806AF3B61CF79C947CCE9F2 /* MKTDoubleArgumentGetter.m */, + 8BA219AF098A28FA8D24BBE2ACE8C99B /* MKTDoubleReturnSetter.h */, + 748FB3E9249948D960D695DD6A6922C7 /* MKTDoubleReturnSetter.m */, + 0F3B96BB8930C0278A7939FE15534F61 /* MKTDynamicProperties.h */, + 0DC05E870F0F14714079FCCC019E0C0B /* MKTDynamicProperties.m */, + 9A58B875C595A89B340DEC7885F7C9EA /* MKTExactTimes.h */, + 044BE8C42729C7B31D6E8AA7DFABB451 /* MKTExactTimes.m */, + 3A3110E5C930082C3D33A25D43106FBD /* MKTExecutesBlock.h */, + 467C51213362D8A09B8B530D446F8800 /* MKTExecutesBlock.m */, + 4609CB12076B6CD3603FFF8C90A0A68A /* MKTFilterCallStack.h */, + 8AF7A4FCE0482D79C57F200A4BDB22AD /* MKTFilterCallStack.m */, + FBF8FBF9AF16C3DAB6F2687ED32742D9 /* MKTFloatArgumentGetter.h */, + 84DC053E71885B1ACF12092F86E767B6 /* MKTFloatArgumentGetter.m */, + 76752574FEA558FB722DB28ABDA9928C /* MKTFloatReturnSetter.h */, + B570D9E814654D33881F17A562253655 /* MKTFloatReturnSetter.m */, + 434471BB422F9D894102B6BAB7462992 /* MKTIntArgumentGetter.h */, + 606CC5C05F9EA01F9C4CBC32BE5247CC /* MKTIntArgumentGetter.m */, + CEB69A6BFCC999DA1FD8AE29A1FD67E9 /* MKTIntReturnSetter.h */, + E667A00EB3B2FE322FA781DEE6A88E1F /* MKTIntReturnSetter.m */, + A3FAF83B71D3236876D56328025F67E6 /* MKTInvocation.h */, + 43659139A00A4C9D10506EEE7F300933 /* MKTInvocation.m */, + BD467E7E279AFC6BC9E3E0BD1935C319 /* MKTInvocationContainer.h */, + 1C6B67A81AA35BBC01805D77D310B3D8 /* MKTInvocationContainer.m */, + 5AF734317631D0CF1F71FD42395F5250 /* MKTInvocationMatcher.h */, + 23BCA11A90BFA9F3053E87A63675780E /* MKTInvocationMatcher.m */, + A3E31963B91CF27DF84D04F4F3C002E9 /* MKTInvocationsChecker.h */, + 0CB8C454172D1A3221ACDF5C38CDE303 /* MKTInvocationsChecker.m */, + 6F55445F662963C28EF23B085BD8A5FF /* MKTLocation.h */, + 966ABBD44DDE294F9BC7D5B16D1C87B7 /* MKTLocation.m */, + 7D5ECB28AAE9F3F42AA186BA1F8331B3 /* MKTLongArgumentGetter.h */, + 3D17272B403DBAC21A2C1A3F623D1E00 /* MKTLongArgumentGetter.m */, + 2B36AA09ECA88AD756999EAAB6CAA3F9 /* MKTLongLongArgumentGetter.h */, + 1B03959D7BA381B457E06D208B3FCE27 /* MKTLongLongArgumentGetter.m */, + D1E48732F71F9D0F05471121FE7A8FD7 /* MKTLongLongReturnSetter.h */, + 8946E73EF4D9294B8E4E536397259BA4 /* MKTLongLongReturnSetter.m */, + B1FA2C8C88BD0B80EF33D184CC0107CD /* MKTLongReturnSetter.h */, + DA12AF967E77C65BDF1145D79F58538E /* MKTLongReturnSetter.m */, + 0DC931512DC58C58C7C2A6039DB86759 /* MKTMatchingInvocationsFinder.h */, + 94760CC696EE1870AB0BEAE7BBC74456 /* MKTMatchingInvocationsFinder.m */, + 105476B67226B9AD1E0D97BE3A5E51F7 /* MKTMissingInvocationChecker.h */, + 9F053508429761D07A40E4FDC55D9F16 /* MKTMissingInvocationChecker.m */, + A3FB48A1E4544853D6C8F53801D02FEE /* MKTMockingProgress.h */, + 671623F961A6DC5DB2D33430F815744D /* MKTMockingProgress.m */, + 187E56273FC470160AA58E25C6E59BF1 /* MKTMockitoCore.h */, + 5104140B658DD4732E8E77C26483750D /* MKTMockitoCore.m */, + 21C2625ACB24C79E71388DCB2AE5F93B /* MKTNonObjectArgumentMatching.h */, + 54C2E06CB872ADB6FA82CA834E66A017 /* MKTNumberOfInvocationsChecker.h */, + 8D99BB00CD4309F2B751871512D9B48E /* MKTNumberOfInvocationsChecker.m */, + B8CE1E62CDC824EB1560B5B88672B235 /* MKTObjectAndProtocolMock.h */, + 1D14FF75C93E5D5C06246C7B6CD9C8DE /* MKTObjectAndProtocolMock.m */, + 62DD284F5FEAE3CEDEB9DCC3D4EADEFE /* MKTObjectArgumentGetter.h */, + F907581098E34D0A6E2B9BFCB3E2B29F /* MKTObjectArgumentGetter.m */, + 8298A77B58C031A015DC6F98279C2612 /* MKTObjectMock.h */, + 1BE1DD023CAE0313246E8BCB92605E92 /* MKTObjectMock.m */, + 34297DD2C96B14DB9D413FEC175D65C7 /* MKTObjectReturnSetter.h */, + C5406202CDD3532FC11AD2766167EEE5 /* MKTObjectReturnSetter.m */, + 37191AE6D3797C0260B157FE2A087E28 /* MKTOngoingStubbing.h */, + 6626CF8267E003A1CC7B2AC98AD476D1 /* MKTOngoingStubbing.m */, + F73942D2E67D55FDCCA84FB5DBF97461 /* MKTParseCallStack.h */, + 2DD49A8755A5917DAD14BCF729B5114C /* MKTParseCallStack.m */, + BDF2DBD435A17C260637EABE92AAB1BC /* MKTPointerArgumentGetter.h */, + 403A0117471F7814FCCCA60582A8F0BE /* MKTPointerArgumentGetter.m */, + C30E916F686E8989AAC4C9FB6F801819 /* MKTPrinter.h */, + 72F2C5A8AC3FA563610D029895CF007A /* MKTPrinter.m */, + DD3BE350EBF5F95CAA7B35C0B5341166 /* MKTProtocolMock.h */, + B90B9B3AB4974B39400C832B49A23AA7 /* MKTProtocolMock.m */, + 73C52694256B2DEF919EA3CF18732C6A /* MKTReturnsValue.h */, + 927F3E50DC9C67DEECFCA49E4E81BB0B /* MKTReturnsValue.m */, + 5311558C0D814B689D5FA9457CA4C4FD /* MKTReturnValueSetter.h */, + 001586BD08DF32270E3354D0E048467C /* MKTReturnValueSetter.m */, + 033DEB17C6F3E7FC7577C2FBB04E3C7F /* MKTReturnValueSetterChain.h */, + DBEE22B3371E84E36B5384627BBF5E94 /* MKTReturnValueSetterChain.m */, + 1B091EDE67033974F32F731E4312B0F6 /* MKTSelectorArgumentGetter.h */, + 1AB1340C2BD6BDE7D1B175B90B40E66D /* MKTSelectorArgumentGetter.m */, + E6D14C5CD9936AFA26CBA3528F18BA05 /* MKTShortArgumentGetter.h */, + AA843E80B5948017A233C74264F5CFAA /* MKTShortArgumentGetter.m */, + 5FCBEDC9380095F08B0C0FF2762562AA /* MKTShortReturnSetter.h */, + 5577A55CD46A209B76BE3BA3D9092E17 /* MKTShortReturnSetter.m */, + A7282C27DEEE5684275475729912BD18 /* MKTSingletonSwizzler.h */, + A6B227F4C2C6926B94137DFA1FB41E12 /* MKTSingletonSwizzler.m */, + 98F68277250B05BBA07E03F9BC964F40 /* MKTStructArgumentGetter.h */, + ABF53BFD38D052E7653170C97BD88BDE /* MKTStructArgumentGetter.m */, + 318583D5AB71B2F1AFBDFE2412E0DD09 /* MKTStructReturnSetter.h */, + AD718A267716AAFC7D50FB27406855F6 /* MKTStructReturnSetter.m */, + 89C4B0296C18885E86407F3920B1C54D /* MKTStubbedInvocationMatcher.h */, + 41A8481E0122B3A2F42519827D6C6095 /* MKTStubbedInvocationMatcher.m */, + 4CCA5D19940993BE3D457D82B48C01AF /* MKTTestLocation.h */, + 1E3F497A18C55A2BBB8AE9C334BB1FE9 /* MKTTestLocation.m */, + FB3A9509D9B11191217989DA0D5D7A60 /* MKTThrowsException.h */, + E1BCE1D94FB58D2849B9ED8BAA4C7F52 /* MKTThrowsException.m */, + E303A65F6CFC609ADA9D643FD3D7371B /* MKTUnsignedCharArgumentGetter.h */, + 1773508DC2AE4CC49CE9F60DF6B34F7A /* MKTUnsignedCharArgumentGetter.m */, + 2EA9548DA838D4A4134CB019F8B11D5B /* MKTUnsignedCharReturnSetter.h */, + A3251F4C2308C730CE7F0B1086D7DE4D /* MKTUnsignedCharReturnSetter.m */, + DD172B49850C03841AC28736AF620015 /* MKTUnsignedIntArgumentGetter.h */, + 28B57ADF2B43CA1646FB66299F24A518 /* MKTUnsignedIntArgumentGetter.m */, + C89E1F01D6E51ECCD855B9C7CC8C72E8 /* MKTUnsignedIntReturnSetter.h */, + 5A3133A683CFF52EC2A59035495FB0C3 /* MKTUnsignedIntReturnSetter.m */, + 245AECD3605025B21E525039D3281867 /* MKTUnsignedLongArgumentGetter.h */, + 6CE25D27209D6CED252FCF1BEAE0DC78 /* MKTUnsignedLongArgumentGetter.m */, + D6AA36BAA9D68CF711541AA6AC7DDBFF /* MKTUnsignedLongLongArgumentGetter.h */, + 8128D9BECE1D0CE463516A1508CDD61C /* MKTUnsignedLongLongArgumentGetter.m */, + 0E6CDAA1AE5B0945068795F38784929B /* MKTUnsignedLongLongReturnSetter.h */, + 3066F0D9B630315CFC02E7B31D775E94 /* MKTUnsignedLongLongReturnSetter.m */, + 23CA027A74D65C1580A8EAE915E7AAC7 /* MKTUnsignedLongReturnSetter.h */, + 8C80F62D05F8A660E2446A8C75DCFEAC /* MKTUnsignedLongReturnSetter.m */, + DE73428ADBCCBAADAE9E41AB2DFE3CAA /* MKTUnsignedShortArgumentGetter.h */, + D6C2714B812711E44DAB8931BC53F883 /* MKTUnsignedShortArgumentGetter.m */, + FAAFE5AB9ED9719FC036280DD49A66AE /* MKTUnsignedShortReturnSetter.h */, + 06A74F4DAD2FA1174A75F1FB62700FE0 /* MKTUnsignedShortReturnSetter.m */, + D66CC52E4EECF0EA0FAB90827AAC0830 /* MKTVerificationData.h */, + 80CB5763B8C3B0F4BA0C01A08A817B78 /* MKTVerificationData.m */, + 3A3C99F6634262BC7D6BAF906110B67B /* MKTVerificationMode.h */, + 21BED44252F96451CA588BFB25E9F975 /* NSInvocation+OCMockito.h */, + B2074E90B2D672EA5C77C1F796D4E2A9 /* NSInvocation+OCMockito.m */, + B11DC3633B144526D63EC00D9E77F3E4 /* OCMockito.h */, + 4EA21928BF8DB9ABC78E3CBB82E3C144 /* OCMockito.m */, + DB102FE66AFCED3E6B017AF5103E1769 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Specta"; + name = OCMockito; + path = OCMockito; sourceTree = ""; }; 7BE34EE7067F7CC8A54539A282682749 /* iOS */ = { @@ -1080,23 +1310,12 @@ 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, 267FF8A5CE14B4BFEBF3DA5A9E728BF8 /* Development Pods */, 433CD3331B6C3787F473C941B61FC68F /* Frameworks */, - 801A416E8785431A20FFA29793B4B3AB /* Pods */, + 40510A7E11502E67A7F304D30767F22D /* Pods */, 2318802A1E5114E5047C6BB456038C1E /* Products */, 0D000BCEEB70C532B2491DA267FEAF03 /* Targets Support Files */, ); sourceTree = ""; }; - 801A416E8785431A20FFA29793B4B3AB /* Pods */ = { - isa = PBXGroup; - children = ( - BB9EEB977503E2316D74C535250BDEFD /* Expecta */, - C439DF0DCC6F5438D983F0FED161AB63 /* OCHamcrest */, - DB86E604BF82BDB03806F478A9B872C1 /* OCMockito */, - CB0A4A744A5456197731DDAD30C844B8 /* Specta */, - ); - name = Pods; - sourceTree = ""; - }; B6F298FAC4EB018330E8370255ED905D /* Pods-Tests */ = { isa = PBXGroup; children = ( @@ -1112,447 +1331,200 @@ path = "Target Support Files/Pods-Tests"; sourceTree = ""; }; - BB9EEB977503E2316D74C535250BDEFD /* Expecta */ = { - isa = PBXGroup; - children = ( - 47847FA0C4D3E303A52E58A21D87D1CF /* EXPBlockDefinedMatcher.h */, - 721A00FA6D2247EBD3E7EB46E19F85DC /* EXPBlockDefinedMatcher.m */, - 69360425CBA8B8F8E5ADD7A26111F866 /* EXPDefines.h */, - 285225DA28048FD0015562E4CB9B2D1C /* EXPDoubleTuple.h */, - 8824E4AE890F5E78949D02B09405C827 /* EXPDoubleTuple.m */, - CA172AD45B7860B13217A2636256734D /* Expecta.h */, - 201DAE0DE55D3162D4E5EBE8AFD9DC9E /* ExpectaObject.h */, - C812C01C2F763DE6A60604472325D373 /* ExpectaObject.m */, - 44EBE7B4E9837501BB62A288F8C78738 /* ExpectaSupport.h */, - 58F1AF74D04316B3CB7380A34143C537 /* ExpectaSupport.m */, - F20AB58B4E95CF3087D969CECC5827BF /* EXPExpect.h */, - 666DB259EDE67769EA04DC67E8C44CB2 /* EXPExpect.m */, - 2C5278B195B9B0B37A650ABB018AA5DE /* EXPFloatTuple.h */, - D83A4EF914BAD481536E206B83283D4C /* EXPFloatTuple.m */, - ACC882DF0BEF8667C87F39A9072D8ECD /* EXPMatcher.h */, - A518F9884735D9E29E2DF165F66CCB4A /* EXPMatcherHelpers.h */, - 21DC0EE1AD50FF14CBB104BDB8E60F05 /* EXPMatcherHelpers.m */, - FDECC6B7570C2CA0ABA68433FA731890 /* EXPMatchers.h */, - D5EAD35ACB0EDE176FB23CC4D690D7EE /* EXPMatchers+beCloseTo.h */, - C89F9F10D76F9D6F343F7E02F271D3A1 /* EXPMatchers+beCloseTo.m */, - EC1C3E48E7A04CD4FE760187EF55B9B7 /* EXPMatchers+beFalsy.h */, - D7769D69E7A9905BB2F7322674ED9795 /* EXPMatchers+beFalsy.m */, - 34B64208B54B6D3905B8094AAF851053 /* EXPMatchers+beginWith.h */, - C7D3DC810F24ED94AD29F3240A2DB7D0 /* EXPMatchers+beginWith.m */, - 8B93421F1DC4838E0AD64EDD26DCCF21 /* EXPMatchers+beGreaterThan.h */, - 4C68E0F73F5DB906EC5530917A4230F4 /* EXPMatchers+beGreaterThan.m */, - FEA14343273E493A146B601280CC4883 /* EXPMatchers+beGreaterThanOrEqualTo.h */, - 2A5388105F5BDDC5D525EF8591D75F1D /* EXPMatchers+beGreaterThanOrEqualTo.m */, - 95ECE041C73294643A1851C041D1637B /* EXPMatchers+beIdenticalTo.h */, - BEE729900984EF2C621EE4E871CBD0B2 /* EXPMatchers+beIdenticalTo.m */, - A6154EBC8D7540E023689DEFFAB9CB86 /* EXPMatchers+beInstanceOf.h */, - 1D758300B324A6F6A9CC09711B8F89F0 /* EXPMatchers+beInstanceOf.m */, - EC261C3C0BD0B692883D69C8F8A4CD3E /* EXPMatchers+beInTheRangeOf.h */, - 4F961857FC7C977E3E8488F1A4BFF332 /* EXPMatchers+beInTheRangeOf.m */, - 2FEBF2812FEF50F1B6EA97FA35C3E35A /* EXPMatchers+beKindOf.h */, - DDABCAB64EB69FD5D4FA3BE81FA722F3 /* EXPMatchers+beKindOf.m */, - 59E4F9BFA76FD82E1BC68ADA45209531 /* EXPMatchers+beLessThan.h */, - 106FE2667F2D42DA96CE0410E5869550 /* EXPMatchers+beLessThan.m */, - E3B5C09BBFDFF0ED2B9D5C6E2B71DB80 /* EXPMatchers+beLessThanOrEqualTo.h */, - 655FC3508047B8DA8324C676D170A8D1 /* EXPMatchers+beLessThanOrEqualTo.m */, - 94806828C7D6A18CB02268617CE1BF38 /* EXPMatchers+beNil.h */, - 4231CCFDF6E74BE8E00A0F74F28FA432 /* EXPMatchers+beNil.m */, - 193B573EE23A1CE4CC314D108AFFA61E /* EXPMatchers+beSubclassOf.h */, - 5F426ACCF25FA3AF6915008D169B0DBC /* EXPMatchers+beSubclassOf.m */, - 566866BDD13B1AC00C3DD89DF6EE1AB6 /* EXPMatchers+beSupersetOf.h */, - 1AD87792E97D8A89F74DF6FC148D8652 /* EXPMatchers+beSupersetOf.m */, - F345B6415F816E3169BDCCC1A1D66F71 /* EXPMatchers+beTruthy.h */, - BDA80670AA7AFB870295E7C0BAF846D1 /* EXPMatchers+beTruthy.m */, - 0E9DF496BF275FABB607CF8882E3AC9A /* EXPMatchers+conformTo.h */, - 1B815BD0A796155792A38F99CE841432 /* EXPMatchers+conformTo.m */, - F6AD780F9470304B87B2CC3301BFF898 /* EXPMatchers+contain.h */, - 8ABB00691AE6D9E81CBE796259D052EE /* EXPMatchers+contain.m */, - 18CB16E4AFD4C0D574253CEBD2F24C35 /* EXPMatchers+endWith.h */, - 363D0E90F1FC1A139CE7EF5B70B6CC85 /* EXPMatchers+endWith.m */, - 6551C3CE2303F12C0BBB5469728B4FBE /* EXPMatchers+equal.h */, - 2048BB78D6B1EC7EA7FFC45ECCB5759E /* EXPMatchers+equal.m */, - 5DBDBB6D3B9C97795D865AF2C819AF6D /* EXPMatchers+haveCountOf.h */, - 8D0B1328A685089B331ACBF9330AD34E /* EXPMatchers+haveCountOf.m */, - 53FF3A49DF1B73D035AA13DAE077C575 /* EXPMatchers+match.h */, - 8E5B63521C75C80F951F44AF5D1B3206 /* EXPMatchers+match.m */, - F396D4ACA8142DA44AA652BA8026B694 /* EXPMatchers+postNotification.h */, - C81547C03DBF462F3BE44AC0BBAF9F69 /* EXPMatchers+postNotification.m */, - CCF5174BE6908F0DB8B6DDB546637DE0 /* EXPMatchers+raise.h */, - 7B50BA2C2DDAC47B713A84FD307A587C /* EXPMatchers+raise.m */, - E818A9B09808E1E04BB2EB9A896DC7C4 /* EXPMatchers+raiseWithReason.h */, - F340F07AB58E0118717FEC2C40A7496F /* EXPMatchers+raiseWithReason.m */, - 8B6B183F87A59797869A4A6299845147 /* EXPMatchers+respondTo.h */, - EC4482503B923409B8BA827B4F8078D9 /* EXPMatchers+respondTo.m */, - C02E2E49CAE8390BFE278589CD227EA8 /* EXPUnsupportedObject.h */, - 87FFE8DB6009824BE6E51B0E95717EAE /* EXPUnsupportedObject.m */, - DEA41563F97DAB7444EC41E63FCC289C /* NSObject+Expecta.h */, - A814EFD74AF9C722A4E5D5AA689781AA /* NSValue+Expecta.h */, - CF70DC118253ABDD9E11866426A7BC02 /* NSValue+Expecta.m */, - 26D23A0F38BB92659CC7EAA25768F945 /* Support Files */, - ); - name = Expecta; - path = Expecta; - sourceTree = ""; - }; - BBED634C2378BA5D38BEA4F10D9CA624 /* Support Files */ = { - isa = PBXGroup; - children = ( - E7031356F4FD3DCFA563782B3F8F5C9F /* OCMockito.xcconfig */, - 09E9C9A3A3E657E63C18E2FB4012F32F /* OCMockito-dummy.m */, - 3E6AB6F4CCE675EEC7B690D1201042FA /* OCMockito-prefix.pch */, - ); - name = "Support Files"; - path = "../Target Support Files/OCMockito"; - sourceTree = ""; - }; - C439DF0DCC6F5438D983F0FED161AB63 /* OCHamcrest */ = { + C13220196D4BE94886AC3E285532E2D8 /* OCHamcrest */ = { isa = PBXGroup; children = ( - E59FB09F37430B70B13AEE0461DC53D5 /* HCAllOf.h */, - 2D0588FC1308F310550404CF19002D6B /* HCAllOf.m */, - 605034934E1029B72054B69D1F55055E /* HCAnyOf.h */, - 3A99FD38ADFDB515307EEC1FE364CAA5 /* HCAnyOf.m */, - 18521F640691124F36E4A2FC9AFFC9B2 /* HCArgumentCaptor.h */, - 9E8B35FB6E3BCAD2E629ADDF1970EE33 /* HCArgumentCaptor.m */, - 4CA6B386D22B7906338DFCD77CE9FBD7 /* HCAssertThat.h */, - 18998CA0AF56E347147B3063711C7FE3 /* HCAssertThat.m */, - 94C0A4073438D8EEDA9D9BDC333C2FB8 /* HCBaseDescription.h */, - D540907071561734FD7BFA486ABE0381 /* HCBaseDescription.m */, - 8A49916CA2B22ADFD305DEA3724F12E4 /* HCBaseMatcher.h */, - 1F93B04F728B878686992C841AB30542 /* HCBaseMatcher.m */, - 1868A1901D68D2B8FC1E8ADF3A1283D0 /* HCBoolReturnGetter.h */, - 0B25E9E8C57272642E1BCFB60C992BCC /* HCBoolReturnGetter.m */, - 2E705C0BBB9B8385CEB1EB9FD78CCFCE /* HCCharReturnGetter.h */, - 9E875842A05E20CFB26C58D2986BE958 /* HCCharReturnGetter.m */, - 27E52D244EC78B5011B512315871B309 /* HCClassMatcher.h */, - F7F9C7BBEEB7060F155DC06D6C68618F /* HCClassMatcher.m */, - E0463EEF39935F9BE87760B627753992 /* HCCollect.h */, - 41917508AEE3EE9FC893AD7A7194C72D /* HCCollect.m */, - 838AD3B5562EAC9691E465AFB5E8346A /* HCConformsToProtocol.h */, - D4BB55D19A0FADF0E98424E459E3312E /* HCConformsToProtocol.m */, - 56CC209526028F2F92DFEBCEA422EB20 /* HCDescribedAs.h */, - 6FCDD98C37244676ED3429C62CA17CEB /* HCDescribedAs.m */, - 41677BA7F73DB24CAD9DA8BBA47F3356 /* HCDescription.h */, - 79AD96AF7E7A88B008780B2DD1EE238D /* HCDiagnosingMatcher.h */, - E1C37F0AA85CCA09B04EAB0044B0424B /* HCDiagnosingMatcher.m */, - 73C631587DCE4BA7427177DEFD420791 /* HCDoubleReturnGetter.h */, - 746E1ECB75F05C3E1F0234C8D4634E78 /* HCDoubleReturnGetter.m */, - B8720DEA4A855B766138C84531B954A1 /* HCEvery.h */, - E19755305716F38EF3DD8B71E6698B5F /* HCEvery.m */, - 55834E6C04EB6CD84A31DDC404D89EAF /* HCFloatReturnGetter.h */, - FD9A271CC1CB9E72D0B028B90232C6F5 /* HCFloatReturnGetter.m */, - CC83CF3A9DB5F01E6341833BAB8286B9 /* HCGenericTestFailureReporter.h */, - 8BBCF381D3BD39B1EDEDB3295924802A /* HCGenericTestFailureReporter.m */, - EDDDE1A389591518556E7DCF84ED0DA3 /* HCHasCount.h */, - AA993554D9377319036E26C19FA0F146 /* HCHasCount.m */, - 323F2F9118A7CED349320DD17820ED06 /* HCHasDescription.h */, - 50620FD1879845FDFBC84C46CB95F002 /* HCHasDescription.m */, - D05052621F9A784DAF40571193080D72 /* HCHasProperty.h */, - D480FEB340BE999A475041AE5A5C3C29 /* HCHasProperty.m */, - 96C1608517D2F65ED11CFF55D1BF85A7 /* HCIntReturnGetter.h */, - B7291C86D4DD374D032CA1185AF733A2 /* HCIntReturnGetter.m */, - 8D37D3FAA2DD9D63FE3EF67F084EBDEA /* HCInvocationMatcher.h */, - 8776FB65C372FE2D8E2ED625FD13D4B4 /* HCInvocationMatcher.m */, - 2A682C851BCF6F97545E4A8D896F280B /* HCIs.h */, - 319D2AE1F42455512E41E068EB379486 /* HCIs.m */, - E2322CAD83439BD6B06BAE963AE3F67E /* HCIsAnything.h */, - 445727D771CBCC12F019386412989F43 /* HCIsAnything.m */, - 284C6128A6B06E49DBC0ECC11FABE5BA /* HCIsCloseTo.h */, - A5BCC2E3F3D82954CAFBBE2AF960B1DB /* HCIsCloseTo.m */, - 83E89E82B3E52166A5C5495D0ED02AFA /* HCIsCollectionContaining.h */, - B1CCDC06AF8F0EBD3175581495EA6A80 /* HCIsCollectionContaining.m */, - 6928C89DBE7F8B27C90F4FD7DE060480 /* HCIsCollectionContainingInAnyOrder.h */, - 5159F6B314602C0E5BB9C98CB98AB065 /* HCIsCollectionContainingInAnyOrder.m */, - FBDF76AB3DE2D1D0DBA46DE166DABFA8 /* HCIsCollectionContainingInOrder.h */, - 12CF4F3CCA06C1A1CC18B12611B3677F /* HCIsCollectionContainingInOrder.m */, - DEABADFE3871991324ACE6BB449C707F /* HCIsCollectionContainingInRelativeOrder.h */, - 754C8E0D535D8ED784D591E9CDDB440D /* HCIsCollectionContainingInRelativeOrder.m */, - 44E0895D809E0C0F25F7ABBD3799E6C0 /* HCIsCollectionOnlyContaining.h */, - 08B329E8F47EC51907A0F0A65A87FEA8 /* HCIsCollectionOnlyContaining.m */, - 7DDBF0BC3AA7F8357D5DA8F16FB9E211 /* HCIsDictionaryContaining.h */, - 8B6FD8225D26F9D829B30C91D2ED1F4D /* HCIsDictionaryContaining.m */, - 88E17B5441171A410D427E648B3107B2 /* HCIsDictionaryContainingEntries.h */, - 453DF47E90CE478014B3FD7DC9497D75 /* HCIsDictionaryContainingEntries.m */, - 4678FD317AC290D2EAFFE5AD17DD0D31 /* HCIsDictionaryContainingKey.h */, - E0CAFE4AB6BEE91AB50580E8580DA88E /* HCIsDictionaryContainingKey.m */, - 4438690AF5EF0C44AB5EE5BA2933AE9C /* HCIsDictionaryContainingValue.h */, - 0229816A21F86428A911E3B6EF60BFE5 /* HCIsDictionaryContainingValue.m */, - E71D2C54E3A8C8684A94F4CF79EA4A54 /* HCIsEmptyCollection.h */, - EE974B4BF7D075EED3E259D85D989C2A /* HCIsEmptyCollection.m */, - E95EC2FDAACED200F6891C7F61C66929 /* HCIsEqual.h */, - C1743D8DB97D03D975FEB289900CC32D /* HCIsEqual.m */, - 060A1008E8A759930481DD929203644E /* HCIsEqualIgnoringCase.h */, - 0444F631EC793184DD6BBFD12AD30610 /* HCIsEqualIgnoringCase.m */, - D4F498A8F7BC8F7B57926CC6BBBAED13 /* HCIsEqualIgnoringWhiteSpace.h */, - 642EE4014FD60B03072024FA328C3202 /* HCIsEqualIgnoringWhiteSpace.m */, - 88D895FD626F43AE7B61F5484737FD28 /* HCIsEqualToNumber.h */, - 8149E7BAFDAE7AA090C57628F18D78AE /* HCIsEqualToNumber.m */, - 74DF450CF556FE5027A555737809426A /* HCIsIn.h */, - 0EF310C63CCA43AA01B1F75CF0DB107F /* HCIsIn.m */, - ECABD243D17B89BF291B0C849994C37F /* HCIsInstanceOf.h */, - 3CB7871679F3D94B020E4975812B106D /* HCIsInstanceOf.m */, - 8E40F6F1E3D164E1FF6D418361C6DC91 /* HCIsNil.h */, - A5AEF5158E2D9D1274C89FE94E208B1A /* HCIsNil.m */, - 090DCD0D602D8124A5AC65BC9598F6DE /* HCIsNot.h */, - FD4E7B51CD1C48D7BBF4CD8433A94537 /* HCIsNot.m */, - F422BA35C2FA7D0618682A0CD6814578 /* HCIsSame.h */, - 624CCA5E947C5D0FD52BC6C63958F661 /* HCIsSame.m */, - 2B3EC2AF0D59E7B69DB191633F0C2920 /* HCIsTrueFalse.h */, - E02B6B763B5C3865777C2201A4123DFC /* HCIsTrueFalse.m */, - 6D131FF9D02AB375385E8AF3B4CC792C /* HCIsTypeOf.h */, - 314E0D4BD9A354C60A14E0D29D03E2CE /* HCIsTypeOf.m */, - 811027B08457F8963B9D02A801543C2C /* HCLongLongReturnGetter.h */, - 3FA4E0B0AC53037FD5B8DD88895E8944 /* HCLongLongReturnGetter.m */, - 4953335BDF9B5963387D40974703E52F /* HCLongReturnGetter.h */, - F46CEDB86FAC3566652CD0B41DF19AC5 /* HCLongReturnGetter.m */, - 76096D085AC8FEF0352460F0C84DB09F /* HCMatcher.h */, - 2275679F9FDF24737AD3A611145DC523 /* HCNumberAssert.h */, - 9C00A462647DD0BDC70CCA1234FBCBB4 /* HCNumberAssert.m */, - B8147CA46AE4FFF7B6EFA2F7126519D6 /* HCObjectReturnGetter.h */, - B988D65B7684A6E3A4992F12BAD926D3 /* HCObjectReturnGetter.m */, - A3C3573312246A1E82BD133220F29BFE /* HCOrderingComparison.h */, - 046C37832A717378B0DC32D991B67E57 /* HCOrderingComparison.m */, - B957AD0F6E6D5D1F6DE3AE1821C25DFE /* HCRequireNonNilObject.h */, - 621DE7E71C68694A8AC0C42EFC34DB86 /* HCRequireNonNilObject.m */, - 7689DBBBBD57CCF21B26EC6F5CE82388 /* HCReturnTypeHandlerChain.h */, - B5D953C14BF9405F127ED0035587C0A0 /* HCReturnTypeHandlerChain.m */, - F8368B5DE56AC6E26B6DD45FFB851F71 /* HCReturnValueGetter.h */, - 143826AFE56AA5A34004011057B2853C /* HCReturnValueGetter.m */, - D9BFA60AD4E6AC5D5C5DE165A8E7CCF9 /* HCSelfDescribing.h */, - 9F2CB8F2C1B900C47D0B049C7B4F160B /* HCSenTestFailureReporter.h */, - F71504AA878F473392ACE4CF5ECBF72C /* HCSenTestFailureReporter.m */, - B12D5DD96982B8C751E7BFDBFADA35A5 /* HCShortReturnGetter.h */, - 950AF2DEFE02CAC21D8FD65414B22D88 /* HCShortReturnGetter.m */, - 8761E251D186D4261281DDECD45BCB4D /* HCStringContains.h */, - 9700475796C5CD283B418004E49483D9 /* HCStringContains.m */, - 91BCBC56D0939F6A43D5A0CD692AF04A /* HCStringContainsInOrder.h */, - AF9AE7C6C442C9DA6824C05982E0ADFB /* HCStringContainsInOrder.m */, - FA9D3684E33ACA8A5476D2D4FBCD8B82 /* HCStringDescription.h */, - CD625158A13DD413F816FF0458D70A32 /* HCStringDescription.m */, - 31051799E7440671FA080A4D873E4341 /* HCStringEndsWith.h */, - 729E009DD67CA7E5F89B86FBA83998AE /* HCStringEndsWith.m */, - 589FAC53E4A9A4D0FACD4F841E7C502F /* HCStringStartsWith.h */, - A6E2DB64A16A8384E7532E4C12914F50 /* HCStringStartsWith.m */, - 446025AEBE0D3D73B729A9B2FC487FEE /* HCSubstringMatcher.h */, - 73CFF149EA427AA9208332EB1B32DB47 /* HCSubstringMatcher.m */, - 1C38AD6C28288FA6140F71692DFC5798 /* HCTestFailure.h */, - E27455F8B137A7EB0AC7BF0FB378FA02 /* HCTestFailure.m */, - 3DD5343A267306EC54940833E7D6BC78 /* HCTestFailureHandler.h */, - E579798D93EDB4F360B879BBF3156AE5 /* HCTestFailureHandlerChain.h */, - C5FE287BD6C5EDED55A1814DD284A290 /* HCTestFailureHandlerChain.m */, - F726343EAD0B11A6C1E5174A191B14A2 /* HCTestFailureReporter.h */, - C425AE0AB170743CDB8BCF7CEEA7846F /* HCTestFailureReporter.m */, - 2916EF372A1A55CE233A6FFE5FF478D1 /* HCTestFailureReporterChain.h */, - 6A93F410F36AA87234BA048A6AEB450B /* HCTestFailureReporterChain.m */, - 13813E793072E5A871D9A2487BB4F5BC /* HCThrowsException.h */, - 42BD6DEBD02B1620F3C60718D6063D7E /* HCThrowsException.m */, - 9CD9B6D8A704B7A889429ACA7ADFD182 /* HCUnsignedCharReturnGetter.h */, - 4DDFF08FFE0E9F28AF015A6FF8F234B4 /* HCUnsignedCharReturnGetter.m */, - FE591C6BE2DB959A05C8E2C035300904 /* HCUnsignedIntReturnGetter.h */, - E8587789A8349C1FC4E68390D5157AFF /* HCUnsignedIntReturnGetter.m */, - 1A9410AAAFCC199B530E1CDA927EE396 /* HCUnsignedLongLongReturnGetter.h */, - 3FB1A64E1FDB06A651F5329B24109676 /* HCUnsignedLongLongReturnGetter.m */, - 7611A26B982E36544BEB3F1C63ABCD9D /* HCUnsignedLongReturnGetter.h */, - B236629297DE89C247D638C8436A0793 /* HCUnsignedLongReturnGetter.m */, - 71346F5D30CE8D076F8EEC7E098D4D16 /* HCUnsignedShortReturnGetter.h */, - 95A463AAE5CD715A65A8268AEC15CCEA /* HCUnsignedShortReturnGetter.m */, - ED1F947CF60E74A7312C61AE4E2B47AF /* HCWrapInMatcher.h */, - 6F4B7982E2A3C9F79964A96C2CECAB3B /* HCWrapInMatcher.m */, - D801481EAD10876E1B434443D7136242 /* HCXCTestFailureReporter.h */, - B8773EBC5BD824F35AE6B762A3AFAAA9 /* HCXCTestFailureReporter.m */, - 2A22CE68E2F0DF472FF322A06F307C26 /* NSInvocation+OCHamcrest.h */, - 3F4BC67386DE889F6FFBE1890A4DF08A /* NSInvocation+OCHamcrest.m */, - 235392573971CBEE38148AA78BAF276E /* OCHamcrest.h */, - D9AAABE603E76048DEB4A338D1AF4F11 /* Support Files */, + 3F3A5AE6DF6CF17DB319DF80F71B00B5 /* HCAllOf.h */, + 5C4F003AD6982B432456E7A8CAFA4C55 /* HCAllOf.m */, + 91041B54FEF6D219A5A4F59914121F3F /* HCAnyOf.h */, + 36645721CE9635954125BE3350B83AB9 /* HCAnyOf.m */, + 0573A6D7E81142CA8A46EB687AC7E2FF /* HCArgumentCaptor.h */, + 264261867DF0E49054C1CA189898B377 /* HCArgumentCaptor.m */, + FC6F5BDE8EEDBE8D4297310370CBB1C6 /* HCAssertThat.h */, + 84E0532DBB5F35F60F6C651977473DEB /* HCAssertThat.m */, + D5CC757CFB49C02980BE0DCBB66525B5 /* HCBaseDescription.h */, + 4CA6A8D5EB5D52919A08976E7A424655 /* HCBaseDescription.m */, + 236D933A3D41A2D0F17D3AF2229D9DB0 /* HCBaseMatcher.h */, + 2EC47732124E238E04BA3B185D0F4597 /* HCBaseMatcher.m */, + 292A3274476E4B9EED3450E3822D043E /* HCBoolReturnGetter.h */, + AB52A787BAB2DA83F9BC312D3ABF4624 /* HCBoolReturnGetter.m */, + 0600D6500A6788E2CEBE90DC10F589B2 /* HCCharReturnGetter.h */, + 2110B9DF82A6D81D77E6FE2582E7BB99 /* HCCharReturnGetter.m */, + DEDFC7DDAEE4A88360F2FA4026F8CCAC /* HCClassMatcher.h */, + DF4F2E0B80F3674B5B04C73D5235E6DF /* HCClassMatcher.m */, + 16E4C50F0860DCB2BCC9F7F2D64FA7DB /* HCCollect.h */, + F2D61A3F0CF8B8F3E76A143549FDD844 /* HCCollect.m */, + B2C67866C947CDA050FC30BCA550902D /* HCConformsToProtocol.h */, + 621ABF48C6D2FF29EC32758968150FFC /* HCConformsToProtocol.m */, + B25A7F005DBDD34A076ECABDA0A1FD48 /* HCDescribedAs.h */, + 4DCB011BDA1D7EA8828670E2EF44BDEF /* HCDescribedAs.m */, + 7E3DA59175747B508257C97EDD01F807 /* HCDescription.h */, + 0498004DEBCB6A6D9DF0F5991B949FC1 /* HCDiagnosingMatcher.h */, + 4EFD2BB4F8AE2383A936D8FF93CC8528 /* HCDiagnosingMatcher.m */, + B8E8A0530FAE0E643915348F66C9A535 /* HCDoubleReturnGetter.h */, + A569071A56B2131A2990763A724B5CE3 /* HCDoubleReturnGetter.m */, + 6D5B2E28912870E5B3F5111805DCE1BC /* HCEvery.h */, + 06F84F52EEE5BC443438D5F19B8EA3CB /* HCEvery.m */, + B60A238B888B66EEEC83287C53A78CFA /* HCFloatReturnGetter.h */, + 1989605DBC0583B4542E025E529CB40B /* HCFloatReturnGetter.m */, + 7D9B33C0C18E3A933FB7303AAE692ACF /* HCGenericTestFailureReporter.h */, + 79F04EF7F18A8B6D3048CF9FCDA69DC8 /* HCGenericTestFailureReporter.m */, + DC3871F64574BB8AB3841CB2B32A9F0B /* HCHasCount.h */, + A1B2717539E6895D7675260E4509FDBE /* HCHasCount.m */, + 82A2E01DA3364160708435963A6B28DB /* HCHasDescription.h */, + 9909F444C9AC770B11A36A23396007DA /* HCHasDescription.m */, + C59A086118DBFA16CFC91E2846EEF8CA /* HCHasProperty.h */, + CB7777DDD816DC6F726D2463D70C0A2F /* HCHasProperty.m */, + 8E8C89AD450C4944FA57D8A33746974E /* HCIntReturnGetter.h */, + AA288D3F85EDC1667CE2F1A5EDC330FD /* HCIntReturnGetter.m */, + 611E0874434F7A6AAB18498D9093C7EB /* HCInvocationMatcher.h */, + F17FFEC4D68938C90C2FDFF0259A2B99 /* HCInvocationMatcher.m */, + D7B1EA0547A94C995E55AD99659BE917 /* HCIs.h */, + B1D7E884218776109F790354C1A8F1AA /* HCIs.m */, + 4E4E6BDC3EA946DDDE4E9BA9E1950D1F /* HCIsAnything.h */, + C821AD1CD0D471C2C31E585095090C96 /* HCIsAnything.m */, + E77C77E1975781C3E0B44443FD589DCE /* HCIsCloseTo.h */, + A6E97D51BE004086166CFD566256CB9A /* HCIsCloseTo.m */, + 75994CC19C4A17B694DF1D7CDE9F2323 /* HCIsCollectionContaining.h */, + 88CA37DB4FDB899FC9C78043BB0EC52D /* HCIsCollectionContaining.m */, + F70844E1661EA549A5BB660053917E73 /* HCIsCollectionContainingInAnyOrder.h */, + 6C434D3359E199510EA7757E79C6C9AD /* HCIsCollectionContainingInAnyOrder.m */, + C54578F7312FD1CC8872509CC3DD5F67 /* HCIsCollectionContainingInOrder.h */, + 1912F0F11E2148227506B107BB30D7B2 /* HCIsCollectionContainingInOrder.m */, + 635F45FC1CD5D639ACF0C1BCF8DA30C0 /* HCIsCollectionContainingInRelativeOrder.h */, + 9535C72C5B82774AA2C390893CCDDBF1 /* HCIsCollectionContainingInRelativeOrder.m */, + 777BAACDFF061F018B5EA1EB5A03A529 /* HCIsCollectionOnlyContaining.h */, + 62AD063F1CAE3D26B4502AE1825CD31F /* HCIsCollectionOnlyContaining.m */, + 525EF3F64E1273F7DEA14690E2929C48 /* HCIsDictionaryContaining.h */, + BE099CDC8613655FCB582D5449E78958 /* HCIsDictionaryContaining.m */, + EBF61298F2644C1B11AE6F11C857C331 /* HCIsDictionaryContainingEntries.h */, + C034810A12BFD9F2CA404F1748C63F45 /* HCIsDictionaryContainingEntries.m */, + B00E0148DC49261B3973E9007D7E6C71 /* HCIsDictionaryContainingKey.h */, + 951EBCA71396EA4F74D93B249B5FDE50 /* HCIsDictionaryContainingKey.m */, + A8037A17E3F7500F11DE30D3A7A0A5BC /* HCIsDictionaryContainingValue.h */, + 99615AA4A9CFC12A9F2D3285A0AE3E1D /* HCIsDictionaryContainingValue.m */, + D75F3EC7F16F870FC2B697C6C8DDCA8D /* HCIsEmptyCollection.h */, + 66F5A670B28BEF030ADA6A1CFC1AB56A /* HCIsEmptyCollection.m */, + 17D2C3A3258402B4EEF17967EE5CF135 /* HCIsEqual.h */, + 68B39EB840550D6DF86085016947CCDA /* HCIsEqual.m */, + 10BBA65FFAA279CD10A6CE127BD394B9 /* HCIsEqualCompressingWhiteSpace.h */, + 43E7A9CB152F95E3218CA1A1C000021C /* HCIsEqualCompressingWhiteSpace.m */, + C7B1DC3A84D9D9ABDB440CA0B5251554 /* HCIsEqualIgnoringCase.h */, + B061A45FD582ECE2D73F023B797B3754 /* HCIsEqualIgnoringCase.m */, + 2C71590D7EEBA4D7DB2DCD9098F90AEF /* HCIsEqualToNumber.h */, + D1D1493A9B02B5AFD2D75AD23817B4CB /* HCIsEqualToNumber.m */, + B8617A95FC5CB23CD756B45C27D96B36 /* HCIsIn.h */, + B1F8CB5282BFFB5D21F398F9EEC5C627 /* HCIsIn.m */, + 4497FF9EA0AD1DA2144E2F61AF3F8DB3 /* HCIsInstanceOf.h */, + 8AA6C8767FC812806710A1EC70DCF2FA /* HCIsInstanceOf.m */, + C6A12E43B0F8D759D8733AFE2C36D20A /* HCIsNil.h */, + 1C093F59972D8B6849A9E8F54ED39B02 /* HCIsNil.m */, + 73F7AB06956FF0EDEFB582A6CB6CFD34 /* HCIsNot.h */, + ECBF610F96828DCEABF00C0A439CB262 /* HCIsNot.m */, + B0D13C5AF902EF6E8F50661F86E06177 /* HCIsSame.h */, + 09D41B498C24D78BCB5097C56598D885 /* HCIsSame.m */, + 6A9605E5C9DBC5438B37F68BC26E1063 /* HCIsTrueFalse.h */, + 7A7CDE49289BCF36F2732F39F86200E8 /* HCIsTrueFalse.m */, + 039068B2A2FB07EB2304AB87D9A609CF /* HCIsTypeOf.h */, + 0CBD7FCF0C2FFEC4E5A243F13EE49319 /* HCIsTypeOf.m */, + 5F60F5349F39046F2166BAE02C791069 /* HCLongLongReturnGetter.h */, + CFEA9304E5CB4368CC214783C939ADB4 /* HCLongLongReturnGetter.m */, + 021A6A2992091C2A3BD3AD2D2CE39220 /* HCLongReturnGetter.h */, + 6810A3203ADD7DA125EB6F3F33997309 /* HCLongReturnGetter.m */, + C5B0C0525F0784A19458F6264FBA0291 /* HCMatcher.h */, + 85DD565997D0FF1F86C8B90CDD421427 /* HCNumberAssert.h */, + C76D54BB150B09F4E4C3DB263E1C7B49 /* HCNumberAssert.m */, + CA83A2EE23D5E7E814F2CF66D9021748 /* HCObjectReturnGetter.h */, + C641F651718ED729F8D5B476B58B8514 /* HCObjectReturnGetter.m */, + 1B2A8DFC8C18CDE42FDE7E514DD83C04 /* HCOrderingComparison.h */, + 88D0D3120FF235D48008DF840CD0C970 /* HCOrderingComparison.m */, + 0B23A0C5C64286A691C9C1B6F3BD1A2D /* HCRequireNonNilObject.h */, + 940B504634E7136A9358E55F5C439630 /* HCRequireNonNilObject.m */, + E236CF3A5602C2C4A53D0D7EAD9174A5 /* HCReturnTypeHandlerChain.h */, + 03FB7AD8D7D1486FD1A6D57305B98FBF /* HCReturnTypeHandlerChain.m */, + 0AF053AC14EE43E2229D2090A5703DD7 /* HCReturnValueGetter.h */, + 835AD79E9287D94D6E477B6DFC152ACF /* HCReturnValueGetter.m */, + CF0ACA59269E5BDF3492813CEE2F36D5 /* HCRunloopRunner.h */, + 5C1CBF8F74D471866EC99E59A087291D /* HCRunloopRunner.m */, + 1DAC7ECF0EB764014B657141DC1B627D /* HCSelfDescribing.h */, + A78BC2BA87E40516B94B7097320AB0EC /* HCSenTestFailureReporter.h */, + CABAF2776E074197B11B4E03DBF13B9D /* HCSenTestFailureReporter.m */, + 2686F8A3886974CBE109ABBD5B9A0F1F /* HCShortReturnGetter.h */, + C6A3F73889E91338C66015C8A09292FE /* HCShortReturnGetter.m */, + 2E55E15DEFDEE9E2C3A78255C517A392 /* HCStringContains.h */, + 833A67A1CCC864A774FF98F9699343F0 /* HCStringContains.m */, + D7BA3857CF6B2ADF7C1B90E182DE80A9 /* HCStringContainsInOrder.h */, + 05904337845FE34331E2F4C662357A23 /* HCStringContainsInOrder.m */, + 80DD5B4934024BA847F1D3BA6BEEDB2B /* HCStringDescription.h */, + FB6D061537A9B5278C4D6BEC0FC6FDFD /* HCStringDescription.m */, + AE8A60783B97E60C37BD151E1415F8F8 /* HCStringEndsWith.h */, + 60366B486ECFF1206A6DFA1CC605CA37 /* HCStringEndsWith.m */, + 037887C7716BE3FD62F9EEC41E3F1A7F /* HCStringStartsWith.h */, + 11F38A9D788DB692E1275892689DFCF6 /* HCStringStartsWith.m */, + 751414775D82CD881AC6D13D85ED8D25 /* HCSubstringMatcher.h */, + DA9246D6CB3156296454776186FF29C8 /* HCSubstringMatcher.m */, + 7852947AD3108622428BBE935B54F873 /* HCTestFailure.h */, + 2D8688CA5FDBE4EC884439A87E6D615C /* HCTestFailure.m */, + D4EE0319466C5F508CE33ACC19AFDC00 /* HCTestFailureReporter.h */, + F767CCDF132D9AB50E32B92345A95F77 /* HCTestFailureReporter.m */, + D36B885CF81F1B6E1700E844B55A5E0A /* HCTestFailureReporterChain.h */, + 39C8501504A4BE25374646ED368A2A06 /* HCTestFailureReporterChain.m */, + E22BE6824F90B29C5473B2A4A664C601 /* HCThrowsException.h */, + 6D8508803BBD8DAB62414FCA652A973F /* HCThrowsException.m */, + F01BA516D4029E9EFDC1189035470697 /* HCUnsignedCharReturnGetter.h */, + 815E926AE9A92759A2FBA18C69A5DC62 /* HCUnsignedCharReturnGetter.m */, + 203D8A20D0941B89A3CE4DFB6DAFF7F9 /* HCUnsignedIntReturnGetter.h */, + 49CE860EBF22CFCDF1B94936901DA86A /* HCUnsignedIntReturnGetter.m */, + 1FB13CCF40DF9DAD5D4ED3BC58B7744A /* HCUnsignedLongLongReturnGetter.h */, + B55D0611F48A538D80EEFA75CC385C71 /* HCUnsignedLongLongReturnGetter.m */, + DFCF8FDE01576BA144F931A6CEB133B4 /* HCUnsignedLongReturnGetter.h */, + 342630CC7BB7DA4C907DED53972C6FDD /* HCUnsignedLongReturnGetter.m */, + 959216BE440257AA4B0E0F01A1170D6B /* HCUnsignedShortReturnGetter.h */, + 03B8690E7D5AC2B5F8412204A4F61541 /* HCUnsignedShortReturnGetter.m */, + 3A9A05CC1A31B0017886E1DAC4D252F7 /* HCWrapInMatcher.h */, + 3B6178A6ECA8122D9FC6ADB75ECFAEC7 /* HCWrapInMatcher.m */, + 6F66B2BAA215B2C0F7802F54F7DE7D13 /* HCXCTestFailureReporter.h */, + 50AA06B268440EA13984DDE2DF7879C8 /* HCXCTestFailureReporter.m */, + 9FF1FCD356ED42678566D5661C73B5F9 /* NSInvocation+OCHamcrest.h */, + 82900F7AB0AE39E75EE14EB940E96106 /* NSInvocation+OCHamcrest.m */, + 4AC00FDECFA6FB81525DF5D4A5D5C574 /* OCHamcrest.h */, + D55E60393C8BFDC834323F9438BC30F3 /* Support Files */, ); name = OCHamcrest; path = OCHamcrest; sourceTree = ""; }; - CB0A4A744A5456197731DDAD30C844B8 /* Specta */ = { + CA8A6E8DF0FCACF0468C687F49763CD4 /* Support Files */ = { isa = PBXGroup; children = ( - DA1894AB4F22FCDF20B6D1C3AD08C91B /* Specta.h */, - CA0C5B042AE2F9D86F1A621FC4097964 /* Specta.m */, - 5072BEC2F7CAACBBC07B857467BC6232 /* SpectaSupport.h */, - A1E48A88BDB065EEA01E9BD070D9B387 /* SpectaTypes.h */, - B1546FA0C99B9AB164005EC6B81B6CA8 /* SpectaUtility.h */, - C3C37B81CB67C1F497F8ECFD2084CADF /* SpectaUtility.m */, - 78FE76ABA89E6036A6B2C86392ABBB3B /* SPTExample.h */, - 3AEE60A547B1A12152F35DDB803D05D2 /* SPTExample.m */, - 019D2C6AE25CFA6FFECAFB0FA673DAD8 /* SPTExampleGroup.h */, - 942A79C4FF585ABD2ED234482BB9CAF6 /* SPTExampleGroup.m */, - 7D08A0C6F4498E72984AF70084B969D8 /* SPTNestedReporter.h */, - 50BB7F28CAD849BAF45BA59714B3911F /* SPTNestedReporter.m */, - 913422C4AD620389E503F7D2A303E3D3 /* SPTReporter.h */, - 94E4F36C041BFCFDB6819A0142E92624 /* SPTReporter.m */, - D54860697493938C0E59418BC1472499 /* SPTSharedExampleGroups.h */, - 6036D9113B7CD237AD38A9E91739A5E2 /* SPTSharedExampleGroups.m */, - 11698544CF04C2C6C30ADC31EC5F9D11 /* SPTSpec.h */, - 619B54D239AACE64F81727379C7F7C3B /* SPTSpec.m */, - C5D7353D48470F053AC8C11F1A72DD9D /* SPTXCTestCase.h */, - 3C527E34D679F4CAD266B79992C4A878 /* SPTXCTestCase.m */, - 2683319EE4C2C265195B05597B538D8A /* SPTXCTestReporter.h */, - F8E8770775ABE7239D16070EBFF51122 /* SPTXCTestReporter.m */, - 119B0CACA5C04D2F15965A3CC345AC9E /* XCTestCase+Specta.h */, - DEC24CAB0B28799066CF39B4F5C1C731 /* XCTestCase+Specta.m */, - 71AA722352CAFFD5E8B58CF44FEEADEF /* XCTestLog+Specta.h */, - 5839C24500F60F1FCE88660A0B395DA1 /* XCTestLog+Specta.m */, - E853970D5857CBD6B3B21AB255FDF67F /* XCTestRun+Specta.h */, - F656B32589BB5839A4F7A9C4148E683F /* XCTestRun+Specta.m */, - 712BA750FEAA2BBDE550996A10CBF2D7 /* Support Files */, + AA8CB7A1080565753364B76377A3EA00 /* Specta.xcconfig */, + 135AC3DD3BD2ABA123D6F7E0844868DC /* Specta-dummy.m */, + B55074F7E4950ABA7FB27AE3B07DD5F3 /* Specta-prefix.pch */, ); - name = Specta; - path = Specta; + name = "Support Files"; + path = "../Target Support Files/Specta"; sourceTree = ""; }; - D9AAABE603E76048DEB4A338D1AF4F11 /* Support Files */ = { + D55E60393C8BFDC834323F9438BC30F3 /* Support Files */ = { isa = PBXGroup; children = ( - CCE5D51E218C9552444BE44CE61E6950 /* OCHamcrest.xcconfig */, - C439DE8447BA75FCAABF22F330005889 /* OCHamcrest-dummy.m */, - 95D0A49451A645300A9A7EB6DC6F73E4 /* OCHamcrest-prefix.pch */, + E2C70EB890E12C6BF977C5A1211AB976 /* OCHamcrest.xcconfig */, + 58D7B5D1DD6973F53A515D3C79D061D8 /* OCHamcrest-dummy.m */, + 14944F6B3742EB9F71184E8E33246337 /* OCHamcrest-prefix.pch */, ); name = "Support Files"; path = "../Target Support Files/OCHamcrest"; sourceTree = ""; }; - DB86E604BF82BDB03806F478A9B872C1 /* OCMockito */ = { + DB102FE66AFCED3E6B017AF5103E1769 /* Support Files */ = { isa = PBXGroup; children = ( - A53E70BFA185AFA7CD4FE6B8BD3074BF /* MKT_TPDWeakProxy.h */, - 6E79308D6EB26C8A4F1881DF57A47FEB /* MKT_TPDWeakProxy.m */, - 72EFDF93348455E696735F6E75C6D26D /* MKTAnswer.h */, - ADD13AD30B09CE7AEAF57F681B54FCA0 /* MKTArgumentCaptor.h */, - 02C16ADA1A28A7A951FA8F3ADE35812C /* MKTArgumentCaptor.m */, - 03138C79F03E66C6DB250A9B99C0C282 /* MKTArgumentGetter.h */, - 1EE720C18700EAFE4148945A092B252A /* MKTArgumentGetter.m */, - AAF167E0C6D179DC4A4B7163B781BD74 /* MKTArgumentGetterChain.h */, - 641A6A02393DE477B4671914FD5505A5 /* MKTArgumentGetterChain.m */, - 204257AAE4DCA510DA36038253B3AE69 /* MKTAtLeastTimes.h */, - F6C2E306C0A3627B0618AAF4992F284A /* MKTAtLeastTimes.m */, - FECB5232DC4F7B2D05F12FA3F0FA2171 /* MKTBaseMockObject.h */, - 54BB2FE1C30942109B9F71E3631E1FFA /* MKTBaseMockObject.m */, - 1F1D4C6210883C57854D4118392D544D /* MKTBlockArgumentGetter.h */, - 2C0CE14AE72CC995493C5C1ED2B1D295 /* MKTBlockArgumentGetter.m */, - B9D07A36CA692A0F64FD0BF6BEED88F4 /* MKTBoolArgumentGetter.h */, - 15E7D433F20C3BE241BF2DE69C319998 /* MKTBoolArgumentGetter.m */, - 8C487E2E03C2157319313F7101297114 /* MKTBoolReturnSetter.h */, - C8AF3621F16225EF11A25881D7952786 /* MKTBoolReturnSetter.m */, - 85BDB075FEB19FE2384DAEF16AA88734 /* MKTCapturingMatcher.h */, - A06363FCD4AF08C11E50EACCEFD9B017 /* MKTCapturingMatcher.m */, - 8230BAE7230FA744B8E57CF4E34EE02B /* MKTCharArgumentGetter.h */, - 76777B65FA5E2CF4C5018AA19AFBD7A2 /* MKTCharArgumentGetter.m */, - 8EBF4BA2B4BCD2F8835F1F0AE9BD36EF /* MKTCharReturnSetter.h */, - CEF45D8BC838C2FFF1F52217B20707FC /* MKTCharReturnSetter.m */, - F228D6007C8D1204F548FCE5627A6BF3 /* MKTClassArgumentGetter.h */, - D4E9701024E5DAB4006A3A9E4E51484C /* MKTClassArgumentGetter.m */, - C7ADB4935A10D35755A80C4FFA665B4E /* MKTClassObjectMock.h */, - C5742372B1F3A8D55ABC52ED2055F511 /* MKTClassObjectMock.m */, - 321BD148BD60D6BF8C273CF43B83F40C /* MKTClassReturnSetter.h */, - F7A1BE72028CC0345985EE09E762982C /* MKTClassReturnSetter.m */, - EC7E90801AEA87F554539A38F4242E39 /* MKTDoubleArgumentGetter.h */, - 5CD207F5F2F16E4C7AC2739F2AEECE23 /* MKTDoubleArgumentGetter.m */, - 94BFC6458BD702F6C2E9329F24256175 /* MKTDoubleReturnSetter.h */, - 9ADD6DD2D169ECFA6F53FC6AA3E3417E /* MKTDoubleReturnSetter.m */, - 1AAD62E836613D1585E17040CE1C7761 /* MKTDynamicProperties.h */, - F3196948574A7CD6A6D1A691823B309F /* MKTDynamicProperties.m */, - 594410D43C6008CEA050EBB689C6774E /* MKTExactTimes.h */, - D3D4AED08AA4678318600402654C93D3 /* MKTExactTimes.m */, - 9807522F74AF693422E03F7B9551663E /* MKTExecutesBlock.h */, - 0A9D3ACA5CD73492EA84C5567E9FD329 /* MKTExecutesBlock.m */, - 10470D9D6FC181CF4581658BEC1C5090 /* MKTFloatArgumentGetter.h */, - 655CDF166B449E7C52994C9318A4D26D /* MKTFloatArgumentGetter.m */, - AA5D0B48F64EC8D3071E14CAF6AB9A7D /* MKTFloatReturnSetter.h */, - 85D391B67742D0C0032A8CDD8F1DDC30 /* MKTFloatReturnSetter.m */, - 784A10F5188A6313C6D9B8FD031C764E /* MKTIntArgumentGetter.h */, - 1704E06A1056DE428AD907E93D36A859 /* MKTIntArgumentGetter.m */, - 24A21BEBE5B908F7C698E6727C8275A8 /* MKTIntReturnSetter.h */, - 9CA971593D76D43B101925F35C570B1B /* MKTIntReturnSetter.m */, - A90BF404B145930026FF1F640204BE88 /* MKTInvocationContainer.h */, - C6B4EDC6D968BA978B5D0228B148224E /* MKTInvocationContainer.m */, - 976BD467477311071FFFC074EE0529C8 /* MKTInvocationMatcher.h */, - 28190A025BCB52E3FC9B71EA23631485 /* MKTInvocationMatcher.m */, - 3141DB030965DEE6D3C57D8BD525C3F2 /* MKTLongArgumentGetter.h */, - 9E9BA9CBCC8076636B5E6457E1B4F332 /* MKTLongArgumentGetter.m */, - 7E23CEA91469DD59E7F1E9C7AE6965A5 /* MKTLongLongArgumentGetter.h */, - 6BEAA0A1B5E590968ED8E1324AEE9420 /* MKTLongLongArgumentGetter.m */, - 1E790C506B06131BB096DE7B127A4FF5 /* MKTLongLongReturnSetter.h */, - B8EF2A5DDEDE237BFFEBE2EBBA731252 /* MKTLongLongReturnSetter.m */, - A8D4772CFEB5B34B54214BCF1472DA33 /* MKTLongReturnSetter.h */, - 1F52295E305D4867D8534E980922291A /* MKTLongReturnSetter.m */, - A92183F3AE57412AD6CD981D9AC13076 /* MKTMockingProgress.h */, - 46D2FEBC5B420D360F45A61E478D52CD /* MKTMockingProgress.m */, - 207771309784E981A5CEB0EBFCEAC269 /* MKTMockitoCore.h */, - 3DE58564676C40048A80DF0140125049 /* MKTMockitoCore.m */, - C6FB546044FA7AADF7F688C17E70BFEA /* MKTObjectAndProtocolMock.h */, - 83010E4A88C4F81F9DBB24FC89062F2B /* MKTObjectAndProtocolMock.m */, - 9838BD36D4EE37E5047A652CE42941C5 /* MKTObjectArgumentGetter.h */, - 2F8FB70AD147D8DA84040257F7E443BD /* MKTObjectArgumentGetter.m */, - 7C02C557A816677D8C976C3D4307AE97 /* MKTObjectMock.h */, - 2E955C5781A9CA5D05322CDEF07E36CB /* MKTObjectMock.m */, - 783186A8B9280E3462BAEB7D74D36966 /* MKTObjectReturnSetter.h */, - 4F656383C0EDECB1F5F0DDC697B9905C /* MKTObjectReturnSetter.m */, - 17EA6876EF8A1409135C50987B8ABDB4 /* MKTOngoingStubbing.h */, - 312549B8713B530D94A995502E06AFE1 /* MKTOngoingStubbing.m */, - 848C27D8BC986717BC2187F3A2A9E098 /* MKTPointerArgumentGetter.h */, - 8E2178AD581687276C130E70EF070157 /* MKTPointerArgumentGetter.m */, - B216405B3FD70F1E2D82D661C5D34619 /* MKTPrimitiveArgumentMatching.h */, - BBA448D184A748E9A7B609278D5093A0 /* MKTProtocolMock.h */, - B1F477EB50F0DAB03F0C0182480DC262 /* MKTProtocolMock.m */, - 4E1A4B57DA374A66FA2DFA6AA15BCC47 /* MKTReturnsValue.h */, - CBCB60F8759005B2893ACD6D7E984072 /* MKTReturnsValue.m */, - B91F1B6693C85B0792C592B449713402 /* MKTReturnValueSetter.h */, - 952FEB45E8023C5C758F2D23EDB41E34 /* MKTReturnValueSetter.m */, - 9FF6395BCAF5CD37FC33C38F9F45A8FA /* MKTReturnValueSetterChain.h */, - 3F0239D46923D4AE49B63F37AF79E31B /* MKTReturnValueSetterChain.m */, - 683EAAD9794A976CA710F39AB62D68E0 /* MKTSelectorArgumentGetter.h */, - 01641BB773953C5D8F2352DBA81ECAFD /* MKTSelectorArgumentGetter.m */, - F155375763EBB4EA02E3EEBD42E502A9 /* MKTShortArgumentGetter.h */, - BE3B56C8FF2EBFF340D63ADD0E889206 /* MKTShortArgumentGetter.m */, - 99A115E192BBFB8231C603832DBF7B3C /* MKTShortReturnSetter.h */, - 986CDBD265C6F843E1DA7E4DFD9A98AB /* MKTShortReturnSetter.m */, - F83998CE6B796D45EED69B9908E1D951 /* MKTStructArgumentGetter.h */, - 559BC6093AD615E517DAFD1F1631628F /* MKTStructArgumentGetter.m */, - 869A909CB5290D9C129A7ADD08984D68 /* MKTStructReturnSetter.h */, - F1891A9665B095C5C4688EEBF9261DB7 /* MKTStructReturnSetter.m */, - DF9F70A3AAED03A14964B6E3A4E108F1 /* MKTStubbedInvocationMatcher.h */, - 6DE6FEC69FC815AB27267B7EDB4C7BF8 /* MKTStubbedInvocationMatcher.m */, - 72E5BD869E3A206BC33A9AE8593129C3 /* MKTTestLocation.h */, - 34491F91ADF697CA1400714C9083ACA1 /* MKTTestLocation.m */, - 9DE0B0C8C0474EE07C5CF2F84989B87B /* MKTThrowsException.h */, - 0A91266099C63716806AB34152D6F9BC /* MKTThrowsException.m */, - 8DD27801854D19B7B8F814F882FF0AF3 /* MKTUnsignedCharArgumentGetter.h */, - CECDF61196E405EA9D95962939FC6C11 /* MKTUnsignedCharArgumentGetter.m */, - 1A455F9880A3783ACEE78916141D472E /* MKTUnsignedCharReturnSetter.h */, - A933A9DC637C75292FF1AF2467AF5D3A /* MKTUnsignedCharReturnSetter.m */, - 94101920A0EF944094E99749783470CA /* MKTUnsignedIntArgumentGetter.h */, - 3D997DCEB03DB28740FE2B0D1D35EC16 /* MKTUnsignedIntArgumentGetter.m */, - AD3F3995DC5972515896BC77DD7A2651 /* MKTUnsignedIntReturnSetter.h */, - A18E5583ADF80EB05295C1EBB23CF472 /* MKTUnsignedIntReturnSetter.m */, - 7B834F14384CBD7F208BC2B47F7E629B /* MKTUnsignedLongArgumentGetter.h */, - 3A7B3976F5300B3AD8E5B4E496D6D462 /* MKTUnsignedLongArgumentGetter.m */, - FC4A82759273A127E91B5D4A237CBF20 /* MKTUnsignedLongLongArgumentGetter.h */, - 7A6E713772BFF5CB07412C2FD016626D /* MKTUnsignedLongLongArgumentGetter.m */, - 10E69051EFAE40CFBB6105F4E84BAD78 /* MKTUnsignedLongLongReturnSetter.h */, - 3DBC307430B378CF723274A02BF957DA /* MKTUnsignedLongLongReturnSetter.m */, - 9563DB1FA35B284407306FF46400360A /* MKTUnsignedLongReturnSetter.h */, - B62E6318ACA7E5BD2E460FA0E1808F06 /* MKTUnsignedLongReturnSetter.m */, - F52130DE21527637E339EF15AEE7F2AE /* MKTUnsignedShortArgumentGetter.h */, - 7FD0BDAA8DE7BCDFB450A15A6EEF2D60 /* MKTUnsignedShortArgumentGetter.m */, - 0011821B4DEA643DFDEAA445623ACD05 /* MKTUnsignedShortReturnSetter.h */, - 3B174E7C4B4818F61BE4280E5BFE1E02 /* MKTUnsignedShortReturnSetter.m */, - 7BE0718420E3C9C44CF93718B4EB9FAA /* MKTVerificationData.h */, - 171F56E0ED4EFE40AF6BED127EE787A2 /* MKTVerificationData.m */, - F3D901140FC02B604026EAD6BBE27B5C /* MKTVerificationMode.h */, - 9CDA653780E227991BE078F67EF1B2C4 /* NSInvocation+OCMockito.h */, - 2590B9F3F395E06B9785D77933A0D7B7 /* NSInvocation+OCMockito.m */, - A4AD8A25F62C5AE3057242275C70EA15 /* OCMockito.h */, - ACC05C620107A0933E1B2192F91515E3 /* OCMockito.m */, - BBED634C2378BA5D38BEA4F10D9CA624 /* Support Files */, + E4889B220D7D924A6614E34FB4D4108F /* OCMockito.xcconfig */, + 08C78C651A61B4E47870A4803A225D5A /* OCMockito-dummy.m */, + E5B15AE513E3D0531877D2E70D964A86 /* OCMockito-prefix.pch */, ); - name = OCMockito; - path = OCMockito; + name = "Support Files"; + path = "../Target Support Files/OCMockito"; sourceTree = ""; }; E0DC3A5E8F386048D57A52AFC1CA6C79 /* Support Files */ = { @@ -1566,9 +1538,113 @@ path = "Example/Pods/Target Support Files/StateKit"; sourceTree = ""; }; + E2DEF2FD7BB41E263761E77986B4A460 /* Expecta */ = { + isa = PBXGroup; + children = ( + C0FBE6D27F1BD9E4F480D7E0D7C5F3EF /* EXPBlockDefinedMatcher.h */, + B4AE77AB84490F6DF8B3FA33394CB027 /* EXPBlockDefinedMatcher.m */, + 442D2B50819BDAA2B34D15FEA995D358 /* EXPDefines.h */, + A7804B13D8C86987C18BB154328D1E39 /* EXPDoubleTuple.h */, + A2204C600A4D577C4E2D8ECE68906A0B /* EXPDoubleTuple.m */, + BAEE9B42A69C76366F91C4FF83E42D29 /* Expecta.h */, + 5BA7434CD1D5E7487573CEB521D9E3FF /* ExpectaObject.h */, + D94FD44240BA9A57314EB04281A66F03 /* ExpectaObject.m */, + 4BDD409F6D3A480C4F5CB69EED7B07DA /* ExpectaSupport.h */, + 1A051EA4D649EA1019886EC9D791B4FB /* ExpectaSupport.m */, + 26FF871910CBB4E7285615AB83BA8A23 /* EXPExpect.h */, + D12EF2304802F722432B7135401FB11E /* EXPExpect.m */, + FE2C18A330221B8ABE0D851D72D04EFE /* EXPFloatTuple.h */, + 61949F3246BE053BB5F061B6E38811A8 /* EXPFloatTuple.m */, + 9A4B4C5EA37FFB936E3936670BCC4535 /* EXPMatcher.h */, + A122AB82A7CF2908A40C9E8D99BDDAD0 /* EXPMatcherHelpers.h */, + F0AB338309C07025ADE67DE4F5162DC0 /* EXPMatcherHelpers.m */, + 5CFC8EBF9D8A0F70517AE19AF21D98ED /* EXPMatchers.h */, + 62B91AE9656FF122302CDE54ADF9FA05 /* EXPMatchers+beCloseTo.h */, + 41E3734E5128CE0E14AD0057E08F7D14 /* EXPMatchers+beCloseTo.m */, + 5816EFC241A9E553C3821434105C0F74 /* EXPMatchers+beFalsy.h */, + 20A2E2FB564AF36BE63F88DEBB7CB38A /* EXPMatchers+beFalsy.m */, + A98D34EFE407551CFE517FE41C30FBC5 /* EXPMatchers+beginWith.h */, + 59ADAB92179B091B5C23EF825D5C6109 /* EXPMatchers+beginWith.m */, + 1A2B5B1BDF16944A4C8635BAF4A97ABC /* EXPMatchers+beGreaterThan.h */, + CA1E3837B8D402A0A44FEBCE45F8CC83 /* EXPMatchers+beGreaterThan.m */, + 5D3909E096482986640835607E10F163 /* EXPMatchers+beGreaterThanOrEqualTo.h */, + A9697DA4E5B592649D076B1F9ABB0428 /* EXPMatchers+beGreaterThanOrEqualTo.m */, + 8B99F77D12465818FC9424152A781B8D /* EXPMatchers+beIdenticalTo.h */, + 672AF26D73813F4AA4C07112CE540F1D /* EXPMatchers+beIdenticalTo.m */, + A47CFC65B90BF60373ACCAED5B74513E /* EXPMatchers+beInstanceOf.h */, + 4AFAEE846C1B2F0EAAEFB7259FA083DE /* EXPMatchers+beInstanceOf.m */, + 5C04F51A2CA1D980694FF92D28069CB3 /* EXPMatchers+beInTheRangeOf.h */, + F4F002343DBCC5F70F849975AC7955A7 /* EXPMatchers+beInTheRangeOf.m */, + 7E34FC4242D0BD9CA41D8101A2365D62 /* EXPMatchers+beKindOf.h */, + 3DD8408E9202D3B9C1A285443295C2A7 /* EXPMatchers+beKindOf.m */, + 4FEF6E8CA97965F627C5AC319FD53426 /* EXPMatchers+beLessThan.h */, + 2959ADCEFB384FA5FC80823AAD3ED1EB /* EXPMatchers+beLessThan.m */, + B61149A53E5CE7DA9BB167C611F8403F /* EXPMatchers+beLessThanOrEqualTo.h */, + 4E36713283607648FC1824CD92FA5196 /* EXPMatchers+beLessThanOrEqualTo.m */, + 6EA090B333C423AA0AB6A4E8DBF8E22F /* EXPMatchers+beNil.h */, + B7793732EECB50E7F8059EA5B7F2BB89 /* EXPMatchers+beNil.m */, + D11FA224DD7DB32F63074221521EBCEA /* EXPMatchers+beSubclassOf.h */, + ADE6D3D8C99B819921F448C0B094A5D7 /* EXPMatchers+beSubclassOf.m */, + B016B89C220C40695D30E933BB80E744 /* EXPMatchers+beSupersetOf.h */, + 1F180A93175D68E58D8BD58F460141EA /* EXPMatchers+beSupersetOf.m */, + E0E885155DD39005049B272CE1E035DF /* EXPMatchers+beTruthy.h */, + 78C6AE5105D173E4A67E4A209E593349 /* EXPMatchers+beTruthy.m */, + 74AC4F3F17388612127B03776F9652D5 /* EXPMatchers+conformTo.h */, + 9433705ABF37A3D166168B4F5FE0B86F /* EXPMatchers+conformTo.m */, + 77E5294C3C761A17314C2927319ADC35 /* EXPMatchers+contain.h */, + F894E8A1C645B6F3CFC93402DDA5ACE9 /* EXPMatchers+contain.m */, + C87E985AA98AB940719A78A581F91129 /* EXPMatchers+endWith.h */, + E2F82C6FECE82DED179C8FEE1ACCB3A0 /* EXPMatchers+endWith.m */, + 74721BF0C1E68DF8F1E89659A1B237CB /* EXPMatchers+equal.h */, + 975266BFA5494257B6CE78BD9D91BEB3 /* EXPMatchers+equal.m */, + 44238DCE66F7A5ED03B2D25481C9E888 /* EXPMatchers+haveCountOf.h */, + F7B7B6C10FFD125D64D6DFC5A0B49A84 /* EXPMatchers+haveCountOf.m */, + EA5173B1123F04F98D0661EA6E9173A6 /* EXPMatchers+match.h */, + 24DCE11F1444FE164F7636E7E94CEED9 /* EXPMatchers+match.m */, + F62F4B902EF2E0B20E92D51F34F96464 /* EXPMatchers+postNotification.h */, + 605F138FAE194CF882B7F23FC023F3E7 /* EXPMatchers+postNotification.m */, + A7E9CCA7689B000C4D2B0A1AF427E354 /* EXPMatchers+raise.h */, + B6DABB54BB460BC9313927B95833A014 /* EXPMatchers+raise.m */, + CEFAA99D1D882BFFE5FEEC20320027CC /* EXPMatchers+raiseWithReason.h */, + 1D01FD17E349CDF5DD35D92ED6F1AABA /* EXPMatchers+raiseWithReason.m */, + B07D01E8395F1202D4F80E1184B4C0C8 /* EXPMatchers+respondTo.h */, + A57E30D2B0FD5E98682A8F872E9134AE /* EXPMatchers+respondTo.m */, + 1F70A5F2D6816646A3091CFA0DFED53C /* EXPUnsupportedObject.h */, + 50A71DF80D0469226E9849954A2B16E9 /* EXPUnsupportedObject.m */, + 3C6FA2944831A565BF0EF0382858A96D /* NSObject+Expecta.h */, + 66E1E4974BF011D5EBC33076BB46EBC3 /* NSValue+Expecta.h */, + 75504B8036E05F261A8E9E19652D6999 /* NSValue+Expecta.m */, + 0E1AC607F273F2775FBF13DAED70BDDC /* Support Files */, + ); + name = Expecta; + path = Expecta; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 03A35C277F2B30084D0C242C96B77D8F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 676895C683B97FB9CF17BE6636084F56 /* Specta.h in Headers */, + 56A1AC9B4C60513B698FE1DC12483481 /* SpectaDSL.h in Headers */, + A8B2DBA9CE6A63CE4BE942ACDBBF38B2 /* SpectaTypes.h in Headers */, + 85803043312A7B3F0668253EECB325F5 /* SpectaUtility.h in Headers */, + DA5FA354DE1C535DFD8DEE0E6693BC0F /* SPTCallSite.h in Headers */, + DB3CB41F59421158741F86492A183BF1 /* SPTCompiledExample.h in Headers */, + C8892611FDB6273FC8C838620A548CDA /* SPTExample.h in Headers */, + E9D8BD8F3019C2AF68511695E92313A7 /* SPTExampleGroup.h in Headers */, + 905ED51180A5C6157C948C215F822D3C /* SPTExcludeGlobalBeforeAfterEach.h in Headers */, + F365C04AE7656B7A59A812E8B3BC2D47 /* SPTGlobalBeforeAfterEach.h in Headers */, + 55432A254A78A7CAE592BE1B9E0619BA /* SPTSharedExampleGroups.h in Headers */, + A3460F64AF34F248DEAB78F0B5C39FF8 /* SPTSpec.h in Headers */, + C1F051A20831B9CAABA767FDAFB066D1 /* SPTTestSuite.h in Headers */, + 9433D843C0743F62509AEF766EDE5AF1 /* XCTest+Private.h in Headers */, + A6B3FF20DB0C007B943EBD58C0405C45 /* XCTestCase+Specta.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 05E58D356A38DD487823D5BE24334920 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1615,112 +1691,173 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 407B0DC0BF6A45C4D78C52D7E61791C7 /* Headers */ = { + 25D4681D54A3F6B95A9F3A3F67870ED1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 17C2AEC7546AF7BC63666988EE49CD74 /* HCAllOf.h in Headers */, - E00C7F647A459E6AD0478EA1D968F154 /* HCAnyOf.h in Headers */, - 2108307398436EF5D69696C7F6A49FC1 /* HCArgumentCaptor.h in Headers */, - 6C4572DB5E1B7A3AC875309B566D9962 /* HCAssertThat.h in Headers */, - C79695553E6C7669F6B4A653A56F404A /* HCBaseDescription.h in Headers */, - 5B0CCEED167FF77F0D050660DD60398F /* HCBaseMatcher.h in Headers */, - E9302AD8A5A5E06D480563FC0DC677DE /* HCBoolReturnGetter.h in Headers */, - 51C76E3A57E8425F7CEF10CEDC13B3DE /* HCCharReturnGetter.h in Headers */, - C7C74F4BD73DD6C786A38922658BD0D2 /* HCClassMatcher.h in Headers */, - 5C18F7BF949F6B1D32DFC1C48A5D4E2A /* HCCollect.h in Headers */, - 5BCC8F57344B6E0482BF89E039644231 /* HCConformsToProtocol.h in Headers */, - 663C66C497811BFDB2A28C0A56F74AC9 /* HCDescribedAs.h in Headers */, - 0FB44DC4EB6E38D109B37C496C0D8787 /* HCDescription.h in Headers */, - 25FCAEC06C3BC79DBA8C0AD1D4ECF96C /* HCDiagnosingMatcher.h in Headers */, - 6F2420BD47D4C0B7B58E3E7E6E671827 /* HCDoubleReturnGetter.h in Headers */, - 9D62C9C361A3C9DA7F45D68E09AD14B7 /* HCEvery.h in Headers */, - 1180906466F8AEA75342E5343B493FC1 /* HCFloatReturnGetter.h in Headers */, - 86E244571BA7A0C0B9E9D46977E659FA /* HCGenericTestFailureReporter.h in Headers */, - 09857B68BE58E8BB0D1C0383E2FF2496 /* HCHasCount.h in Headers */, - FBDEC175B2BE4CC32053DC429B420EB3 /* HCHasDescription.h in Headers */, - BEEC98B0B6B7205662B530C9CE09085B /* HCHasProperty.h in Headers */, - BEB8FB1EC38DAD5337A79C799686DF7E /* HCIntReturnGetter.h in Headers */, - E22D35B45915D22462AE4F097A75769B /* HCInvocationMatcher.h in Headers */, - BDC2D94D549B2E123FD6FFCA495ABCB4 /* HCIs.h in Headers */, - 5DB9406681805EEF14D1A12928F63919 /* HCIsAnything.h in Headers */, - 54C81184038A7B06FEE845F56E27E245 /* HCIsCloseTo.h in Headers */, - 13BD70B6647D4E1A95A64BDC80A4B447 /* HCIsCollectionContaining.h in Headers */, - 0E6FAFA0BF8BCB5593BC79FB2FD89F11 /* HCIsCollectionContainingInAnyOrder.h in Headers */, - 3605D18AF8658B1A38611FACB7BF5EB7 /* HCIsCollectionContainingInOrder.h in Headers */, - 63CB0B72237B0995C7A897C2CDF28CE8 /* HCIsCollectionContainingInRelativeOrder.h in Headers */, - 71910E44A1F8DEC9A1F4C62C5B8C1C6A /* HCIsCollectionOnlyContaining.h in Headers */, - E9DAF1C1A9C2135372ABE358D2D72CD8 /* HCIsDictionaryContaining.h in Headers */, - D7605B575577446F8B190D9804E32A8E /* HCIsDictionaryContainingEntries.h in Headers */, - ACFC422550A31A86382E496AF16B2A3B /* HCIsDictionaryContainingKey.h in Headers */, - B31782DDE18016D6CF15A67BAF3D4FB1 /* HCIsDictionaryContainingValue.h in Headers */, - FE7602EF05257433DF507430704CF110 /* HCIsEmptyCollection.h in Headers */, - E2601A0D5905CDB584F6C7784AE83E80 /* HCIsEqual.h in Headers */, - EE91764E51EA6720C42FA3B48A966730 /* HCIsEqualIgnoringCase.h in Headers */, - AF6F4B7B1D4F20CC3F0406D1B47DC0A9 /* HCIsEqualIgnoringWhiteSpace.h in Headers */, - 9EF2ED4DFA1B8D95C97BF3C1346E498F /* HCIsEqualToNumber.h in Headers */, - 0326BE242B3DD135ABD3D8A1CC9540A8 /* HCIsIn.h in Headers */, - A5AC3B023461CC9F04CDD19106A257EB /* HCIsInstanceOf.h in Headers */, - 6283926A28083455DDCABF7D8FBEA115 /* HCIsNil.h in Headers */, - 8F7CB6E8E492FA991CF94A35F69C35E5 /* HCIsNot.h in Headers */, - 013D950ABC69454E310A069DC169EC8E /* HCIsSame.h in Headers */, - 3FFBC20D4BB925783D248905978D505F /* HCIsTrueFalse.h in Headers */, - 2ABE08716F3CF0C49EF8B920A85AF7AB /* HCIsTypeOf.h in Headers */, - 989EF65875735B191A1BA05C589A135A /* HCLongLongReturnGetter.h in Headers */, - 8DC2DD6A3A205580F7DB774850477BD3 /* HCLongReturnGetter.h in Headers */, - 0626EF24FC20CA26887BB71C9ADCB8FD /* HCMatcher.h in Headers */, - AFF7876E0F895DCF922288DEC62817C6 /* HCNumberAssert.h in Headers */, - 88E62CE62B3B1A49381C6BADDEC85160 /* HCObjectReturnGetter.h in Headers */, - 65929FA4AB3DDF92229B23C66483A957 /* HCOrderingComparison.h in Headers */, - C6B72580BB808AF68B870371A289A046 /* HCRequireNonNilObject.h in Headers */, - F235E9E7BADB04580B5A3655EAC58FA9 /* HCReturnTypeHandlerChain.h in Headers */, - FD43EE70F8A0BB58AF052058F805703E /* HCReturnValueGetter.h in Headers */, - 6FD911CB08DB7E9FC807DA6D7A909881 /* HCSelfDescribing.h in Headers */, - AD4E13532B1A73B5258B2BD6E80BB29A /* HCSenTestFailureReporter.h in Headers */, - 7AC766A54DB01E9767905188D0647402 /* HCShortReturnGetter.h in Headers */, - 5F214720777DD9B79569E24B2CF556ED /* HCStringContains.h in Headers */, - 35FCFDB6C8AF7B7C0E03D133EFEAB8C6 /* HCStringContainsInOrder.h in Headers */, - 433B19BE8427C686B2427F283B12CC6B /* HCStringDescription.h in Headers */, - EF0D08D495DB9FBB3A2AC77B44C07F9F /* HCStringEndsWith.h in Headers */, - 8B37CF0239E9E29D14A297D607904046 /* HCStringStartsWith.h in Headers */, - F4FD342B0DC689CF323EA45D0FC8184D /* HCSubstringMatcher.h in Headers */, - 89B7678F2DF9910C14117C8D33F64958 /* HCTestFailure.h in Headers */, - 987E46B62D0CDC2D0CE2DDDC51F63D8A /* HCTestFailureHandler.h in Headers */, - 7A336D0ADF047A36CAB8BB4AAA2E4557 /* HCTestFailureHandlerChain.h in Headers */, - C4DB8D5823089D10361E88E60D2E65F9 /* HCTestFailureReporter.h in Headers */, - BD4A34440CB706FD1DF1604AD65D8A19 /* HCTestFailureReporterChain.h in Headers */, - 051F731A371003FE5421066918987D5B /* HCThrowsException.h in Headers */, - 20BDE665C8B432559163D72DCFA904BF /* HCUnsignedCharReturnGetter.h in Headers */, - FB530F7ACED80E334E0D2C6A106D0834 /* HCUnsignedIntReturnGetter.h in Headers */, - BA0A287696C52D0387C3844130F6C5BE /* HCUnsignedLongLongReturnGetter.h in Headers */, - FF6ED2A91FB59AD1BCB4CCD19E4560FC /* HCUnsignedLongReturnGetter.h in Headers */, - 8E5F555DFB26889BE40A38A217F47950 /* HCUnsignedShortReturnGetter.h in Headers */, - B1FFA675001EA0134021791FEF6768CA /* HCWrapInMatcher.h in Headers */, - D6A3048F39FA0C7F1984F6777B175522 /* HCXCTestFailureReporter.h in Headers */, - 5EF3A14A2AA2489D27E67FFD64BD5105 /* NSInvocation+OCHamcrest.h in Headers */, - C329C63B1BAD57AB60C085A14A394747 /* OCHamcrest.h in Headers */, + E5FB09401C0ADA8536B72B8136A3D883 /* MKT_TPDWeakProxy.h in Headers */, + 2044B455DE30C74DAA69C9C16E987362 /* MKTAnswer.h in Headers */, + 888E9A5398835008FC5E7E243A92F9C6 /* MKTArgumentGetter.h in Headers */, + E0F58C5E3811CCE6653889AF0BEFBBDB /* MKTArgumentGetterChain.h in Headers */, + D279E2BD90528EEABB8F0E5BB7D965A0 /* MKTAtLeastNumberOfInvocationsChecker.h in Headers */, + FD0692747759639E20C0EF361D26BFF8 /* MKTAtLeastTimes.h in Headers */, + 8E7DEF28B886C5D77D9721A90990B70F /* MKTAtMostNumberOfInvocationsChecker.h in Headers */, + 7ADD8B39119C81B49ECB824EB6C1B443 /* MKTAtMostTimes.h in Headers */, + B7E7CBE0EFFDDA930913341E217491E3 /* MKTBaseMockObject.h in Headers */, + 70AABD08B65DC679CB9134A7B6753C8B /* MKTBoolArgumentGetter.h in Headers */, + B0CCC52F2799408E6E68E32E8E485443 /* MKTBoolReturnSetter.h in Headers */, + 7CDED3CFDFCC7CC131BD564C6D34626C /* MKTCallStackElement.h in Headers */, + 9DA2BF02BC0531FF79243D21CAF726B7 /* MKTCharArgumentGetter.h in Headers */, + 64C7FDA1D6C3CCD90F029DB58FA957D6 /* MKTCharReturnSetter.h in Headers */, + 0FB2457F5026B8EC290CDBEF556F614E /* MKTClassArgumentGetter.h in Headers */, + 1AC1306A5A5B5CBF8828F8455FE34488 /* MKTClassObjectMock.h in Headers */, + F3BB05D9712AEBBD74F3D3759AAA8796 /* MKTClassReturnSetter.h in Headers */, + DD4DCF6FAFF8460E6EABF8AE0CEC62DB /* MKTDoubleArgumentGetter.h in Headers */, + B06C7A6AAD79B10B990007976088CE27 /* MKTDoubleReturnSetter.h in Headers */, + D21EBADE9CF7AFD581AD8DB876E3CEFC /* MKTDynamicProperties.h in Headers */, + 4ACDADDA79A9F76EFD3B153531DCE472 /* MKTExactTimes.h in Headers */, + CCB12A4346BB0E17F7238030BFDAE9BC /* MKTExecutesBlock.h in Headers */, + FCBE0E40683A275BFE521623F58CCD8A /* MKTFilterCallStack.h in Headers */, + A2577A226459DBF21EB8D91634CE50B8 /* MKTFloatArgumentGetter.h in Headers */, + 51FA7BAD3C0E44819E4319924D267454 /* MKTFloatReturnSetter.h in Headers */, + 2B4EEB147A4C78FB0096AA0AF6DAE4C4 /* MKTIntArgumentGetter.h in Headers */, + DCC546713B87217A7AABFD2D3D1C3CCD /* MKTIntReturnSetter.h in Headers */, + 1CE698BD9517A82271F8E303709D6DB7 /* MKTInvocation.h in Headers */, + F56D7E16C616800DB9DA4F752BCD6339 /* MKTInvocationContainer.h in Headers */, + D7A498CC6C0CAC7463DAC7C17779ED9C /* MKTInvocationMatcher.h in Headers */, + 73EDF1A14C05EC9F128A9441786923F1 /* MKTInvocationsChecker.h in Headers */, + 9FDB9B981E2B619A6E9063552694D63D /* MKTLocation.h in Headers */, + 49D520A46A91B21C09F3DCD86D36EDDC /* MKTLongArgumentGetter.h in Headers */, + 9112B8E2E53DA5A234208BEC6B5754FB /* MKTLongLongArgumentGetter.h in Headers */, + 29C3B039BCEA5B785111ABEE29AD8A93 /* MKTLongLongReturnSetter.h in Headers */, + 88177A4C640616A5E688911AC51F039D /* MKTLongReturnSetter.h in Headers */, + 60187AFC2DF130C9B8331C8EDF1D2D10 /* MKTMatchingInvocationsFinder.h in Headers */, + 86501732C3F482D2391B8DF4EB42C969 /* MKTMissingInvocationChecker.h in Headers */, + 99C2248EBF08A7DD8FC56101D057EBB8 /* MKTMockingProgress.h in Headers */, + 75EDCDFDAD32029979147E7F013117CE /* MKTMockitoCore.h in Headers */, + DEA4BACFE69E486D064A169AFCB0F8BE /* MKTNonObjectArgumentMatching.h in Headers */, + CB41C84003FD9764AD2749551FC8FACF /* MKTNumberOfInvocationsChecker.h in Headers */, + 94E38E8172753A6924EB03085320E70B /* MKTObjectAndProtocolMock.h in Headers */, + 4535832C043596AA0E10D258599E33B7 /* MKTObjectArgumentGetter.h in Headers */, + 24D8D465D3F46E17B5554024A35D5CFD /* MKTObjectMock.h in Headers */, + 689F33490187DBA6F02194AAB99A4E52 /* MKTObjectReturnSetter.h in Headers */, + 7CF90887DCCED1387E282193C5B134A6 /* MKTOngoingStubbing.h in Headers */, + D3CB0BDEA5657EAB631F804DC532D370 /* MKTParseCallStack.h in Headers */, + FE6FA3A053412169A8029736CE9FAE36 /* MKTPointerArgumentGetter.h in Headers */, + D045BD29644E59FF681D3F3F768FA8B0 /* MKTPrinter.h in Headers */, + B32E4CF29A8A79B9B77A2C893077EB06 /* MKTProtocolMock.h in Headers */, + E6A2E80597C315742A507C8EF1121CF6 /* MKTReturnsValue.h in Headers */, + 2ED2429D4C1E956B0B70E7F0C69A5351 /* MKTReturnValueSetter.h in Headers */, + 1245C4D57482B44BE12433298BAAB281 /* MKTReturnValueSetterChain.h in Headers */, + 2F3A58D7C76DBFAD140CD6810510C79C /* MKTSelectorArgumentGetter.h in Headers */, + D70F95B386CF776048C4CE33DE4CC248 /* MKTShortArgumentGetter.h in Headers */, + F6B12F67C7FF8D104279AB5F44FACFAB /* MKTShortReturnSetter.h in Headers */, + 5981E6D617C2ECF06AFC4093A665A2D2 /* MKTSingletonSwizzler.h in Headers */, + 223BC59835B423D6C9775D6BAC89CF6B /* MKTStructArgumentGetter.h in Headers */, + 47A2E3165BF76837F04BBD4713851AD2 /* MKTStructReturnSetter.h in Headers */, + 33235D2F09842AE7CE5D95BCF6CABE1A /* MKTStubbedInvocationMatcher.h in Headers */, + F9E9D235418A670E199B6C3EA05317B8 /* MKTTestLocation.h in Headers */, + 2823804B2264CBF5A5AF4A4D1BE1397C /* MKTThrowsException.h in Headers */, + F52EDBA6584407E3E014DB2DEA7F9D6F /* MKTUnsignedCharArgumentGetter.h in Headers */, + 892245B15961FBBE4F98B515CB90A3FB /* MKTUnsignedCharReturnSetter.h in Headers */, + 8E22BB3EA33FD8C494F6B5C6479888D8 /* MKTUnsignedIntArgumentGetter.h in Headers */, + C56067B99D9F397F9B9357CCB482BF43 /* MKTUnsignedIntReturnSetter.h in Headers */, + 251FD1FD71FB1E3F3A634F1C82EF5EE3 /* MKTUnsignedLongArgumentGetter.h in Headers */, + C99F713097E61FB7D8842E54AF23773D /* MKTUnsignedLongLongArgumentGetter.h in Headers */, + F09190769D4C9C5E0EC7CA917669F2C5 /* MKTUnsignedLongLongReturnSetter.h in Headers */, + C15482F645FA81E8AC582ABF8ACCCC08 /* MKTUnsignedLongReturnSetter.h in Headers */, + 1D00C8552464CD2F5582CBA5FFFCBFF4 /* MKTUnsignedShortArgumentGetter.h in Headers */, + 16BE733E6A4DCF6C7BAFD2716A3331EF /* MKTUnsignedShortReturnSetter.h in Headers */, + DCCEE6D0D4D57094E2F7853CD793661A /* MKTVerificationData.h in Headers */, + 88C250EA1F52E2936A68389FC294F440 /* MKTVerificationMode.h in Headers */, + 5E4606BA01DC6F8E98F818C65964AA82 /* NSInvocation+OCMockito.h in Headers */, + 080AC417EA133EDC30E99FC4C8F724AD /* OCMockito.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 47C203B4EFDA81B245D3C19C00553C66 /* Headers */ = { + 3B102CB771F2A4EB2A9D877124017675 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3303A20E37B98D0FA5658CFFB4A30418 /* Specta.h in Headers */, - DEFC1411331F9AEB1786E107E0DEEECE /* SpectaSupport.h in Headers */, - 553DAD63F2D2917EBF45E17E5444D3D6 /* SpectaTypes.h in Headers */, - 183839A6FF5AAD8A1D6433DAA82040FE /* SpectaUtility.h in Headers */, - DC376E128EF11571D5765F4539D5B385 /* SPTExample.h in Headers */, - F61D54B0FFAC0D127DF270C16435090C /* SPTExampleGroup.h in Headers */, - B3FBD4C9B0215E5EAF8A8C8E117A1CAF /* SPTNestedReporter.h in Headers */, - 869798642BD21A112E26C1D3153CE591 /* SPTReporter.h in Headers */, - 0C339990546C3D8150FBAF2BFFFF4970 /* SPTSharedExampleGroups.h in Headers */, - EB1BB00C38ADB2EF6605E9851839F7BD /* SPTSpec.h in Headers */, - 1A5F7185E48F31C111A0ABE9F443D890 /* SPTXCTestCase.h in Headers */, - 1B8CDE9675031274F9DE1E390E61DF5A /* SPTXCTestReporter.h in Headers */, - B7EF7A7BEDED09F6113CBBE40FE76C94 /* XCTestCase+Specta.h in Headers */, - 288030C77AC2228E92D8E6999102135D /* XCTestLog+Specta.h in Headers */, - E22B2DF047DDEBE5A75252F46E5BAD45 /* XCTestRun+Specta.h in Headers */, + B55F529C75C06C634B69DE0A2F2636FD /* HCAllOf.h in Headers */, + D7BA08E0F03B34471654AF9C80826590 /* HCAnyOf.h in Headers */, + 523D204877C540D4AD0BB27557F2542B /* HCArgumentCaptor.h in Headers */, + 96D795B77FF5B407AB600B0D8F70540F /* HCAssertThat.h in Headers */, + 8AF257E177757AA16FDC496C235D9A76 /* HCBaseDescription.h in Headers */, + 22B702A6BCC9F0FAC7A7D9DF8A5650F5 /* HCBaseMatcher.h in Headers */, + 72E34EBE268A1F944CF6D19BD90B9BD0 /* HCBoolReturnGetter.h in Headers */, + 0F3E6BB237F85A096F5BE93730D741EA /* HCCharReturnGetter.h in Headers */, + EAEA9771E179C19B1DEAE160A20888F0 /* HCClassMatcher.h in Headers */, + A2D50BC62277FDFCDCE49D03BCE4AEB0 /* HCCollect.h in Headers */, + 6BDC5BDC97C8A1F0BD65F4129CD45329 /* HCConformsToProtocol.h in Headers */, + 091C475642698A764E4743D6A1B109F3 /* HCDescribedAs.h in Headers */, + 5248B64EBD68E46C2B7249A880BC5CF1 /* HCDescription.h in Headers */, + CDC83487E92DDA255E770BC25515C493 /* HCDiagnosingMatcher.h in Headers */, + 21397D2A0C3686174D1E31B404101125 /* HCDoubleReturnGetter.h in Headers */, + 94A46F2AC545672D6D6D59FB6C63B3F4 /* HCEvery.h in Headers */, + 095A770DFC6A66FDA4E44D2248AE5A41 /* HCFloatReturnGetter.h in Headers */, + 00AA7D0EB2742099B9BC87920F0AA8B6 /* HCGenericTestFailureReporter.h in Headers */, + 160A201ADE809A67502F84B2A0220087 /* HCHasCount.h in Headers */, + A309E9CC1495740D8E97DB8ECF37ECF9 /* HCHasDescription.h in Headers */, + A92431BF46FCF19530F6EFD8B923F2E0 /* HCHasProperty.h in Headers */, + 7A44F750D727FDB7C693780E1FEEE95F /* HCIntReturnGetter.h in Headers */, + 959A2A31C6C766BAAB1D56751E309E85 /* HCInvocationMatcher.h in Headers */, + 51A595A0D747550023DDDC52FCFFDD34 /* HCIs.h in Headers */, + 1F6507C4DC7B9BC5DDD223229C3995B3 /* HCIsAnything.h in Headers */, + F42DEB9287149FBEC30C96C0344D0B10 /* HCIsCloseTo.h in Headers */, + BF522830CFA583BF365A2057E14006AE /* HCIsCollectionContaining.h in Headers */, + 482600958B3CD00E7FA6CEF381A18E2F /* HCIsCollectionContainingInAnyOrder.h in Headers */, + 03050EDADD65B6B375B33ED2C25B2A35 /* HCIsCollectionContainingInOrder.h in Headers */, + 8418D537708DEE0ACAD768F46C4CC009 /* HCIsCollectionContainingInRelativeOrder.h in Headers */, + CCA7F786752F6AA5589A5EB1708C4715 /* HCIsCollectionOnlyContaining.h in Headers */, + 3748D78487C75A8F801171ED0FC36D82 /* HCIsDictionaryContaining.h in Headers */, + 71CBF7CFBC4E6DDA37666E0CFD2F8528 /* HCIsDictionaryContainingEntries.h in Headers */, + 883933EC1623C09901E0D90D68924B84 /* HCIsDictionaryContainingKey.h in Headers */, + 520B56F656E117BCF622C1F0348C54C0 /* HCIsDictionaryContainingValue.h in Headers */, + 3847F748DDA107CA469327F9B559B033 /* HCIsEmptyCollection.h in Headers */, + 2E72918C98918609F85844E32901560D /* HCIsEqual.h in Headers */, + C0C20A56916E46927E894F42740924DD /* HCIsEqualCompressingWhiteSpace.h in Headers */, + 4677E0547846CC3D5E88F903DE6D54CE /* HCIsEqualIgnoringCase.h in Headers */, + E6378C37407A605D9B2669ABE4B0C160 /* HCIsEqualToNumber.h in Headers */, + DCA96AA803955D0D93183A79868CD228 /* HCIsIn.h in Headers */, + 9FB173074C4C122DD52954B3E662E07E /* HCIsInstanceOf.h in Headers */, + 97C4EDA53AE9D2B8599E4E40758023F9 /* HCIsNil.h in Headers */, + CED459354E0DA3256395E23ACF84CAB2 /* HCIsNot.h in Headers */, + 504636D1F52ED3CC094405EAB70EBF60 /* HCIsSame.h in Headers */, + C51F559C29CDAA28882E074DF83621DA /* HCIsTrueFalse.h in Headers */, + 108213B1CDDB7C2ED74E22CE81FAFE01 /* HCIsTypeOf.h in Headers */, + 793791281793B9BAAFF88CAEED033372 /* HCLongLongReturnGetter.h in Headers */, + 151FCD844C5355BE927C266D30CCC145 /* HCLongReturnGetter.h in Headers */, + 2417816E6CEA2B0E4FC99AE41640242F /* HCMatcher.h in Headers */, + BF802C238ECD14DB714823B4BB11063E /* HCNumberAssert.h in Headers */, + 37A5ACBC4C7D2DE4F22793ACC4A18ABC /* HCObjectReturnGetter.h in Headers */, + C7FF47391AC3AC1C7EFB9B65F2BA5573 /* HCOrderingComparison.h in Headers */, + 5C0E3680435D477EDDFF5F426AA15DBC /* HCRequireNonNilObject.h in Headers */, + B0EF3A76F242ED4488A080C65BC551ED /* HCReturnTypeHandlerChain.h in Headers */, + 94FA28F1F8121EAD6E2B82D26F1527B4 /* HCReturnValueGetter.h in Headers */, + 075EFF9773449A1183431E69CDE388F9 /* HCRunloopRunner.h in Headers */, + 6A373C900176B2C16F6F9C1AFC88EDC0 /* HCSelfDescribing.h in Headers */, + E4F6AB85AB4D06EF77AEC34AFE18FB71 /* HCSenTestFailureReporter.h in Headers */, + F217CECE6B6FD4791458C60E46285D28 /* HCShortReturnGetter.h in Headers */, + 35355C6BC7F2B2239A6F39E925B2170F /* HCStringContains.h in Headers */, + C71D4F3D3C9F68E9E0CB50D4B2D7342D /* HCStringContainsInOrder.h in Headers */, + 571721D73C9120D684D25B46202968B9 /* HCStringDescription.h in Headers */, + 50F34472DEA3B761915E4F16C5CF597A /* HCStringEndsWith.h in Headers */, + BD54FECF20F0E42850FDA6BC939A6D22 /* HCStringStartsWith.h in Headers */, + CB926D27F1575F2467664A78F51C5A64 /* HCSubstringMatcher.h in Headers */, + 68EE70194866244272C32F578B40A825 /* HCTestFailure.h in Headers */, + FC6669D4CE3D660048A5AC6F9C293A36 /* HCTestFailureReporter.h in Headers */, + F350A95F663806577DABDBC206844D7C /* HCTestFailureReporterChain.h in Headers */, + 09FD24E9BA5A82B49DC864204C87A769 /* HCThrowsException.h in Headers */, + FF0B2BB7CE4C1BB1B1214FE060306F86 /* HCUnsignedCharReturnGetter.h in Headers */, + FB8FCA8FE9F99E0A7DC3CECF1EF710C3 /* HCUnsignedIntReturnGetter.h in Headers */, + 33FCB4D66747E80E5E7D4960139BBA3A /* HCUnsignedLongLongReturnGetter.h in Headers */, + C00E797911002F79E9EA05AB5E29366F /* HCUnsignedLongReturnGetter.h in Headers */, + 21E3C5DB6A5B227A52DFD172602A6DAA /* HCUnsignedShortReturnGetter.h in Headers */, + 68FE8B53B027FAEE3BA6EDA24662AE0A /* HCWrapInMatcher.h in Headers */, + 934B46D1AD29CA8748EB84731D651A19 /* HCXCTestFailureReporter.h in Headers */, + 443EEEBB90045FCD73E535D82166CD13 /* NSInvocation+OCHamcrest.h in Headers */, + 44AA0A0750382444C4C1EE22726336A5 /* OCHamcrest.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1735,98 +1872,24 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EFA72AF14189DEFF31EB25EBF64BCB01 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 20B9B04BAFDF9D9CECE8056560474BE4 /* MKT_TPDWeakProxy.h in Headers */, - 13733872599DD9A856898400CF3ADC21 /* MKTAnswer.h in Headers */, - 1980447A985AE0F7467CAD85826602CE /* MKTArgumentCaptor.h in Headers */, - B34A9C317C049041267F6B9F522200CB /* MKTArgumentGetter.h in Headers */, - 4D34ECB0AECAAC34955BC6BF89875FEC /* MKTArgumentGetterChain.h in Headers */, - 6BBBA77D5DA26AAC500F1B9A8588FDB0 /* MKTAtLeastTimes.h in Headers */, - 52690F1A292D042F295B81B704B96E30 /* MKTBaseMockObject.h in Headers */, - 933B483D26FD3824316B08CC5696EE32 /* MKTBlockArgumentGetter.h in Headers */, - 920A45633EDD8DC637A0A2C172ACA517 /* MKTBoolArgumentGetter.h in Headers */, - 4C65F74714F13C2C9091FA2FA513BE56 /* MKTBoolReturnSetter.h in Headers */, - 2F9DAE2B0F1FD042B8C4AC15DFFBB5E8 /* MKTCapturingMatcher.h in Headers */, - 23763EE9BAF38C94FEB2358E532D8AAE /* MKTCharArgumentGetter.h in Headers */, - 025A3775FA5001F945F566DC03560AAA /* MKTCharReturnSetter.h in Headers */, - BE2F89A13F65889B5B1B2689B8439D0D /* MKTClassArgumentGetter.h in Headers */, - 7F896D7BFB6610ACA1C11F7CA9DD1EBF /* MKTClassObjectMock.h in Headers */, - F1BA0DD016E84441A03837CB1DEBEA8C /* MKTClassReturnSetter.h in Headers */, - F736FAD1177D1A071EC040AD86FBF941 /* MKTDoubleArgumentGetter.h in Headers */, - DDBD6DE75F95478451087A5960E615E4 /* MKTDoubleReturnSetter.h in Headers */, - BD0F43BF22EBA7C2F5C58773C17F0DA0 /* MKTDynamicProperties.h in Headers */, - BE304627613B1A5A0EB371823F6F8DC1 /* MKTExactTimes.h in Headers */, - 976C1C1F8A2B985887C5D9B1133EABC7 /* MKTExecutesBlock.h in Headers */, - 803FEF847C97C5FC2466E9FC1A85E6D3 /* MKTFloatArgumentGetter.h in Headers */, - 74D74054E6F8A6935F11A3603B5443C9 /* MKTFloatReturnSetter.h in Headers */, - CEF92700DFF23B5748E9CB966D31C797 /* MKTIntArgumentGetter.h in Headers */, - 940C573C6363539B74BF2BA27DEA4726 /* MKTIntReturnSetter.h in Headers */, - 79E3FA987B9622018DA0531843D79295 /* MKTInvocationContainer.h in Headers */, - 6FAAFA861639B950CDBA5977A0B78343 /* MKTInvocationMatcher.h in Headers */, - AB11DCE8E390CDF7EF03109F84BF9C58 /* MKTLongArgumentGetter.h in Headers */, - BDD75803E4B32206FFD23CB38CBA03BE /* MKTLongLongArgumentGetter.h in Headers */, - 1737B82B8A20C680F734F78360B43FD2 /* MKTLongLongReturnSetter.h in Headers */, - E8FF9FA8D3D5288E2411AF6DFC2F6AFC /* MKTLongReturnSetter.h in Headers */, - 832A91420645505DDE2455582868DAB1 /* MKTMockingProgress.h in Headers */, - 32247A02121024BC41D7BE123D847A18 /* MKTMockitoCore.h in Headers */, - 17F397176605936926213907EF84064E /* MKTObjectAndProtocolMock.h in Headers */, - A2495DBDDD02AA7C261344AFE991C28C /* MKTObjectArgumentGetter.h in Headers */, - 13C5E4FB740EF56F9C1505B38F265D1C /* MKTObjectMock.h in Headers */, - 3AB07B3F368BA47EC51B4FD906C1B8BD /* MKTObjectReturnSetter.h in Headers */, - A7EC73F931B030DB3248CD649C789900 /* MKTOngoingStubbing.h in Headers */, - E046B2B9044907C19F7587D6A01CACEF /* MKTPointerArgumentGetter.h in Headers */, - 3EA41D826DB80006915F0EE70E1B93E9 /* MKTPrimitiveArgumentMatching.h in Headers */, - 222CCD1BC38B44A8B4480A0531718CEF /* MKTProtocolMock.h in Headers */, - 355288B2F400DE5A40204B02579DF85F /* MKTReturnsValue.h in Headers */, - C8779431279DC4D37E2C4DC1C4F60012 /* MKTReturnValueSetter.h in Headers */, - 745452BA5BE0C4488AE4A703C4A30F6F /* MKTReturnValueSetterChain.h in Headers */, - 7DE8B9DF17FFB8E9B0B1581D6B8D3193 /* MKTSelectorArgumentGetter.h in Headers */, - 76BEF21BDBCC12F3EE8C4C41BE5CE26C /* MKTShortArgumentGetter.h in Headers */, - F6518AD6E53A8AB01B1BD3F7A4F0D4B5 /* MKTShortReturnSetter.h in Headers */, - 06788BCF9C72A343DBC4E2E19ABE28A4 /* MKTStructArgumentGetter.h in Headers */, - A582202BA70CAA6EF887AFFDA34B2E54 /* MKTStructReturnSetter.h in Headers */, - 97EEEEF22214B8BA86DBD2901B2CE438 /* MKTStubbedInvocationMatcher.h in Headers */, - 6D3FC267B9588EB2AC88353F9B82739A /* MKTTestLocation.h in Headers */, - 582A8E5B6CEA1AE41A34E6A4875963AB /* MKTThrowsException.h in Headers */, - CE13AE4BEC53FB93D5626C67E26346CD /* MKTUnsignedCharArgumentGetter.h in Headers */, - 3B5DF103D25364FDE61B84B2FE0EF2D3 /* MKTUnsignedCharReturnSetter.h in Headers */, - 1D5B90403C0465A1651CC76120C54E42 /* MKTUnsignedIntArgumentGetter.h in Headers */, - D3161D16210AFF03EB32C171E6094FF4 /* MKTUnsignedIntReturnSetter.h in Headers */, - 59A1CCFAF5500123A9540CDF541BA9CD /* MKTUnsignedLongArgumentGetter.h in Headers */, - B76A759B1E9474D3A745B7ECC8AEDC24 /* MKTUnsignedLongLongArgumentGetter.h in Headers */, - E20495FC8348295CDB60EB25EDF8218F /* MKTUnsignedLongLongReturnSetter.h in Headers */, - 0205D9D1A86C56580718C8062905FC4A /* MKTUnsignedLongReturnSetter.h in Headers */, - 7ECE62218015E4177E3E717CCFCBC5DF /* MKTUnsignedShortArgumentGetter.h in Headers */, - 6D3969865A2A68835358BFD3A5044E91 /* MKTUnsignedShortReturnSetter.h in Headers */, - 0297F65A94EB62E9735ECEFAFA50FD65 /* MKTVerificationData.h in Headers */, - B432954AA35B3BC1A1F4FE07E135AEED /* MKTVerificationMode.h in Headers */, - F723717739323D87160C266407A598C4 /* NSInvocation+OCMockito.h in Headers */, - F405E66EB943ED398653DD6349124143 /* OCMockito.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 020FEA5CEB546A26C033662D3DC4351F /* OCMockito */ = { + 2A023507EAD85F40065A236BE2F30BD4 /* OCHamcrest */ = { isa = PBXNativeTarget; - buildConfigurationList = A58589FE80842807667AF08CB4B0B669 /* Build configuration list for PBXNativeTarget "OCMockito" */; + buildConfigurationList = 6DA4F4B25E5B2D50D4B771BDF244DD5A /* Build configuration list for PBXNativeTarget "OCHamcrest" */; buildPhases = ( - 7BEC1795A3FFD3183F7279D3A1EA45F4 /* Sources */, - 96A4553E5BA547B81C1437D89E6E929B /* Frameworks */, - EFA72AF14189DEFF31EB25EBF64BCB01 /* Headers */, + 95E9274A6A123033A3DA7FE43DAC83EA /* Sources */, + E2684B796CD50EC9C62AABFBE227D7AF /* Frameworks */, + 3B102CB771F2A4EB2A9D877124017675 /* Headers */, ); buildRules = ( ); dependencies = ( - 0731969825D51E6F3A3DCFB9EE1A4FA4 /* PBXTargetDependency */, ); - name = OCMockito; - productName = OCMockito; - productReference = 0BC2D260EFCFA586670F1768EB518C0C /* libOCMockito.a */; + name = OCHamcrest; + productName = OCHamcrest; + productReference = 69E2C6AA755F24AEF32EA8195F96DEC8 /* libOCHamcrest.a */; productType = "com.apple.product-type.library.static"; }; 46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */ = { @@ -1901,38 +1964,39 @@ productReference = D0706810C5C2178ADE12A9C1F021010F /* libPods-StateKitExample.a */; productType = "com.apple.product-type.library.static"; }; - C641B16E50387696EB44AEB5DFACFE23 /* OCHamcrest */ = { + C8FD43C5D1E862124F802C1E5B00A8A4 /* Specta */ = { isa = PBXNativeTarget; - buildConfigurationList = BEBC64266DB70C8843590C12AC1EFAC0 /* Build configuration list for PBXNativeTarget "OCHamcrest" */; + buildConfigurationList = 3E03EB4EC68E98B6B61F8583B2AB3400 /* Build configuration list for PBXNativeTarget "Specta" */; buildPhases = ( - 213039F50EAB440626A601F1AE081037 /* Sources */, - D865BD1D747D2AE1B2A7A1EC819D4F01 /* Frameworks */, - 407B0DC0BF6A45C4D78C52D7E61791C7 /* Headers */, + EB3781C853D5BC728C45A2850EC4B906 /* Sources */, + 53A57BC09948476F125765900380BDE5 /* Frameworks */, + 03A35C277F2B30084D0C242C96B77D8F /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = OCHamcrest; - productName = OCHamcrest; - productReference = 69E2C6AA755F24AEF32EA8195F96DEC8 /* libOCHamcrest.a */; + name = Specta; + productName = Specta; + productReference = E1996B845DB8A62BA0D5BB952C09D8CC /* libSpecta.a */; productType = "com.apple.product-type.library.static"; }; - C8FD43C5D1E862124F802C1E5B00A8A4 /* Specta */ = { + E926E88902604B212CE84DE83F4C84C5 /* OCMockito */ = { isa = PBXNativeTarget; - buildConfigurationList = 3E03EB4EC68E98B6B61F8583B2AB3400 /* Build configuration list for PBXNativeTarget "Specta" */; + buildConfigurationList = 2F8ECA0D4D13C06B9E3415206FE4F1F3 /* Build configuration list for PBXNativeTarget "OCMockito" */; buildPhases = ( - 6E36606B1F2A5B6C932A24FB9B54C0B8 /* Sources */, - 53A57BC09948476F125765900380BDE5 /* Frameworks */, - 47C203B4EFDA81B245D3C19C00553C66 /* Headers */, + 0C00550C6702B8318CF4782F90312544 /* Sources */, + C5F00467AA58E41FB29178C51E521C8E /* Frameworks */, + 25D4681D54A3F6B95A9F3A3F67870ED1 /* Headers */, ); buildRules = ( ); dependencies = ( + A192A3CB2E8F0E4299023D846E2F04AE /* PBXTargetDependency */, ); - name = Specta; - productName = Specta; - productReference = E1996B845DB8A62BA0D5BB952C09D8CC /* libSpecta.a */; + name = OCMockito; + productName = OCMockito; + productReference = 0BC2D260EFCFA586670F1768EB518C0C /* libOCMockito.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -1957,8 +2021,8 @@ projectRoot = ""; targets = ( 46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */, - C641B16E50387696EB44AEB5DFACFE23 /* OCHamcrest */, - 020FEA5CEB546A26C033662D3DC4351F /* OCMockito */, + 2A023507EAD85F40065A236BE2F30BD4 /* OCHamcrest */, + E926E88902604B212CE84DE83F4C84C5 /* OCMockito */, 98C20BAB25FB110E7DE8ADF960066297 /* Pods-StateKitExample */, 60B2CEA3EEBB96BE80E64EC6F73F1233 /* Pods-Tests */, C8FD43C5D1E862124F802C1E5B00A8A4 /* Specta */, @@ -1968,94 +2032,93 @@ /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 1E94EB2FFD167CA21BF37263107A1B1F /* Sources */ = { + 0C00550C6702B8318CF4782F90312544 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A7B9BB8437D4D28E342A980AB24FF0A7 /* Pods-Tests-dummy.m in Sources */, + F8D087BAA14B4693B73F33DABF8AADAA /* MKT_TPDWeakProxy.m in Sources */, + 6F3EF8677DD98427CE0E3B00901327A1 /* MKTArgumentGetter.m in Sources */, + 93DDE16B432C7EE0280A9442702CF677 /* MKTArgumentGetterChain.m in Sources */, + EB32F213A6A5DD59ACD274A4698331DE /* MKTAtLeastNumberOfInvocationsChecker.m in Sources */, + 4AA0C7E4B397DB361156857013980A13 /* MKTAtLeastTimes.m in Sources */, + 5235E7745BE9DD653609F8D0D4E47FE1 /* MKTAtMostNumberOfInvocationsChecker.m in Sources */, + 0FDB1B2AACE8264BFA74D7E6E8913948 /* MKTAtMostTimes.m in Sources */, + 6973FB80B75D121011A2BE24827A6E2B /* MKTBaseMockObject.m in Sources */, + FE6C5672F0C4E038467A2C9B1B9D20FB /* MKTBoolArgumentGetter.m in Sources */, + 8E2AD9D9DD8BD1012C4570C25D808075 /* MKTBoolReturnSetter.m in Sources */, + 46367F26A7CBF5CC4699974773EDB7FE /* MKTCallStackElement.m in Sources */, + B2AE7864AFAE541F8EB22DF523EAE0F4 /* MKTCharArgumentGetter.m in Sources */, + 0278F42B0B790F546EC35A8C35E073C9 /* MKTCharReturnSetter.m in Sources */, + 9BAE8C6B2E0D00085558B85913E25374 /* MKTClassArgumentGetter.m in Sources */, + 2323361559597C890C2A947113D07390 /* MKTClassObjectMock.m in Sources */, + 363759DABD0ACEB3E228E8ACDF45EBEC /* MKTClassReturnSetter.m in Sources */, + D4CAC1FAE9AFB0DB2C26EA884E5F2A0E /* MKTDoubleArgumentGetter.m in Sources */, + E14164C1A66F737F3530E5B8A253A405 /* MKTDoubleReturnSetter.m in Sources */, + 4C4E6C25149A4F7A56104A9E7D627276 /* MKTDynamicProperties.m in Sources */, + 3A142557B03173530274D3F493AD0CDB /* MKTExactTimes.m in Sources */, + E2D753BC9A0F19AA5FDC90B808821A2F /* MKTExecutesBlock.m in Sources */, + 0DB70FCB4DEF6F2EA39F5D358B33D2BD /* MKTFilterCallStack.m in Sources */, + E026ED4F4DEFE48F6F69620D1A55E6C3 /* MKTFloatArgumentGetter.m in Sources */, + 4AC351662F3BFEE026DD465BE2D9A707 /* MKTFloatReturnSetter.m in Sources */, + 8C8D5D18DC169B86203638F2F9CF8271 /* MKTIntArgumentGetter.m in Sources */, + 9611E64B573CC2E3603B350F37EBF5BD /* MKTIntReturnSetter.m in Sources */, + 7FE9C89B7999830630442B4703AAF576 /* MKTInvocation.m in Sources */, + 507AC12FFE5539EDA8B70F7C4337B6DC /* MKTInvocationContainer.m in Sources */, + 67B5F47A335914787D276A5726A0F757 /* MKTInvocationMatcher.m in Sources */, + C95A7D77C17E0EBD9B02A4A5D83244C7 /* MKTInvocationsChecker.m in Sources */, + 8B5CC6B56C46512647478BA6399B73A9 /* MKTLocation.m in Sources */, + E7C1EF62A93D9EF67B0EC7AB89CA41A7 /* MKTLongArgumentGetter.m in Sources */, + 9F68EA24FC71563E947CF940E3A33DD1 /* MKTLongLongArgumentGetter.m in Sources */, + 2438083BA15325FEC5B73403B08F7E90 /* MKTLongLongReturnSetter.m in Sources */, + 03C157278CFDC97E78BCC9857B40A911 /* MKTLongReturnSetter.m in Sources */, + 7E2DACF9FA6EE4FFB4585FB5724CA622 /* MKTMatchingInvocationsFinder.m in Sources */, + 8D0750B2579B1C163E42D69376BECAE0 /* MKTMissingInvocationChecker.m in Sources */, + 173F3697723C1BD59BDCB6080575283E /* MKTMockingProgress.m in Sources */, + ECAE053D64F27FAA2C048E8083B3B64E /* MKTMockitoCore.m in Sources */, + 77F617DA10CB111E831B8C0ABBE2A567 /* MKTNumberOfInvocationsChecker.m in Sources */, + 17E3EE875B4E361BE6C405971FEA7D22 /* MKTObjectAndProtocolMock.m in Sources */, + BD8C24B7001D6ADCBD3A102D9EBE375A /* MKTObjectArgumentGetter.m in Sources */, + A3604C513FE4741EAF9A36698D6A627F /* MKTObjectMock.m in Sources */, + 0AAC05BB3D85C44D7A5B81089066F34D /* MKTObjectReturnSetter.m in Sources */, + 194B291FE419A420742EC471E87ADFF5 /* MKTOngoingStubbing.m in Sources */, + A723E9FB5239DE77A478184BA94D4733 /* MKTParseCallStack.m in Sources */, + FE73E37E8B47B683CF6FEF9070930CB1 /* MKTPointerArgumentGetter.m in Sources */, + 3CD6B8A5A955A1A5C4802B9DB4C0CC66 /* MKTPrinter.m in Sources */, + 80762DE714870F45F83DDB44DCA725BB /* MKTProtocolMock.m in Sources */, + 33EA9C6BB2A76E3A6B90733314DED60D /* MKTReturnsValue.m in Sources */, + 8D6D9A256B90A1D01B8E6D39623E748C /* MKTReturnValueSetter.m in Sources */, + 58BDAD95725942F9F6BB533CE20A6A71 /* MKTReturnValueSetterChain.m in Sources */, + 63402564AB67A06DDF3CCF3F0F056F42 /* MKTSelectorArgumentGetter.m in Sources */, + 5876D085DF2C981DECD752CF2DCD18A3 /* MKTShortArgumentGetter.m in Sources */, + 47EDDF1EF95DA89733628C7724DC38D6 /* MKTShortReturnSetter.m in Sources */, + CE8CC117F35FDB5C9D4D099E5F0836F6 /* MKTSingletonSwizzler.m in Sources */, + 3889D3FBBB796A2306E6D3AA97F2562D /* MKTStructArgumentGetter.m in Sources */, + 97F16BE0EAC52E5AD706824487F32C59 /* MKTStructReturnSetter.m in Sources */, + 03EB5405D91E1E9C63D440DE51C1B5C9 /* MKTStubbedInvocationMatcher.m in Sources */, + 408AFA556B21B2A1A11E16D58E9B8A6B /* MKTTestLocation.m in Sources */, + 83A340287729D59AD17998793EA68BBC /* MKTThrowsException.m in Sources */, + 91F3963F9AFAC0ECA76923C03D43CA71 /* MKTUnsignedCharArgumentGetter.m in Sources */, + 8420AE4E578DEDAD083C4A8A1EE519B1 /* MKTUnsignedCharReturnSetter.m in Sources */, + 3D42ED3C183ACB1F5B0DA249E289E119 /* MKTUnsignedIntArgumentGetter.m in Sources */, + 54E74AC66DD39B2EF5BE98B277984731 /* MKTUnsignedIntReturnSetter.m in Sources */, + 18A8C0319EC2067521169BC7EEF72486 /* MKTUnsignedLongArgumentGetter.m in Sources */, + B2D887A90812D4514C58197E63E842E9 /* MKTUnsignedLongLongArgumentGetter.m in Sources */, + 86902980EFE074E5BC24F031092C7B3E /* MKTUnsignedLongLongReturnSetter.m in Sources */, + 85BBE9F1CE866D0B50104E4C874E8409 /* MKTUnsignedLongReturnSetter.m in Sources */, + 84C4438F0EA737BD760EA0F850B9D26A /* MKTUnsignedShortArgumentGetter.m in Sources */, + 3F3AAE1AD49896E92B4A30B742DE47EC /* MKTUnsignedShortReturnSetter.m in Sources */, + 79D97BA086C98C399E4896256516C7BD /* MKTVerificationData.m in Sources */, + 2D5B32F39302D3FF389F3AEEDEFEB862 /* NSInvocation+OCMockito.m in Sources */, + 20625B3887946658AE7D4CD9B39611E0 /* OCMockito-dummy.m in Sources */, + 99686D4E475AD9191CBBE68AD9F26928 /* OCMockito.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 213039F50EAB440626A601F1AE081037 /* Sources */ = { + 1E94EB2FFD167CA21BF37263107A1B1F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C47D0E4801E0DEC0332327D566643E55 /* HCAllOf.m in Sources */, - B9DFA0B9452D194627CF06C3A92F5F69 /* HCAnyOf.m in Sources */, - 1DE13699ACD31EA6EA263C52DD1D0F5A /* HCArgumentCaptor.m in Sources */, - 215D2572AE45DA5768BE7FFF156E1683 /* HCAssertThat.m in Sources */, - F1AA24AB1ED5E8ACD43BC42AFCABA71C /* HCBaseDescription.m in Sources */, - 4B223A1D395F8F8BD8AEE5BA88EADB69 /* HCBaseMatcher.m in Sources */, - E7EB6245D8307F37C20BD9362D4DB421 /* HCBoolReturnGetter.m in Sources */, - 5A8454C25C8C5110031466515A36225A /* HCCharReturnGetter.m in Sources */, - 5C569F02DD6FBF9A04224EF036AD1579 /* HCClassMatcher.m in Sources */, - F138EDB4E03F2020343C3379AB7FAB4B /* HCCollect.m in Sources */, - 0149FA9FBB88BA5927C7DBAE6E0272C1 /* HCConformsToProtocol.m in Sources */, - EBAE63FF8DA3BB93CF2731A8B555F76B /* HCDescribedAs.m in Sources */, - 1DE2CC45DF1C45C5C93AECEF260F3842 /* HCDiagnosingMatcher.m in Sources */, - EA7C5C4E62C2E349983A19DFCC90F1C1 /* HCDoubleReturnGetter.m in Sources */, - 9055AF2C9CA3F9A296E75EAE07A6586C /* HCEvery.m in Sources */, - F55EBBBCCF7682B97FC98DCFB590ABDE /* HCFloatReturnGetter.m in Sources */, - 10D2E12F379A3B5366E4CD990E8BB842 /* HCGenericTestFailureReporter.m in Sources */, - 9ADAF5F7036FF0DADD74C302F0E8D659 /* HCHasCount.m in Sources */, - 58E5020F90CB5095C0A75F816F45FA3B /* HCHasDescription.m in Sources */, - AB53997C3B500E8C348302F953C52EDB /* HCHasProperty.m in Sources */, - 0AE51755775FD82AB93689DD4B2D68A6 /* HCIntReturnGetter.m in Sources */, - 683A7CA897C895EC4F32A7B6961016EB /* HCInvocationMatcher.m in Sources */, - 32283841EFA664B6E208777FB3AA6870 /* HCIs.m in Sources */, - B7ABF84E115E4E64073F5421781F6EB6 /* HCIsAnything.m in Sources */, - C143599F13D14489824AE537210E46A2 /* HCIsCloseTo.m in Sources */, - 47F5B188C818E01CA84750B75754D10C /* HCIsCollectionContaining.m in Sources */, - 09C8A2FD2549AAEE480B48CB1228E419 /* HCIsCollectionContainingInAnyOrder.m in Sources */, - E7B4B4DBC3EBE96275623A6792A9173B /* HCIsCollectionContainingInOrder.m in Sources */, - F28622BE52F6F212288D80216DEA2187 /* HCIsCollectionContainingInRelativeOrder.m in Sources */, - 5F229EB117858C47D04583364FC73D78 /* HCIsCollectionOnlyContaining.m in Sources */, - 04C0E7608F10AEE735D39F7312A022B5 /* HCIsDictionaryContaining.m in Sources */, - 9A4679473A44C2FD2F9CE95E6BC3F2EA /* HCIsDictionaryContainingEntries.m in Sources */, - C03711C9AF379CFEBBFE563358C9F5E9 /* HCIsDictionaryContainingKey.m in Sources */, - F42C63F29EC7D80B7389C15DE0094438 /* HCIsDictionaryContainingValue.m in Sources */, - 6B5E0BD47E5DBA641A81E9699FEB403F /* HCIsEmptyCollection.m in Sources */, - 2C278947B1E8AD3EAF3A9D473FF407A8 /* HCIsEqual.m in Sources */, - E2CC52563F6E79BDB4BB2FC854E5F30D /* HCIsEqualIgnoringCase.m in Sources */, - F58E47FFFE1D981E2373B28982052A50 /* HCIsEqualIgnoringWhiteSpace.m in Sources */, - F870AF858DB5EFA5B7CF39D9174020B2 /* HCIsEqualToNumber.m in Sources */, - F767EB6BD9E2EBE069A077827B10791C /* HCIsIn.m in Sources */, - 70D83E67DDB6E226A146F1A236CC3D5C /* HCIsInstanceOf.m in Sources */, - 388E823CCC7E7B8810DB589E445F099E /* HCIsNil.m in Sources */, - 5A91F61067E13EF962A54009E5D19B2B /* HCIsNot.m in Sources */, - 12495CB50A16132851A32C0A290AAE79 /* HCIsSame.m in Sources */, - 4A60F1B56BB92CECAF44C837A5DE71F6 /* HCIsTrueFalse.m in Sources */, - 8A44905DE57B8F1D834EE4DF2587B92C /* HCIsTypeOf.m in Sources */, - 055D70CC2553C37474C5CBBD93B603B8 /* HCLongLongReturnGetter.m in Sources */, - 071558841C69E0D8F3F59D893BC407FC /* HCLongReturnGetter.m in Sources */, - 76897A50F582D79EBCB238BBEC5A59DF /* HCNumberAssert.m in Sources */, - 6367E4C90A9B6684693CC6C66AFF02B1 /* HCObjectReturnGetter.m in Sources */, - 7BC35FAE9F81A4FEC7182E89BF78AD84 /* HCOrderingComparison.m in Sources */, - 681A210F6701CDA021ABA0A1CCCE7817 /* HCRequireNonNilObject.m in Sources */, - AA13A276D5281FE888FE929C688FCE0A /* HCReturnTypeHandlerChain.m in Sources */, - 884768E3D870236BA7E4A850D04768BD /* HCReturnValueGetter.m in Sources */, - 3DE81B903D7D9C60B8C5782FD65B8B8B /* HCSenTestFailureReporter.m in Sources */, - 341343AD4189D082BFF023D70AE88A15 /* HCShortReturnGetter.m in Sources */, - 7D2F910A97A3AB546446C45F98CA598D /* HCStringContains.m in Sources */, - F20BAE8889D473B16D6D34039C3B9FC0 /* HCStringContainsInOrder.m in Sources */, - BA81018048AA2113D2051430679FB823 /* HCStringDescription.m in Sources */, - DE3F9E4E433712A0618B9322C2F17B1B /* HCStringEndsWith.m in Sources */, - 506B2DD25574940135369D80BCB3A0B8 /* HCStringStartsWith.m in Sources */, - 8AA8057FF5FCF4E133D98A71290A5CAF /* HCSubstringMatcher.m in Sources */, - 3FD4C62FC32E5D97BEC1C7D14B5CA4F8 /* HCTestFailure.m in Sources */, - 7D6A852C60AE2C7B124276E89CD10725 /* HCTestFailureHandlerChain.m in Sources */, - 3D98A208E31AC69B36F0FF801C58A2F0 /* HCTestFailureReporter.m in Sources */, - 6681355D0818BE37022C368886B3DDAA /* HCTestFailureReporterChain.m in Sources */, - FDDD7F7EDD6E15CA6EF8C1E53D651643 /* HCThrowsException.m in Sources */, - 9AFF8C5303702AC7BD8249B3536403E6 /* HCUnsignedCharReturnGetter.m in Sources */, - CA2E28A3B973AB78B4DEF0A67B034801 /* HCUnsignedIntReturnGetter.m in Sources */, - 06AA264C475FA972D3D15CE8AF3ECF4B /* HCUnsignedLongLongReturnGetter.m in Sources */, - 3F24E7E485B727BDADC90800D2ACBF56 /* HCUnsignedLongReturnGetter.m in Sources */, - 3B0906A35D412F9F22652EF023E2A41C /* HCUnsignedShortReturnGetter.m in Sources */, - FFF61FB413EF523D41E412776EDD0018 /* HCWrapInMatcher.m in Sources */, - BFB53E7A7B9F277BEFF48007EF76F85D /* HCXCTestFailureReporter.m in Sources */, - 2A1E070BFA7F05FA5DA564173479D805 /* NSInvocation+OCHamcrest.m in Sources */, - 5CC585D5B424E132594E50919D1471BD /* OCHamcrest-dummy.m in Sources */, + A7B9BB8437D4D28E342A980AB24FF0A7 /* Pods-Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2101,95 +2164,104 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 6E36606B1F2A5B6C932A24FB9B54C0B8 /* Sources */ = { + 95E9274A6A123033A3DA7FE43DAC83EA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3BC40EEF9F51052BAF6744F3B00CEC76 /* Specta-dummy.m in Sources */, - 3379F2A6C16E9E16BF7C888034FEFF92 /* Specta.m in Sources */, - C27213664D9D4F0E85063B869D82DC0F /* SpectaUtility.m in Sources */, - 697FE45B446CFE84BDFF4C171705852E /* SPTExample.m in Sources */, - A718359A387E2603B51F4041F078C1FD /* SPTExampleGroup.m in Sources */, - A2EBE5EFCB65CD9CE4C2B4032B087754 /* SPTNestedReporter.m in Sources */, - FF2BA3DF7004D39BDE48181D494040BF /* SPTReporter.m in Sources */, - 5F58411FE463F0B98B8366613A2FE85A /* SPTSharedExampleGroups.m in Sources */, - 0D30286481DC5DCBA5E1FA414637811B /* SPTSpec.m in Sources */, - E301AE828B9762303737ED93D3FA0B73 /* SPTXCTestCase.m in Sources */, - 117D43EAB6B60C19EF3BB00671A44E3B /* SPTXCTestReporter.m in Sources */, - E6D4EFE058E4F8E61A2B842EAC293EF9 /* XCTestCase+Specta.m in Sources */, - B0DEC519B878C119185CF62BB9E344E5 /* XCTestLog+Specta.m in Sources */, - 6A10BD6533096AEE6393C06F9A6764C0 /* XCTestRun+Specta.m in Sources */, + 0F83944F720385C478D3EC37284BA221 /* HCAllOf.m in Sources */, + FEF95A7A09440090BC48F8F163A80F62 /* HCAnyOf.m in Sources */, + E8E83EFDE67BEA503DA66DB23AC36730 /* HCArgumentCaptor.m in Sources */, + 181CECBD0C564EB943377CE91D66F1EF /* HCAssertThat.m in Sources */, + 5A1C892A751072E3215DF739785C3C9D /* HCBaseDescription.m in Sources */, + 918223EDD9F228F8A1D692717DFDEE01 /* HCBaseMatcher.m in Sources */, + C482D613FF8EC7E9AB358F63FC4452DE /* HCBoolReturnGetter.m in Sources */, + 40433F794DBDEEF942DBAEC3A7F2F57A /* HCCharReturnGetter.m in Sources */, + C2DB2DD71D5FF65C3C11B177E74FCA99 /* HCClassMatcher.m in Sources */, + 50E28311ECD0CCD8FE9F0C76E159424D /* HCCollect.m in Sources */, + 2F8EFA2BB04F32CBA5D65DD22347B7F2 /* HCConformsToProtocol.m in Sources */, + 34D94EF9C0F388973DA7E3888176BC5A /* HCDescribedAs.m in Sources */, + 79228A43A1E24FA04CFE8E85ABD7750A /* HCDiagnosingMatcher.m in Sources */, + 8F253D19B6989A4C47A6CC41C6EC489A /* HCDoubleReturnGetter.m in Sources */, + B7B482EC3A6D8835E5DCAB3B585D5F37 /* HCEvery.m in Sources */, + EEE0AC9789EA2632A6945903582A6491 /* HCFloatReturnGetter.m in Sources */, + 2378B551E8CB22EB7C1D27C628B1F018 /* HCGenericTestFailureReporter.m in Sources */, + B4E6183EBA754F2560BCB39671D749D9 /* HCHasCount.m in Sources */, + C2344B694D92938A47D5176E7A2888A1 /* HCHasDescription.m in Sources */, + 60FC33748AD0D0CEACFE49B992DC76A3 /* HCHasProperty.m in Sources */, + 0807FC2B0839A6597854038D4CB96B1E /* HCIntReturnGetter.m in Sources */, + 3A3BC20A2B71BB48F16CEAC8C635D7E7 /* HCInvocationMatcher.m in Sources */, + D6B7ECDD01D1C3D405BADBFD90DE2263 /* HCIs.m in Sources */, + 93CFD6EC78CC1928393B4FF964B05E33 /* HCIsAnything.m in Sources */, + EA36A6ECF441620A4EE6FA5E5BB01612 /* HCIsCloseTo.m in Sources */, + 2ED63220C96024BA69C74C9F6711F948 /* HCIsCollectionContaining.m in Sources */, + F851556734A1D4B34C85EFD1C404D6EA /* HCIsCollectionContainingInAnyOrder.m in Sources */, + E930BD124E225782E79E60E478E07202 /* HCIsCollectionContainingInOrder.m in Sources */, + 60170D8CEE3BA8886464FB0F2F562C5F /* HCIsCollectionContainingInRelativeOrder.m in Sources */, + 5D6AACBDC690057A71508062B5E2D27E /* HCIsCollectionOnlyContaining.m in Sources */, + 09A99EC7EF2C612F6B58A01AABBCC6BD /* HCIsDictionaryContaining.m in Sources */, + 3005288A96890D8DA44AE8082F8B144D /* HCIsDictionaryContainingEntries.m in Sources */, + E94C7F819B9722FCE87C421B10A04540 /* HCIsDictionaryContainingKey.m in Sources */, + BC35E114B1BB85AB705DE6D738D6687C /* HCIsDictionaryContainingValue.m in Sources */, + F4A43546DD33C4076998738A4BF5D8C4 /* HCIsEmptyCollection.m in Sources */, + 52F1A4E78E7D6B828B2F64B1A1B2F630 /* HCIsEqual.m in Sources */, + 58DE67301D844F88AEEFF22F50B50BB4 /* HCIsEqualCompressingWhiteSpace.m in Sources */, + 2B393C8CC5F0368429F2E9AF02690E65 /* HCIsEqualIgnoringCase.m in Sources */, + CD5E247FD8A778FD2F3F95EAF523B7CC /* HCIsEqualToNumber.m in Sources */, + 7ADBA41ADAB8CF1FF4FE57EE5CD5685B /* HCIsIn.m in Sources */, + 63D30A9B7FBE489F3060F3B948316AE5 /* HCIsInstanceOf.m in Sources */, + 4D4B917C68C02C18A38CE9B758D9722A /* HCIsNil.m in Sources */, + 66462E8727F0BC1872D70EDD9A6781CE /* HCIsNot.m in Sources */, + 9FE46E371DE1ABAAB75CFB84055A398E /* HCIsSame.m in Sources */, + D31B816CFD40961DA3F5D991B412D10E /* HCIsTrueFalse.m in Sources */, + 5439B3FC5273FEC2F95B5F94953CEB95 /* HCIsTypeOf.m in Sources */, + C5AB285569224A4A78CAC2D6DAFF5D17 /* HCLongLongReturnGetter.m in Sources */, + 1D76E5FE5FE2543913DA132DC3199789 /* HCLongReturnGetter.m in Sources */, + ECEA4A414DC118AAD5919FBEB36CB3A3 /* HCNumberAssert.m in Sources */, + 7AB1DA6A685DFA9A5FFCAF103336533D /* HCObjectReturnGetter.m in Sources */, + AFD62E72EC16582EEAE1BA37FE08E118 /* HCOrderingComparison.m in Sources */, + 4AA4DB1E5F810AD0209C8EA2C05BCB2E /* HCRequireNonNilObject.m in Sources */, + C0A83FDDBFD30DDAD8D0FF34A543A0A1 /* HCReturnTypeHandlerChain.m in Sources */, + 72B46B0DEE3A136FEF0E699F8A4B9A07 /* HCReturnValueGetter.m in Sources */, + E4291A4EC98C6A47894373C3137BD165 /* HCRunloopRunner.m in Sources */, + C4EFC06E77A30C77E6038303235274FE /* HCSenTestFailureReporter.m in Sources */, + F90ED912F2C4E0A45D59989A96F3D0DF /* HCShortReturnGetter.m in Sources */, + C8E5699A7E22ADE2A201C80E953455B7 /* HCStringContains.m in Sources */, + D918057EDC0F913FB2189882E1C4F416 /* HCStringContainsInOrder.m in Sources */, + DF30039166416C87A644F4C5401E0412 /* HCStringDescription.m in Sources */, + A627CDD8FF1ED0215C015FE1FB6DC46F /* HCStringEndsWith.m in Sources */, + F26C0AD2F6B0AE517FF98FF673409148 /* HCStringStartsWith.m in Sources */, + 022C8A2548127C088B2E6F2AAE05C2F7 /* HCSubstringMatcher.m in Sources */, + F6C7E7053C3B4229E79E1277C85D56AE /* HCTestFailure.m in Sources */, + 30AC8352FE6DC9288EEA2843BD47F50B /* HCTestFailureReporter.m in Sources */, + 3FA6F90D2C62D8C0AF6A3BBA340A9197 /* HCTestFailureReporterChain.m in Sources */, + B21CE4EE0FB3C67A343C64DB1A66B46C /* HCThrowsException.m in Sources */, + 6A2DD2B93A873F2D1AD48290D395CE91 /* HCUnsignedCharReturnGetter.m in Sources */, + 8BDABAB60A8ECAE98DB6809D3DAD00F7 /* HCUnsignedIntReturnGetter.m in Sources */, + 4B15464728C5BF64ED59A92E0A9FD7CD /* HCUnsignedLongLongReturnGetter.m in Sources */, + 3C26E9D180D59C3C712495E0A45505CC /* HCUnsignedLongReturnGetter.m in Sources */, + 22667E8CDAEDCEF418400920AB8992C5 /* HCUnsignedShortReturnGetter.m in Sources */, + 8C1F01E889E5E1401987289B2DA37EF3 /* HCWrapInMatcher.m in Sources */, + 1D4ABBB14B5A787423B5F23D03656630 /* HCXCTestFailureReporter.m in Sources */, + 0775D317659539AF28CD2AF839015E65 /* NSInvocation+OCHamcrest.m in Sources */, + B461A4DF620AF5EE42FDE46388A6D27C /* OCHamcrest-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7BEC1795A3FFD3183F7279D3A1EA45F4 /* Sources */ = { + EB3781C853D5BC728C45A2850EC4B906 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9A3F968B5662BE4C14910AF49C575F70 /* MKT_TPDWeakProxy.m in Sources */, - 1543F477D46B5D6ED8E41366616EEA30 /* MKTArgumentCaptor.m in Sources */, - 4C9B4CA569103417814AD280A5931280 /* MKTArgumentGetter.m in Sources */, - D4C35488C53456964F422AEF923BD6E3 /* MKTArgumentGetterChain.m in Sources */, - 8A961258F8755A1C0A56ADC8E37BC2FC /* MKTAtLeastTimes.m in Sources */, - 2EBD0AB5234AAB1657F90C6CD207D326 /* MKTBaseMockObject.m in Sources */, - 3878C7F079A2662F939BD02DBF5C55F6 /* MKTBlockArgumentGetter.m in Sources */, - 238F797DBAB9DD45949E4E6502A619C9 /* MKTBoolArgumentGetter.m in Sources */, - 47BF5505141B2C8B1C0091B4BD77423A /* MKTBoolReturnSetter.m in Sources */, - E4D30F290BFF2BF7F84E8D3A7B7BAA4F /* MKTCapturingMatcher.m in Sources */, - D9BED5484FD23396B56AB8A60E97A564 /* MKTCharArgumentGetter.m in Sources */, - 572F777F89B52BA577531B5D7B365AA6 /* MKTCharReturnSetter.m in Sources */, - 9E7B98ADA7E61A16E15D277C1DD50570 /* MKTClassArgumentGetter.m in Sources */, - 742A2ACA20D9C00CD3D6850BEDC3B417 /* MKTClassObjectMock.m in Sources */, - CD2FC6DBCD77DA9108D905B1208F0364 /* MKTClassReturnSetter.m in Sources */, - E35FFEC8B155D28A1907BF9C8B1650E5 /* MKTDoubleArgumentGetter.m in Sources */, - 034B3BA8581AE77BB126AFDB37387304 /* MKTDoubleReturnSetter.m in Sources */, - 5C82FB8BE0820DE4357E211290F7DE11 /* MKTDynamicProperties.m in Sources */, - 613FC9608E12716D89F696E9148443EB /* MKTExactTimes.m in Sources */, - A17814D9BD8104E493C540CBF68BE8B1 /* MKTExecutesBlock.m in Sources */, - 1A5A1AB774ACB4750974C8F90C8AB0A1 /* MKTFloatArgumentGetter.m in Sources */, - 150709F31704ABDD435169BC8B92579E /* MKTFloatReturnSetter.m in Sources */, - F1709AF03E4D7F98BE0ACB099B4CDCC6 /* MKTIntArgumentGetter.m in Sources */, - 5E36EE471837FFE743556A1411CF54ED /* MKTIntReturnSetter.m in Sources */, - 967EDE44D50C69238030308B99280323 /* MKTInvocationContainer.m in Sources */, - 3F5B56FCB6D1E49405FCA08B0CEF7FC6 /* MKTInvocationMatcher.m in Sources */, - 63C8C231F170DD691286C221D2D781BE /* MKTLongArgumentGetter.m in Sources */, - D78338E2FA3C6D8C91BD269F89242BC6 /* MKTLongLongArgumentGetter.m in Sources */, - 9B9C20A1FA0C4D64357FBFA31E03882E /* MKTLongLongReturnSetter.m in Sources */, - 70D59C90CC90A49F5302038F30DD8B75 /* MKTLongReturnSetter.m in Sources */, - 57D16D5D993D84135BBAC9957B205318 /* MKTMockingProgress.m in Sources */, - D2103B8D52C35B1FB782CA0F1BA9D112 /* MKTMockitoCore.m in Sources */, - 4360FEF0B59FBA524522FBD031EBB7A9 /* MKTObjectAndProtocolMock.m in Sources */, - 5B2F4EF1E90D74991BFF796269CD4159 /* MKTObjectArgumentGetter.m in Sources */, - D3F86654764247C047A036C649967E04 /* MKTObjectMock.m in Sources */, - F42D346F162AB7ADB92A8A08605D7092 /* MKTObjectReturnSetter.m in Sources */, - 5CC372F74054A9EB2AE047C7C1851B92 /* MKTOngoingStubbing.m in Sources */, - AF77504BC7B0C5A7F8E97222DB7E4F22 /* MKTPointerArgumentGetter.m in Sources */, - 186281208E8068A18D73A3D4D786C292 /* MKTProtocolMock.m in Sources */, - D5A715BFD1A8B993580B24AC14B805BB /* MKTReturnsValue.m in Sources */, - 606A6936395781F0EA6CC00D2391E26A /* MKTReturnValueSetter.m in Sources */, - A8EEA14DF7D75C82D00C8603892AE228 /* MKTReturnValueSetterChain.m in Sources */, - 9F72DAEBA1C94435BE54A706859E3911 /* MKTSelectorArgumentGetter.m in Sources */, - A78EE47632CB24DE6517F14795CAD690 /* MKTShortArgumentGetter.m in Sources */, - CE891F45EF69D8D233B7171CECB8D2C3 /* MKTShortReturnSetter.m in Sources */, - 52C9C7F760B7B304A8F155694E0291C4 /* MKTStructArgumentGetter.m in Sources */, - CDC9F8DAB80FB58D9CBEE8C081A23205 /* MKTStructReturnSetter.m in Sources */, - 03B18E0006714F7210E5ADB3589EEC74 /* MKTStubbedInvocationMatcher.m in Sources */, - 22A75ABA77C0A4E68DCDD6602241418E /* MKTTestLocation.m in Sources */, - E84F1F0684ADFC334C710FBB6AE1A7E0 /* MKTThrowsException.m in Sources */, - AA2EB570684108AF0808472152A671C4 /* MKTUnsignedCharArgumentGetter.m in Sources */, - A04EB21399320986BFE41FAC5965C79D /* MKTUnsignedCharReturnSetter.m in Sources */, - C52798F68673A7BCBCFEBDC1A0DF4CA0 /* MKTUnsignedIntArgumentGetter.m in Sources */, - E8C9DE5335683343E04FCBB1B7ADABED /* MKTUnsignedIntReturnSetter.m in Sources */, - 382574D3188460C94932CF2838C62534 /* MKTUnsignedLongArgumentGetter.m in Sources */, - 67F905A2CAD45AACE5A4986EA9B5C90E /* MKTUnsignedLongLongArgumentGetter.m in Sources */, - D284F2987F665F58A5A0A9195F09A10F /* MKTUnsignedLongLongReturnSetter.m in Sources */, - 0A196421CF849B1F0B3C309E644EA52A /* MKTUnsignedLongReturnSetter.m in Sources */, - 2AE61B0499A8C484939FBB402E5CD9A7 /* MKTUnsignedShortArgumentGetter.m in Sources */, - 29A9A3BA162A945AF9ADD9B62F5F520D /* MKTUnsignedShortReturnSetter.m in Sources */, - A82E38281CB9FB23F2AD6B49260739EE /* MKTVerificationData.m in Sources */, - 62F401202D2CB16BF7E2BD649689675B /* NSInvocation+OCMockito.m in Sources */, - 7B8A5EF2199D4630FBFEC3D29C47AC7C /* OCMockito-dummy.m in Sources */, - 8C4FA6947B92FBDC0D201E91D38A77C3 /* OCMockito.m in Sources */, + C2D12564FDCCFEF757AB8EECCF1B2250 /* Specta-dummy.m in Sources */, + D20C32D77F2BADCBA7784769C7F29878 /* SpectaDSL.m in Sources */, + 2303ECCE688EBFF6FB5F2B72E450C341 /* SpectaUtility.m in Sources */, + FBA93D3C3A27E86CE804EF25A1A919C7 /* SPTCallSite.m in Sources */, + 4D7B10C8711C0B4F1560DE6FEC88FC19 /* SPTCompiledExample.m in Sources */, + 988A3312713354C7E58386BCAFB9E85E /* SPTExample.m in Sources */, + D251D79A7D01B8CF282C87EC09C5479E /* SPTExampleGroup.m in Sources */, + 4BD9410259C54FF7153913C45999C9AA /* SPTSharedExampleGroups.m in Sources */, + BF8E00B7C7F346C23DD69A6401318284 /* SPTSpec.m in Sources */, + A79D42A7FCE40500B25AC1607C736FB2 /* SPTTestSuite.m in Sources */, + 12C941DED138C0D3CB7E7670AD276234 /* XCTestCase+Specta.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2215,16 +2287,10 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0731969825D51E6F3A3DCFB9EE1A4FA4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = OCHamcrest; - target = C641B16E50387696EB44AEB5DFACFE23 /* OCHamcrest */; - targetProxy = 6E3EA523CF1DE8BB291DEA4C9120806D /* PBXContainerItemProxy */; - }; 74489B6A1AF2C361E9AC190630A7B53F /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = OCHamcrest; - target = C641B16E50387696EB44AEB5DFACFE23 /* OCHamcrest */; + target = 2A023507EAD85F40065A236BE2F30BD4 /* OCHamcrest */; targetProxy = 416B6BF2918A8FC3A883DF0AF8890DA2 /* PBXContainerItemProxy */; }; 9B158ACC240E90C503F60E2F7F9D0BE5 /* PBXTargetDependency */ = { @@ -2239,6 +2305,12 @@ target = 93EFB2BE499CD6475630BE670CD970D1 /* StateKit */; targetProxy = B68DE2FDEB6BBE7A6236E163036C3297 /* PBXContainerItemProxy */; }; + A192A3CB2E8F0E4299023D846E2F04AE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = OCHamcrest; + target = 2A023507EAD85F40065A236BE2F30BD4 /* OCHamcrest */; + targetProxy = B7CD30E0A3AF53C8AF482467AA4BCA52 /* PBXContainerItemProxy */; + }; CF174853CB077A03DBB12ACE58B65A7E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Specta; @@ -2248,7 +2320,7 @@ F3425F51EE7C6E131FE40FCF00AD322C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = OCMockito; - target = 020FEA5CEB546A26C033662D3DC4351F /* OCMockito */; + target = E926E88902604B212CE84DE83F4C84C5 /* OCMockito */; targetProxy = 2D5AF8CEDECBC3402AC9446F9DFE66A9 /* PBXContainerItemProxy */; }; F843B8AD03A70A13F9816243299126E6 /* PBXTargetDependency */ = { @@ -2260,19 +2332,19 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 08C96CAED1BD1896F9BCDA7200C7BF3C /* Debug */ = { + 09BB8B934B9EA5866278C6FCD1805AD9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E7031356F4FD3DCFA563782B3F8F5C9F /* OCMockito.xcconfig */; + baseConfigurationReference = E2C70EB890E12C6BF977C5A1211AB976 /* OCHamcrest.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/OCMockito/OCMockito-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - MTL_ENABLE_DEBUG_INFO = YES; + GCC_PREFIX_HEADER = "Target Support Files/OCHamcrest/OCHamcrest-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; @@ -2282,11 +2354,11 @@ SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; }; - name = Debug; + name = Release; }; - 1955147A5C4A07503DFD2ADA112DB38F /* Debug */ = { + 0EDF7AC4BA184A66AC5E0DEF1FDD8CC3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 85A86F0B714C3991F20FF07688AD22F4 /* Specta.xcconfig */; + baseConfigurationReference = E4889B220D7D924A6614E34FB4D4108F /* OCMockito.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2294,8 +2366,8 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; + GCC_PREFIX_HEADER = "Target Support Files/OCMockito/OCMockito-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; @@ -2357,19 +2429,19 @@ }; name = Debug; }; - 334ED58621AD9EB272A4EC198C8187A6 /* Debug */ = { + 236D88A48CA4EDFFE3D7165DE7D329C2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CCE5D51E218C9552444BE44CE61E6950 /* OCHamcrest.xcconfig */; + baseConfigurationReference = E4889B220D7D924A6614E34FB4D4108F /* OCMockito.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/OCHamcrest/OCHamcrest-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - MTL_ENABLE_DEBUG_INFO = YES; + GCC_PREFIX_HEADER = "Target Support Files/OCMockito/OCMockito-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; @@ -2379,7 +2451,7 @@ SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; }; - name = Debug; + name = Release; }; 34FE9531DA9AF2820790339988D5FF41 /* Release */ = { isa = XCBuildConfiguration; @@ -2427,7 +2499,7 @@ }; 41D1CD6F72A9A7698B87035E0AC939FB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3932858E49D08B868EF38F2C87E0FFB /* Expecta.xcconfig */; + baseConfigurationReference = 7563FC83B5651F04DFF5266452966AAA /* Expecta.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2543,43 +2615,19 @@ }; name = Release; }; - 75B0B19988EBA8473A86ABC6A5F902F6 /* Release */ = { + 75D8CE1111B078D285257DA7FFF873F4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E7031356F4FD3DCFA563782B3F8F5C9F /* OCMockito.xcconfig */; + baseConfigurationReference = AA8CB7A1080565753364B76377A3EA00 /* Specta.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/OCMockito/OCMockito-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - }; - name = Release; - }; - 8A6569B1A78BFD82847BC009A86C74FD /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 85A86F0B714C3991F20FF07688AD22F4 /* Specta.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; - MTL_ENABLE_DEBUG_INFO = NO; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; @@ -2589,21 +2637,21 @@ SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; }; - name = Release; + name = Debug; }; - ABDAE91F1F50D722522C0B8F2080D1D6 /* Release */ = { + AFB1AD2A46912827BE0E23D28A4952EF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CCE5D51E218C9552444BE44CE61E6950 /* OCHamcrest.xcconfig */; + baseConfigurationReference = E2C70EB890E12C6BF977C5A1211AB976 /* OCHamcrest.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; GCC_PREFIX_HEADER = "Target Support Files/OCHamcrest/OCHamcrest-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - MTL_ENABLE_DEBUG_INFO = NO; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; @@ -2613,7 +2661,7 @@ SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; }; - name = Release; + name = Debug; }; DC65FD8862A9873791F6828F90355A09 /* Debug */ = { isa = XCBuildConfiguration; @@ -2663,7 +2711,7 @@ }; E19389890644D829D4DD9E23CFC3C11B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3932858E49D08B868EF38F2C87E0FFB /* Expecta.xcconfig */; + baseConfigurationReference = 7563FC83B5651F04DFF5266452966AAA /* Expecta.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2685,6 +2733,30 @@ }; name = Debug; }; + FB463E7EB03C40A38714E695DEF310C2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AA8CB7A1080565753364B76377A3EA00 /* Specta.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -2697,6 +2769,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 2F8ECA0D4D13C06B9E3415206FE4F1F3 /* Build configuration list for PBXNativeTarget "OCMockito" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0EDF7AC4BA184A66AC5E0DEF1FDD8CC3 /* Debug */, + 236D88A48CA4EDFFE3D7165DE7D329C2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 3979CE1837C1E7A0BC020CF0413A7C58 /* Build configuration list for PBXNativeTarget "Pods-StateKitExample" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -2709,26 +2790,26 @@ 3E03EB4EC68E98B6B61F8583B2AB3400 /* Build configuration list for PBXNativeTarget "Specta" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1955147A5C4A07503DFD2ADA112DB38F /* Debug */, - 8A6569B1A78BFD82847BC009A86C74FD /* Release */, + 75D8CE1111B078D285257DA7FFF873F4 /* Debug */, + FB463E7EB03C40A38714E695DEF310C2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A527F22FEB23BEA28343ECF922885E54 /* Build configuration list for PBXNativeTarget "StateKit" */ = { + 6DA4F4B25E5B2D50D4B771BDF244DD5A /* Build configuration list for PBXNativeTarget "OCHamcrest" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6DD09FE921EFD4910EE525ADA2A2BED8 /* Debug */, - 53DC36E93D557B7980CCA4275532F911 /* Release */, + AFB1AD2A46912827BE0E23D28A4952EF /* Debug */, + 09BB8B934B9EA5866278C6FCD1805AD9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A58589FE80842807667AF08CB4B0B669 /* Build configuration list for PBXNativeTarget "OCMockito" */ = { + A527F22FEB23BEA28343ECF922885E54 /* Build configuration list for PBXNativeTarget "StateKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 08C96CAED1BD1896F9BCDA7200C7BF3C /* Debug */, - 75B0B19988EBA8473A86ABC6A5F902F6 /* Release */, + 6DD09FE921EFD4910EE525ADA2A2BED8 /* Debug */, + 53DC36E93D557B7980CCA4275532F911 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2742,15 +2823,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BEBC64266DB70C8843590C12AC1EFAC0 /* Build configuration list for PBXNativeTarget "OCHamcrest" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 334ED58621AD9EB272A4EC198C8187A6 /* Debug */, - ABDAE91F1F50D722522C0B8F2080D1D6 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; D88EDEBF3855FDEF25FC2B2C9BC585A7 /* Build configuration list for PBXNativeTarget "Expecta" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/Example/Pods/Specta/LICENSE b/Example/Pods/Specta/LICENSE index d136f6a..ca257c0 100644 --- a/Example/Pods/Specta/LICENSE +++ b/Example/Pods/Specta/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2012-2013 Specta Team. +Copyright (c) 2012-2014 Specta Team. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Specta/README.md b/Example/Pods/Specta/README.md index 0c54ad8..d9b59e2 100644 --- a/Example/Pods/Specta/README.md +++ b/Example/Pods/Specta/README.md @@ -1,67 +1,34 @@ -# Specta +# Specta [![Build Status](https://travis-ci.org/specta/specta.svg)](https://travis-ci.org/specta/specta) [![Coverage Status](https://coveralls.io/repos/specta/specta/badge.svg)](https://coveralls.io/r/specta/specta) -A light-weight TDD / BDD framework for Objective-C & Cocoa. +A light-weight TDD / BDD framework for Objective-C. -### FEATURES +## FEATURES -* RSpec-like BDD DSL -* Super quick and easy to set up -* Runs on top of XCTest +* An Objective-C RSpec-like BDD DSL +* Quick and easy set up +* Built on top of XCTest * Excellent Xcode integration -### SCREENSHOT +## SCREENSHOT -![Specta Screenshot](http://github.com/petejkim/stuff/raw/master/images/specta-screenshot.png) + -### SETUP - -Use [CocoaPods](http://github.com/CocoaPods/CocoaPods) - -```ruby -target :MyApp do - # your app dependencies -end - -target :MyAppTests do - pod 'Specta', '~> 0.2.1' - # pod 'Expecta', '~> 0.2.3' # expecta matchers - # pod 'OCMock', '~> 2.2.1' # OCMock - # pod 'OCHamcrest', '~> 3.0.0' # hamcrest matchers - # pod 'OCMockito', '~> 1.0.0' # OCMock - # pod 'LRMocky', '~> 0.9.1' # LRMocky -end -``` - -or - -1. Clone from Github. -2. Run `rake` in project root to build. -3. Add a "Cocoa/Cocoa Touch Unit Testing Bundle" target if you don't already have one. -4. Copy and add all header files in `products` folder to the Test target in your Xcode project. -5. For **OS X projects**, copy and add `libSpecta-macosx.a` in `products` folder to the Test target in your Xcode project. - For **iOS projects**, copy and add `libSpecta-ios-universal.a` in `products` folder to the Test target in your Xcode project. -6. Add `-ObjC` and `-all_load` to the "Other Linker Flags" build setting for the Spec/Test target in your Xcode project. -7. Add the following to your test code. - -```objective-c -#import "Specta.h" -``` - -Standard XCTest matchers such as `XCTAssertEqualObjects` and `XCTAssertNil` work, but you probably want to add a nicer matcher framework - [Expecta](http://github.com/petejkim/expecta/) to your setup. Or if you really prefer, [OCHamcrest](https://github.com/jonreid/OCHamcrest) works fine too. Also, add a mocking framework: [OCMock](http://ocmock.org/). - -## WRITING SPECS +## EXAMPLE ```objective-c -#import "Specta.h" +#import // #import "Specta.h" if you're using libSpecta.a SharedExamplesBegin(MySharedExamples) // Global shared examples are shared across all spec files. -sharedExamplesFor(@"a shared behavior", ^(NSDictionary *data) { - it(@"should do some stuff", ^{ - id obj = data[@"key"]; - // ... - }); +sharedExamplesFor(@"foo", ^(NSDictionary *data) { + __block id bar = nil; + beforeEach(^{ + bar = data[@"bar"]; + }); + it(@"should not be nil", ^{ + XCTAssertNotNil(bar); + }); }); SharedExamplesEnd @@ -86,9 +53,11 @@ describe(@"Thing", ^{ // This is an example block. Place your assertions here. }); - it(@"should do some stuff asynchronously", ^AsyncBlock { - // Async example blocks need to invoke done() callback. - done(); + it(@"should do some stuff asynchronously", ^{ + waitUntil(^(DoneCallback done) { + // Async example blocks need to invoke done() callback. + done(); + }); }); itShouldBehaveLike(@"a shared behavior", @{@"key" : @"obj"}); @@ -129,18 +98,82 @@ SpecEnd * `it` is also aliased as `example` and `specify`. * `itShouldBehaveLike` is also aliased as `itBehavesLike`. * Use `pending` or prepend `x` to `describe`, `context`, `example`, `it`, and `specify` to mark examples or groups as pending. -* Use `^AsyncBlock` as shown in the example above to make examples wait for completion. `done()` callback needs to be invoked to let Specta know that your test is complete. The default timeout is 10.0 seconds but this can be changed by calling the function `setAsyncSpecTimeout(NSTimeInterval timeout)`. -* `(before|after)(Each/All)` also accept `^AsyncBlock`s. +* Use `^(DoneCallback done)` as shown in the example above to make examples wait for completion. `done()` callback needs to be invoked to let Specta know that your test is complete. The default timeout is 10.0 seconds but this can be changed by calling the function `setAsyncSpecTimeout(NSTimeInterval timeout)`. +* `(before|after)(Each/All)` also accept `^(DoneCallback done)`s. * Do `#define SPT_CEDAR_SYNTAX` before importing Specta if you prefer to write `SPEC_BEGIN` and `SPEC_END` instead of `SpecBegin` and `SpecEnd`. * Prepend `f` to your `describe`, `context`, `example`, `it`, and `specify` to set focus on examples or groups. When specs are focused, all unfocused specs are skipped. * To use original XCTest reporter, set an environment variable named `SPECTA_REPORTER_CLASS` to `SPTXCTestReporter` in your test scheme. +* Set an environment variable `SPECTA_SHUFFLE` with value `1` to enable test shuffling. +* Set an environment variable `SPECTA_SEED` to specify the random seed for test shuffling. + +Standard XCTest matchers such as `XCTAssertEqualObjects` and `XCTAssertNil` work, but you probably want to add a nicer matcher framework - [Expecta](https://github.com/specta/expecta/) to your setup. Or if you really prefer, [OCHamcrest](https://github.com/hamcrest/OCHamcrest) works fine too. Also, add a mocking framework: [OCMock](http://ocmock.org/). -### CONTRIBUTION GUIDELINES +## STATUS + +Specta is considered a done project, there are no plans for _active_ development on the project at the moment aside from ensuring future Xcode compatability. +Therefore it is a stable dependency, but will not be moving into the Swift world. If you are looking for that, we recommend you consider [Quick](https://github.com/quick/quick). + +## RUNNING SPECTA'S TESTS IN COMMAND LINE + +* Run `rake test` in the cloned folder. + +## CONTRIBUTION GUIDELINES * Please use only spaces and indent 2 spaces at a time. * Please prefix instance variable names with a single underscore (`_`). * Please prefix custom classes and functions defined in the global scope with `SPT`. +## Installation + +Use [CocoaPods](https://github.com/CocoaPods/CocoaPods), [Carthage](https://github.com/carthage/carthage) or [Set up manually](#setting-up-manually) + +### CocoaPods + +1. Add Specta to your project's `Podfile`: + +```ruby +target :MyApp do +# your app dependencies + + target :MyAppTests do + inherit! :search_paths + + pod 'Specta', '~> 1.0' + # pod 'Expecta', '~> 1.0' # expecta matchers + # pod 'OCMock', '~> 2.2' # OCMock + # pod 'OCHamcrest', '~> 3.0' # hamcrest matchers + # pod 'OCMockito', '~> 1.0' # OCMock + # pod 'LRMocky', '~> 0.9' # LRMocky + end +end +``` + +2. Run `pod install` in your project directory. + +### Carthage + +1. Add Specta to your project's `Cartfile.private` + + ``` + github "specta/specta" ~> 1.0 + ``` + +2. Run `carthage update` in your project directory +3. Drag the appropriate `Specta.framework` for your platform (located in Carthage/Build/) into your application’s Xcode project, and add it to your test target(s). +4. If you are building for iOS, a new `Run Script Phase` must be added to copy the framework. The instructions can be found on [Carthage's getting started instructions](https://github.com/carthage/carthage#getting-started) + +### SETTING UP MANUALLY + +1. Clone from Github. +2. Run `rake` in project root to build. +3. Add a "Cocoa/Cocoa Touch Unit Testing Bundle" target if you don't already have one. +4. Copy and add all header files in `Products` folder to the Test target in your Xcode project. +5. For **OS X projects**, copy and add `Specta.framework` in `Products/osx` folder to the test target in your Xcode project. + For **iOS projects**, copy and add `Specta.framework` in `Products/ios` folder to the test target in your Xcode project. + You can alternatively use `libSpecta.a`, if you prefer to add it as a static library for your project. (iOS 7 and below require this) +6. Add `-ObjC` and `-all_load` to the "Other Linker Flags" build setting for the test target in your Xcode project. +7. If you encounter linking issues with `_llvm_*` symbols, ensure your target's "Generate Test Coverage Files" and "Instrument Program Flow" build settings are set to `Yes`. + ## LICENSE -Copyright (c) 2012-2013 [Specta Team](https://github.com/specta?tab=members). This software is licensed under the [MIT License](http://github.com/petejkim/specta/raw/master/LICENSE). \ No newline at end of file +Copyright (c) 2012-2016 [Specta Team](https://github.com/orgs/specta/people). This software is licensed under the [MIT License](http://github.com/specta/specta/raw/master/LICENSE). diff --git a/Example/Pods/Specta/Specta/Specta/SPTCallSite.h b/Example/Pods/Specta/Specta/Specta/SPTCallSite.h new file mode 100644 index 0000000..adcd3b0 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTCallSite.h @@ -0,0 +1,12 @@ +#import + +@interface SPTCallSite : NSObject + +@property (nonatomic, copy, readonly) NSString *file; +@property (nonatomic, readonly) NSUInteger line; + ++ (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line; + +- (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line; + +@end diff --git a/Example/Pods/Specta/Specta/Specta/SPTCallSite.m b/Example/Pods/Specta/Specta/Specta/SPTCallSite.m new file mode 100644 index 0000000..585cecd --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTCallSite.m @@ -0,0 +1,18 @@ +#import "SPTCallSite.h" + +@implementation SPTCallSite + ++ (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line { + return [[self alloc] initWithFile:file line:line]; +} + +- (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line { + self = [super init]; + if (self) { + _file = file; + _line = line; + } + return self; +} + +@end diff --git a/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.h b/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.h new file mode 100644 index 0000000..adb3aaa --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.h @@ -0,0 +1,17 @@ +#import +#import "SpectaTypes.h" + +@interface SPTCompiledExample : NSObject + +@property (nonatomic, copy) NSString *name; +@property (nonatomic, copy) NSString *testCaseName; +@property (nonatomic, copy) SPTSpecBlock block; + +@property (nonatomic) BOOL pending; +@property (nonatomic, getter=isFocused) BOOL focused; + +@property (nonatomic) SEL testMethodSelector; + +- (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused; + +@end diff --git a/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.m b/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.m new file mode 100644 index 0000000..e762165 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.m @@ -0,0 +1,17 @@ +#import "SPTCompiledExample.h" + +@implementation SPTCompiledExample + +- (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused { + self = [super init]; + if (self) { + self.name = name; + self.testCaseName = testCaseName; + self.block = block; + self.pending = pending; + self.focused = focused; + } + return self; +} + +@end diff --git a/Example/Pods/Specta/Specta/Specta/SPTExample.h b/Example/Pods/Specta/Specta/Specta/SPTExample.h new file mode 100644 index 0000000..849aacb --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTExample.h @@ -0,0 +1,17 @@ +#import +#import "SpectaTypes.h" + +@class SPTCallSite; + +@interface SPTExample : NSObject + +@property (nonatomic, copy) NSString *name; +@property (nonatomic, retain) SPTCallSite *callSite; +@property (nonatomic, copy) SPTVoidBlock block; + +@property (nonatomic) BOOL pending; +@property (nonatomic, getter=isFocused) BOOL focused; + +- (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block; + +@end diff --git a/Example/Pods/Specta/src/SPTExample.m b/Example/Pods/Specta/Specta/Specta/SPTExample.m similarity index 52% rename from Example/Pods/Specta/src/SPTExample.m rename to Example/Pods/Specta/Specta/Specta/SPTExample.m index f2606ad..e5905a9 100644 --- a/Example/Pods/Specta/src/SPTExample.m +++ b/Example/Pods/Specta/Specta/Specta/SPTExample.m @@ -2,15 +2,16 @@ @implementation SPTExample -- (id)initWithName:(NSString *)name block:(id)block { +- (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block { self = [super init]; if (self) { self.name = name; + self.callSite = callSite; self.block = block; + self.focused = focused; self.pending = block == nil; } return self; } @end - diff --git a/Example/Pods/Specta/src/SPTExampleGroup.h b/Example/Pods/Specta/Specta/Specta/SPTExampleGroup.h similarity index 64% rename from Example/Pods/Specta/src/SPTExampleGroup.h rename to Example/Pods/Specta/Specta/Specta/SPTExampleGroup.h index c3539c5..dce3db6 100644 --- a/Example/Pods/Specta/src/SPTExampleGroup.h +++ b/Example/Pods/Specta/Specta/Specta/SPTExampleGroup.h @@ -2,15 +2,14 @@ #import #import "SpectaTypes.h" -@class - SPTExample -; +@class SPTExample; +@class SPTCallSite; @interface SPTExampleGroup : NSObject @property (nonatomic, copy) NSString *name; -@property (nonatomic, strong) SPTExampleGroup *root; -@property (nonatomic, strong) SPTExampleGroup *parent; +@property (nonatomic, weak) SPTExampleGroup *root; +@property (nonatomic, weak) SPTExampleGroup *parent; @property (nonatomic, strong) NSMutableArray *children; @property (nonatomic, strong) NSMutableArray *beforeAllArray; @property (nonatomic, strong) NSMutableArray *afterAllArray; @@ -19,22 +18,19 @@ @property (nonatomic, strong) NSMutableDictionary *sharedExamples; @property (nonatomic) unsigned int exampleCount; @property (nonatomic) unsigned int ranExampleCount; +@property (nonatomic) unsigned int pendingExampleCount; @property (nonatomic, getter=isFocused) BOOL focused; -+ (void)setAsyncSpecTimeout:(NSTimeInterval)timeout; - (id)initWithName:(NSString *)name parent:(SPTExampleGroup *)parent root:(SPTExampleGroup *)root; -- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name; -- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name focused:(BOOL)focused; - -- (SPTExample *)addExampleWithName:(NSString *)name block:(id)block; -- (SPTExample *)addExampleWithName:(NSString *)name block:(id)block focused:(BOOL)focused; +- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name focused:(BOOL)focused; +- (SPTExample *)addExampleWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block; - (void)addBeforeAllBlock:(SPTVoidBlock)block; - (void)addAfterAllBlock:(SPTVoidBlock)block; - (void)addBeforeEachBlock:(SPTVoidBlock)block; - (void)addAfterEachBlock:(SPTVoidBlock)block; -- (NSArray *)compileExamplesWithNameStack:(NSArray *)nameStack; +- (NSArray *)compileExamplesWithStack:(NSArray *)stack; @end diff --git a/Example/Pods/Specta/src/SPTExampleGroup.m b/Example/Pods/Specta/Specta/Specta/SPTExampleGroup.m similarity index 59% rename from Example/Pods/Specta/src/SPTExampleGroup.m rename to Example/Pods/Specta/Specta/Specta/SPTExampleGroup.m index a3a36d9..cf51800 100644 --- a/Example/Pods/Specta/src/SPTExampleGroup.m +++ b/Example/Pods/Specta/Specta/Specta/SPTExampleGroup.m @@ -1,8 +1,10 @@ #import "SPTExampleGroup.h" #import "SPTExample.h" -#import "SPTXCTestCase.h" +#import "SPTCompiledExample.h" #import "SPTSpec.h" #import "SpectaUtility.h" +#import "XCTest+Private.h" +#import "SPTGlobalBeforeAfterEach.h" #import #import @@ -17,7 +19,7 @@ for(int classIndex = 0; classIndex < numberOfClasses; classIndex++) { Class aClass = classes[classIndex]; - if (strcmp("UIAccessibilitySafeCategory__NSObject", class_getName(aClass))) { + if (class_conformsToProtocol(aClass, @protocol(SPTGlobalBeforeAfterEach))) { Method globalMethod = class_getClassMethod(aClass, classMethodSelector); if (globalMethod) { [classesWithClassMethod addObject:aClass]; @@ -31,64 +33,36 @@ return classesWithClassMethod; } -@interface NSObject (SpectaGlobalBeforeAfterEach) - -+ (void)beforeEach; -+ (void)afterEach; - -@end - -static NSTimeInterval asyncSpecTimeout = 10.0; -static const char *asyncBlockSignature = NULL; - -static void runExampleBlock(id block, NSString *name) { +static void runExampleBlock(void (^block)(), NSString *name) { if (!SPTIsBlock(block)) { return; } - const char *blockSignature = SPTGetBlockSignature(block); - - BOOL isAsyncBlock = strcmp(blockSignature, asyncBlockSignature) == 0; - - if (isAsyncBlock) { - __block uint32_t complete = 0; - ((SPTAsyncBlock)block)(^{ - OSAtomicOr32Barrier(1, &complete); - }); - NSTimeInterval timeout = asyncSpecTimeout; - NSDate *timeoutDate = [NSDate dateWithTimeIntervalSinceNow:timeout]; - while (!complete && [timeoutDate timeIntervalSinceNow] > 0) { - [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; - } - if (!complete) { - NSString *message = [NSString stringWithFormat:@"\"%@\" failed to invoke done() callback before timeout (%f seconds)", name, timeout]; - SPTXCTestCase *currentTestCase = SPTCurrentTestCase; - SPTSpec *spec = [[currentTestCase class] spt_spec]; - [currentTestCase recordFailureWithDescription:message inFile:spec.fileName atLine:spec.lineNumber expected:YES]; - } - } else { - ((SPTVoidBlock)block)(); - } + ((SPTVoidBlock)block)(); } -@interface SPTExampleGroup () +typedef NS_ENUM(NSInteger, SPTExampleGroupOrder) { + SPTExampleGroupOrderOutermostFirst = 1, + SPTExampleGroupOrderInnermostFirst +}; + +@interface SPTExampleGroup () - (void)incrementExampleCount; +- (void)incrementPendingExampleCount; - (void)resetRanExampleCountIfNeeded; - (void)incrementRanExampleCount; - (void)runBeforeHooks:(NSString *)compiledName; +- (void)runBeforeAllHooks:(NSString *)compiledName; +- (void)runBeforeEachHooks:(NSString *)compiledName; - (void)runAfterHooks:(NSString *)compiledName; +- (void)runAfterEachHooks:(NSString *)compiledName; +- (void)runAfterAllHooks:(NSString *)compiledName; @end @implementation SPTExampleGroup -+ (void)initialize { - if (asyncBlockSignature == NULL) { - asyncBlockSignature = SPTGetBlockSignature(^(void (^done)(void)) {}); - } -} - - (id)init { self = [super init]; if (self) { @@ -102,15 +76,12 @@ - (id)init { self.afterEachArray = [NSMutableArray array]; self.sharedExamples = [NSMutableDictionary dictionary]; self.exampleCount = 0; + self.pendingExampleCount = 0; self.ranExampleCount = 0; } return self; } -+ (void)setAsyncSpecTimeout:(NSTimeInterval)timeout { - asyncSpecTimeout = timeout; -} - - (id)initWithName:(NSString *)name parent:(SPTExampleGroup *)parent root:(SPTExampleGroup *)root { self = [self init]; if (self) { @@ -121,32 +92,23 @@ - (id)initWithName:(NSString *)name parent:(SPTExampleGroup *)parent root:(SPTEx return self; } -- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name { - return [self addExampleGroupWithName:name - focused:NO]; -} - - -- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name focused:(BOOL)focused { +- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name focused:(BOOL)focused { SPTExampleGroup *group = [[SPTExampleGroup alloc] initWithName:name parent:self root:self.root]; group.focused = focused; [self.children addObject:group]; return group; } -- (SPTExample *)addExampleWithName:(NSString *)name block:(id)block { - return [self addExampleWithName:name - block:block - focused:NO]; -} - -- (SPTExample *)addExampleWithName:(NSString *)name block:(id)block focused:(BOOL)focused { +- (SPTExample *)addExampleWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block { SPTExample *example; @synchronized(self) { - example = [[SPTExample alloc] initWithName:name block:block]; - example.focused = focused; + example = [[SPTExample alloc] initWithName:name callSite:callSite focused:focused block:block]; [self.children addObject:example]; + [self incrementExampleCount]; + if (example.pending) { + [self incrementPendingExampleCount]; + } } return example; } @@ -159,6 +121,14 @@ - (void)incrementExampleCount { } } +- (void)incrementPendingExampleCount { + SPTExampleGroup *group = self; + while (group != nil) { + group.pendingExampleCount ++; + group = group.parent; + } +} + - (void)resetRanExampleCountIfNeeded { SPTExampleGroup *group = self; while (group != nil) { @@ -221,51 +191,71 @@ - (void)runGlobalAfterEachHooks:(NSString *)compiledName { } } -- (void)runBeforeHooks:(NSString *)compiledName { +// Builds an array of example groups that enclose the current group. +// When in innermost-first order, the most deeply nested example groups, +// beginning with self, are placed at the beginning of the array. +// When in outermost-first order, the opposite is true, and the last +// group in the array (self) is the most deeply nested. +- (NSArray *)exampleGroupStackInOrder:(SPTExampleGroupOrder)order { NSMutableArray *groups = [NSMutableArray array]; SPTExampleGroup *group = self; while (group != nil) { - [groups insertObject:group atIndex:0]; + switch (order) { + case SPTExampleGroupOrderOutermostFirst: + [groups insertObject:group atIndex:0]; + break; + case SPTExampleGroupOrderInnermostFirst: + [groups addObject:group]; + break; + } group = group.parent; } - // run beforeAll hooks - for(group in groups) { + return [groups copy]; +} + +- (void)runBeforeHooks:(NSString *)compiledName { + [self runBeforeAllHooks:compiledName]; + [self runBeforeEachHooks:compiledName]; +} + +- (void)runBeforeAllHooks:(NSString *)compiledName { + for(SPTExampleGroup *group in [self exampleGroupStackInOrder:SPTExampleGroupOrderOutermostFirst]) { if (group.ranExampleCount == 0) { - for(id beforeAllBlock in group.beforeAllArray) { + for (id beforeAllBlock in group.beforeAllArray) { runExampleBlock(beforeAllBlock, [NSString stringWithFormat:@"%@ - before all block", compiledName]); } } } +} - // run beforeEach hooks +- (void)runBeforeEachHooks:(NSString *)compiledName { [self runGlobalBeforeEachHooks:compiledName]; - for(group in groups) { - for(id beforeEachBlock in group.beforeEachArray) { + for (SPTExampleGroup *group in [self exampleGroupStackInOrder:SPTExampleGroupOrderOutermostFirst]) { + for (id beforeEachBlock in group.beforeEachArray) { runExampleBlock(beforeEachBlock, [NSString stringWithFormat:@"%@ - before each block", compiledName]); } } } - (void)runAfterHooks:(NSString *)compiledName { - NSMutableArray *groups = [NSMutableArray array]; - SPTExampleGroup *group = self; - while (group != nil) { - [groups addObject:group]; - group = group.parent; - } - // run afterEach hooks - for(group in groups) { - for(id afterEachBlock in group.afterEachArray) { + [self runAfterEachHooks:compiledName]; + [self runAfterAllHooks:compiledName]; +} + +- (void)runAfterEachHooks:(NSString *)compiledName { + for (SPTExampleGroup *group in [self exampleGroupStackInOrder:SPTExampleGroupOrderInnermostFirst]) { + for (id afterEachBlock in group.afterEachArray) { runExampleBlock(afterEachBlock, [NSString stringWithFormat:@"%@ - after each block", compiledName]); } } [self runGlobalAfterEachHooks:compiledName]; +} - // run afterAll hooks - for(group in groups) { +- (void)runAfterAllHooks:(NSString *)compiledName { + for (SPTExampleGroup *group in [self exampleGroupStackInOrder:SPTExampleGroupOrderInnermostFirst]) { if (group.ranExampleCount == group.exampleCount) { - for(id afterAllBlock in group.afterAllArray) { + for (id afterAllBlock in group.afterAllArray) { runExampleBlock(afterAllBlock, [NSString stringWithFormat:@"%@ - after all block", compiledName]); } } @@ -285,21 +275,39 @@ - (BOOL)isFocusedOrHasFocusedAncestor { return NO; } -- (NSArray *)compileExamplesWithNameStack:(NSArray *)nameStack { +- (NSArray *)compileExamplesWithStack:(NSArray *)stack { BOOL groupIsFocusedOrHasFocusedAncestor = [self isFocusedOrHasFocusedAncestor]; NSArray *compiled = @[]; + for(id child in self.children) { if ([child isKindOfClass:[SPTExampleGroup class]]) { SPTExampleGroup *group = child; - NSArray *newNameStack = [nameStack arrayByAddingObject:group.name]; - compiled = [compiled arrayByAddingObjectsFromArray:[group compileExamplesWithNameStack:newNameStack]]; + NSArray *newStack = [stack arrayByAddingObject:group]; + compiled = [compiled arrayByAddingObjectsFromArray:[group compileExamplesWithStack:newStack]]; + } else if ([child isKindOfClass:[SPTExample class]]) { SPTExample *example = child; - NSArray *newNameStack = [nameStack arrayByAddingObject:example.name]; - NSString *compiledName = [newNameStack componentsJoinedByString:@" "]; + NSArray *newStack = [stack arrayByAddingObject:example]; - SPTVoidBlock compiledBlock = example.pending ? nil : ^{ + NSString *compiledName = [spt_map(newStack, ^id(id obj, NSUInteger idx) { + return [obj name]; + }) componentsJoinedByString:@" "]; + + NSString *testCaseName = [spt_map(newStack, ^id(id obj, NSUInteger idx) { + return spt_underscorize([obj name]); + }) componentsJoinedByString:@"__"]; + + // If example is pending, run only before- and after-all hooks. + // Otherwise, run the example and all before and after hooks. + SPTSpecBlock compiledBlock = example.pending ? ^(SPTSpec *spec){ + @synchronized(self.root) { + [self resetRanExampleCountIfNeeded]; + [self runBeforeAllHooks:compiledName]; + [self incrementRanExampleCount]; + [self runAfterAllHooks:compiledName]; + } + } : ^(SPTSpec *spec) { @synchronized(self.root) { [self resetRanExampleCountIfNeeded]; [self runBeforeHooks:compiledName]; @@ -307,6 +315,9 @@ - (NSArray *)compileExamplesWithNameStack:(NSArray *)nameStack { @try { runExampleBlock(example.block, compiledName); } + @catch(NSException *e) { + [spec spt_handleException:e]; + } @finally { @synchronized(self.root) { [self incrementRanExampleCount]; @@ -314,9 +325,7 @@ - (NSArray *)compileExamplesWithNameStack:(NSArray *)nameStack { } } }; - SPTExample *compiledExample = [[SPTExample alloc] initWithName:compiledName block:compiledBlock]; - compiledExample.pending = example.pending; - compiledExample.focused = (groupIsFocusedOrHasFocusedAncestor || example.focused); + SPTCompiledExample *compiledExample = [[SPTCompiledExample alloc] initWithName:compiledName testCaseName:testCaseName block:compiledBlock pending:example.pending focused:(groupIsFocusedOrHasFocusedAncestor || example.focused)]; compiled = [compiled arrayByAddingObject:compiledExample]; } } diff --git a/Example/Pods/Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h b/Example/Pods/Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h new file mode 100644 index 0000000..9581f0b --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h @@ -0,0 +1,10 @@ +/* + * Copyright (c) 2015 Specta Team. All rights reserved. + */ +#import + +// This protocol was used for blacklisting classes for global beforeEach and afterEach blocks. +// Now, instead, classes are whitelisted by implementing the SPTGlobalBeforeAfterEach protocol. +__deprecated_msg("Please whitelist classes instead with the SPTGlobalBeforeAfterEach protocol") +@protocol SPTExcludeGlobalBeforeAfterEach +@end diff --git a/Example/Pods/Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h b/Example/Pods/Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h new file mode 100644 index 0000000..490359d --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2015 Specta Team. All rights reserved. + */ +#import + +// This protocol is used for whitelisting classes for global beforeEach and afterEach blocks. +// If you want a class to participate in those just add this protocol to a category and it will be +// included. +@protocol SPTGlobalBeforeAfterEach + +@optional ++ (void)beforeEach; ++ (void)afterEach; + +@end diff --git a/Example/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.h b/Example/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.h new file mode 100644 index 0000000..090acba --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.h @@ -0,0 +1,17 @@ +#import +#import +#import + +@class _XCTestCaseImplementation; + +@class SPTExampleGroup; + +@interface SPTSharedExampleGroups : XCTestCase + ++ (void)addSharedExampleGroupWithName:(NSString *)name block:(SPTDictionaryBlock)block exampleGroup:(SPTExampleGroup *)exampleGroup; ++ (SPTDictionaryBlock)sharedExampleGroupWithName:(NSString *)name exampleGroup:(SPTExampleGroup *)exampleGroup; + +- (void)sharedExampleGroups; + +@end + diff --git a/Example/Pods/Specta/src/SPTSharedExampleGroups.m b/Example/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.m similarity index 71% rename from Example/Pods/Specta/src/SPTSharedExampleGroups.m rename to Example/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.m index bfbfd33..35b405c 100644 --- a/Example/Pods/Specta/src/SPTSharedExampleGroups.m +++ b/Example/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.m @@ -1,6 +1,6 @@ #import "SPTSharedExampleGroups.h" #import "SPTExampleGroup.h" -#import "SPTXCTestCase.h" +#import "SPTSpec.h" #import "SpectaUtility.h" #import @@ -28,7 +28,7 @@ + (void)initialize { klass = classes[i]; superClass = class_getSuperclass(klass); if (superClass == SPTSharedExampleGroupsClass) { - [klass defineSharedExampleGroups]; + [[[klass alloc] init] sharedExampleGroups]; } } @@ -53,10 +53,22 @@ + (SPTDictionaryBlock)sharedExampleGroupWithName:(NSString *)name exampleGroup:( return globalSharedExampleGroups[name]; } -+ (void)defineSharedExampleGroups {} +- (void)sharedExampleGroups {} -+ (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected { - [SPTCurrentTestCase recordFailureWithDescription:description inFile:filename atLine:lineNumber expected:expected]; +- (void)spt_handleException:(NSException *)exception { + [SPTCurrentSpec spt_handleException:exception]; +} + +- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected { + [SPTCurrentSpec recordFailureWithDescription:description inFile:filename atLine:lineNumber expected:expected]; +} + +- (void)_recordUnexpectedFailureWithDescription:(NSString *)description exception:(NSException *)exception { + [SPTCurrentSpec _recordUnexpectedFailureWithDescription:description exception:exception]; +} + +- (_XCTestCaseImplementation *)internalImplementation { + return [SPTCurrentSpec internalImplementation]; } @end diff --git a/Example/Pods/Specta/Specta/Specta/SPTSpec.h b/Example/Pods/Specta/Specta/Specta/SPTSpec.h new file mode 100644 index 0000000..ada4ea2 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTSpec.h @@ -0,0 +1,28 @@ +#import +#import + +@class + SPTTestSuite +, SPTCompiledExample +; + +@interface SPTSpec : XCTestCase + +@property (strong) XCTestCaseRun *spt_run; +@property (nonatomic) BOOL spt_pending; +@property (nonatomic) BOOL spt_skipped; + ++ (BOOL)spt_isDisabled; ++ (void)spt_setDisabled:(BOOL)disabled; ++ (BOOL)spt_focusedExamplesExist; ++ (SEL)spt_convertToTestMethod:(SPTCompiledExample *)example; ++ (SPTTestSuite *)spt_testSuite; ++ (void)spt_setCurrentTestSuite; ++ (void)spt_unsetCurrentTestSuite; ++ (void)spt_setCurrentTestSuiteFileName:(NSString *)fileName lineNumber:(NSUInteger)lineNumber; + +- (void)spec; +- (BOOL)spt_shouldRunExample:(SPTCompiledExample *)example; +- (void)spt_runExample:(SPTCompiledExample *)example; + +@end diff --git a/Example/Pods/Specta/Specta/Specta/SPTSpec.m b/Example/Pods/Specta/Specta/Specta/SPTSpec.m new file mode 100644 index 0000000..bda0d3f --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SPTSpec.m @@ -0,0 +1,211 @@ +#import "SPTSpec.h" +#import "SPTTestSuite.h" +#import "SPTCompiledExample.h" +#import "SPTSharedExampleGroups.h" +#import "SpectaUtility.h" +#import +#import "XCTest+Private.h" + +@implementation SPTSpec + ++ (void)initialize { + [SPTSharedExampleGroups initialize]; + SPTTestSuite *testSuite = [[SPTTestSuite alloc] init]; + SPTSpec *spec = [[[self class] alloc] init]; + NSString *specName = NSStringFromClass([self class]); + objc_setAssociatedObject(self, "spt_testSuite", testSuite, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + [self spt_setCurrentTestSuite]; + @try { + [spec spec]; + } + @catch (NSException *exception) { + fprintf(stderr, "%s: An exception has occurred outside of tests, aborting.\n\n%s (%s) \n", [specName UTF8String], [[exception name] UTF8String], [[exception reason] UTF8String]); + if ([exception respondsToSelector:@selector(callStackSymbols)]) { + NSArray *callStackSymbols = [exception callStackSymbols]; + if (callStackSymbols) { + NSString *callStack = [NSString stringWithFormat:@"\n Call Stack:\n %@\n", [callStackSymbols componentsJoinedByString:@"\n "]]; + fprintf(stderr, "%s", [callStack UTF8String]); + } + } + exit(1); + } + @finally { + [self spt_unsetCurrentTestSuite]; + } + [testSuite compile]; + [[self class] testInvocations]; + [super initialize]; +} + ++ (SPTTestSuite *)spt_testSuite { + return objc_getAssociatedObject(self, "spt_testSuite"); +} + ++ (BOOL)spt_isDisabled { + return [self spt_testSuite].disabled; +} + ++ (void)spt_setDisabled:(BOOL)disabled { + [self spt_testSuite].disabled = disabled; +} + ++ (NSArray *)spt_allSpecClasses { + static NSArray *allSpecClasses = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + + NSMutableArray *specClasses = [[NSMutableArray alloc] init]; + + int numberOfClasses = objc_getClassList(NULL, 0); + if (numberOfClasses > 0) { + Class *classes = (Class *)malloc(sizeof(Class) * numberOfClasses); + numberOfClasses = objc_getClassList(classes, numberOfClasses); + + for (int classIndex = 0; classIndex < numberOfClasses; classIndex++) { + Class aClass = classes[classIndex]; + if (spt_isSpecClass(aClass)) { + [specClasses addObject:aClass]; + } + } + + free(classes); + } + + allSpecClasses = [specClasses copy]; + }); + + return allSpecClasses; +} + ++ (BOOL)spt_focusedExamplesExist { + for (Class specClass in [self spt_allSpecClasses]) { + SPTTestSuite *testSuite = [specClass spt_testSuite]; + if (testSuite.disabled == NO && [testSuite hasFocusedExamples]) { + return YES; + } + } + + return NO; +} + ++ (SEL)spt_convertToTestMethod:(SPTCompiledExample *)example { + @synchronized(example) { + if (!example.testMethodSelector) { + IMP imp = imp_implementationWithBlock(^(SPTSpec *self) { + [self spt_runExample:example]; + }); + + SEL sel; + unsigned int i = 0; + + do { + i++; + if (i == 1) { + sel = NSSelectorFromString([NSString stringWithFormat:@"test_%@", example.testCaseName]); + } else { + sel = NSSelectorFromString([NSString stringWithFormat:@"test_%@_%u", example.testCaseName, i]); + } + } while([self instancesRespondToSelector:sel]); + + class_addMethod(self, sel, imp, "@@:"); + example.testMethodSelector = sel; + } + } + + return example.testMethodSelector; +} + ++ (void)spt_setCurrentTestSuite { + SPTTestSuite *testSuite = [self spt_testSuite]; + [[NSThread currentThread] threadDictionary][spt_kCurrentTestSuiteKey] = testSuite; +} + ++ (void)spt_unsetCurrentTestSuite { + [[[NSThread currentThread] threadDictionary] removeObjectForKey:spt_kCurrentTestSuiteKey]; +} + ++ (void)spt_setCurrentTestSuiteFileName:(NSString *)fileName lineNumber:(NSUInteger)lineNumber { + SPTTestSuite *testSuite = [self spt_testSuite]; + testSuite.fileName = fileName; + testSuite.lineNumber = lineNumber; +} + +- (void)spec {} + +- (BOOL)spt_shouldRunExample:(SPTCompiledExample *)example { + return [[self class] spt_isDisabled] == NO && + (example.focused || [[self class] spt_focusedExamplesExist] == NO); +} + +- (void)spt_runExample:(SPTCompiledExample *)example { + [[NSThread currentThread] threadDictionary][spt_kCurrentSpecKey] = self; + + if ([self spt_shouldRunExample:example]) { + self.spt_pending = example.pending; + example.block(self); + } else if (!example.pending) { + self.spt_skipped = YES; + NSLog(@"Skipping '%@'", example.name); + } + + [[[NSThread currentThread] threadDictionary] removeObjectForKey:spt_kCurrentSpecKey]; +} + +#pragma mark - XCTestCase overrides + ++ (NSArray *)testInvocations { + NSArray *compiledExamples = [self spt_testSuite].compiledExamples; + [NSMutableArray arrayWithCapacity:[compiledExamples count]]; + + NSMutableSet *addedSelectors = [NSMutableSet setWithCapacity:[compiledExamples count]]; + NSMutableArray *selectors = [NSMutableArray arrayWithCapacity:[compiledExamples count]]; + + // dynamically generate test methods with compiled examples + for (SPTCompiledExample *example in compiledExamples) { + SEL sel = [self spt_convertToTestMethod:example]; + NSString *selName = NSStringFromSelector(sel); + [selectors addObject: selName]; + [addedSelectors addObject: selName]; + } + + // look for any other test methods that may be present in class. + unsigned int n; + Method *imethods = class_copyMethodList(self, &n); + + for (NSUInteger i = 0; i < n; i++) { + struct objc_method_description *desc = method_getDescription(imethods[i]); + + char *types = desc->types; + SEL sel = desc->name; + NSString *selName = NSStringFromSelector(sel); + + if (strcmp(types, "@@:") == 0 && [selName hasPrefix:@"test"] && ![addedSelectors containsObject:selName]) { + [selectors addObject:NSStringFromSelector(sel)]; + } + } + + free(imethods); + + // create invocations from test method selectors + NSMutableArray *invocations = [NSMutableArray arrayWithCapacity:[selectors count]]; + for (NSString *selName in selectors) { + SEL sel = NSSelectorFromString(selName); + NSInvocation *inv = [NSInvocation invocationWithMethodSignature:[self instanceMethodSignatureForSelector:sel]]; + [inv setSelector:sel]; + [invocations addObject:inv]; + } + + return spt_shuffle(invocations); +} + +- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected { + SPTSpec *currentSpec = SPTCurrentSpec; + [currentSpec.spt_run recordFailureWithDescription:description inFile:filename atLine:lineNumber expected:expected]; +} + +- (void)performTest:(XCTestRun *)run { + self.spt_run = (XCTestCaseRun *)run; + [super performTest:run]; +} + +@end diff --git a/Example/Pods/Specta/src/SPTSpec.h b/Example/Pods/Specta/Specta/Specta/SPTTestSuite.h similarity index 84% rename from Example/Pods/Specta/src/SPTSpec.h rename to Example/Pods/Specta/Specta/Specta/SPTTestSuite.h index 5a3f8e9..9bd9016 100644 --- a/Example/Pods/Specta/src/SPTSpec.h +++ b/Example/Pods/Specta/Specta/Specta/SPTTestSuite.h @@ -5,12 +5,12 @@ , SPTExampleGroup ; -@interface SPTSpec : NSObject +@interface SPTTestSuite : NSObject @property (nonatomic, strong) SPTExampleGroup *rootGroup; @property (nonatomic, strong) NSMutableArray *groupStack; @property (nonatomic, strong) NSArray *compiledExamples; -@property (nonatomic, strong) NSString *fileName; +@property (nonatomic, copy) NSString *fileName; @property (nonatomic) NSUInteger lineNumber; @property (nonatomic, getter = isDisabled) BOOL disabled; @property (nonatomic) BOOL hasFocusedExamples; diff --git a/Example/Pods/Specta/src/SPTSpec.m b/Example/Pods/Specta/Specta/Specta/SPTTestSuite.m similarity index 67% rename from Example/Pods/Specta/src/SPTSpec.m rename to Example/Pods/Specta/Specta/Specta/SPTTestSuite.m index fb6507e..7053edd 100644 --- a/Example/Pods/Specta/src/SPTSpec.m +++ b/Example/Pods/Specta/Specta/Specta/SPTTestSuite.m @@ -1,8 +1,8 @@ -#import "SPTSpec.h" +#import "SPTTestSuite.h" #import "SPTExampleGroup.h" -#import "SPTExample.h" +#import "SPTCompiledExample.h" -@implementation SPTSpec +@implementation SPTTestSuite - (id)init { self = [super init]; @@ -19,8 +19,8 @@ - (SPTExampleGroup *)currentGroup { } - (void)compile { - self.compiledExamples = [self.rootGroup compileExamplesWithNameStack:@[]]; - for (SPTExample *example in self.compiledExamples) { + self.compiledExamples = [self.rootGroup compileExamplesWithStack:@[]]; + for (SPTCompiledExample *example in self.compiledExamples) { if (example.focused) { self.hasFocusedExamples = YES; break; diff --git a/Example/Pods/Specta/Specta/Specta/Specta.h b/Example/Pods/Specta/Specta/Specta/Specta.h new file mode 100644 index 0000000..dda17f9 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/Specta.h @@ -0,0 +1,14 @@ +#import +#import + +//! Project version number for Specta. +FOUNDATION_EXPORT double SpectaVersionNumber; + +//! Project version string for Specta. +FOUNDATION_EXPORT const unsigned char SpectaVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +#import +#import +#import diff --git a/Example/Pods/Specta/Specta/Specta/SpectaDSL.h b/Example/Pods/Specta/Specta/Specta/SpectaDSL.h new file mode 100644 index 0000000..3505862 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SpectaDSL.h @@ -0,0 +1,90 @@ +#import + +#define SpecBegin(name) _SPTSpecBegin(name, __FILE__, __LINE__) +#define SpecEnd _SPTSpecEnd + +#define SharedExamplesBegin(name) _SPTSharedExampleGroupsBegin(name) +#define SharedExamplesEnd _SPTSharedExampleGroupsEnd +#define SharedExampleGroupsBegin(name) _SPTSharedExampleGroupsBegin(name) +#define SharedExampleGroupsEnd _SPTSharedExampleGroupsEnd + +typedef void (^DoneCallback)(void); + +OBJC_EXTERN void describe(NSString *name, void (^block)()); +OBJC_EXTERN void fdescribe(NSString *name, void (^block)()); + +OBJC_EXTERN void context(NSString *name, void (^block)()); +OBJC_EXTERN void fcontext(NSString *name, void (^block)()); + +OBJC_EXTERN void it(NSString *name, void (^block)()); +OBJC_EXTERN void fit(NSString *name, void (^block)()); + +OBJC_EXTERN void example(NSString *name, void (^block)()); +OBJC_EXTERN void fexample(NSString *name, void (^block)()); + +OBJC_EXTERN void specify(NSString *name, void (^block)()); +OBJC_EXTERN void fspecify(NSString *name, void (^block)()); + +#define pending(...) spt_pending_(__VA_ARGS__, nil) +#define xdescribe(...) spt_pending_(__VA_ARGS__, nil) +#define xcontext(...) spt_pending_(__VA_ARGS__, nil) +#define xexample(...) spt_pending_(__VA_ARGS__, nil) +#define xit(...) spt_pending_(__VA_ARGS__, nil) +#define xspecify(...) spt_pending_(__VA_ARGS__, nil) + +OBJC_EXTERN void beforeAll(void (^block)()); +OBJC_EXTERN void afterAll(void (^block)()); + +OBJC_EXTERN void beforeEach(void (^block)()); +OBJC_EXTERN void afterEach(void (^block)()); + +OBJC_EXTERN void before(void (^block)()); +OBJC_EXTERN void after(void (^block)()); + +OBJC_EXTERN void sharedExamplesFor(NSString *name, void (^block)(NSDictionary *data)); +OBJC_EXTERN void sharedExamples(NSString *name, void (^block)(NSDictionary *data)); + +#define itShouldBehaveLike(...) spt_itShouldBehaveLike_(@(__FILE__), __LINE__, __VA_ARGS__) +#define itBehavesLike(...) spt_itShouldBehaveLike_(@(__FILE__), __LINE__, __VA_ARGS__) + +OBJC_EXTERN void waitUntil(void (^block)(DoneCallback done)); +/** + * Runs the @c block and waits until the @c done block is called or the + * @c timeout has passed. + * + * @param timeout timeout for this @c block only; does not affect the global + * timeout, as @c setAsyncSpecTimeout() does. + * @param block runs test code + */ +OBJC_EXTERN void waitUntilTimeout(NSTimeInterval timeout, void (^block)(DoneCallback done)); + +OBJC_EXTERN void setAsyncSpecTimeout(NSTimeInterval timeout); + +// ---------------------------------------------------------------------------- + +#define _SPTSpecBegin(name, file, line) \ +@interface name##Spec : SPTSpec \ +@end \ +@implementation name##Spec \ +- (void)spec { \ + [[self class] spt_setCurrentTestSuiteFileName:(@(file)) lineNumber:(line)]; + +#define _SPTSpecEnd \ +} \ +@end + +#define _SPTSharedExampleGroupsBegin(name) \ +@interface name##SharedExampleGroups : SPTSharedExampleGroups \ +@end \ +@implementation name##SharedExampleGroups \ +- (void)sharedExampleGroups { + +#define _SPTSharedExampleGroupsEnd \ +} \ +@end + +OBJC_EXTERN void spt_it_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)()); +OBJC_EXTERN void spt_fit_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)()); +OBJC_EXTERN void spt_pending_(NSString *name, ...); +OBJC_EXTERN void spt_itShouldBehaveLike_(NSString *fileName, NSUInteger lineNumber, NSString *name, id dictionaryOrBlock); +OBJC_EXTERN void spt_itShouldBehaveLike_block(NSString *fileName, NSUInteger lineNumber, NSString *name, NSDictionary *(^block)()); diff --git a/Example/Pods/Specta/Specta/Specta/SpectaDSL.m b/Example/Pods/Specta/Specta/Specta/SpectaDSL.m new file mode 100644 index 0000000..10edcd5 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SpectaDSL.m @@ -0,0 +1,189 @@ +#import "SpectaDSL.h" +#import "SpectaTypes.h" +#import "SpectaUtility.h" +#import "SPTTestSuite.h" +#import "SPTExampleGroup.h" +#import "SPTSharedExampleGroups.h" +#import "SPTSpec.h" +#import "SPTCallSite.h" +#import + +static NSTimeInterval asyncSpecTimeout = 10.0; + +static void spt_defineItBlock(NSString *name, NSString *fileName, NSUInteger lineNumber, BOOL focused, void (^block)()) { + SPTReturnUnlessBlockOrNil(block); + SPTCallSite *site = nil; + if (lineNumber && fileName) { + site = [SPTCallSite callSiteWithFile:fileName line:lineNumber]; + } + [SPTCurrentGroup addExampleWithName:name callSite:site focused:focused block:block]; +} + +static void spt_defineDescribeBlock(NSString *name, BOOL focused, void (^block)()) { + if (block) { + [SPTGroupStack addObject:[SPTCurrentGroup addExampleGroupWithName:name focused:focused]]; + block(); + [SPTGroupStack removeLastObject]; + } else { + spt_defineItBlock(name, nil, 0, focused, nil); + } +} + +void spt_it_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)()) { + spt_defineItBlock(name, fileName, lineNumber, NO, block); +} + +void spt_fit_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)()) { + spt_defineItBlock(name, fileName, lineNumber, YES, block); +} + +void spt_pending_(NSString *name, ...) { + spt_defineItBlock(name, nil, 0, NO, nil); +} + +void spt_itShouldBehaveLike_(NSString *fileName, NSUInteger lineNumber, NSString *name, id dictionaryOrBlock) { + SPTDictionaryBlock block = [SPTSharedExampleGroups sharedExampleGroupWithName:name exampleGroup:SPTCurrentGroup]; + if (block) { + if (SPTIsBlock(dictionaryOrBlock)) { + id (^dataBlock)(void) = [dictionaryOrBlock copy]; + + describe(name, ^{ + __block NSMutableDictionary *dataDict = [[NSMutableDictionary alloc] init]; + + beforeEach(^{ + NSDictionary *blockData = dataBlock(); + [dataDict removeAllObjects]; + [dataDict addEntriesFromDictionary:blockData]; + }); + + block(dataDict); + + afterAll(^{ + dataDict = nil; + }); + }); + } else { + NSDictionary *data = dictionaryOrBlock; + + describe(name, ^{ + block(data); + }); + } + } else { + SPTSpec *currentSpec = SPTCurrentSpec; + if (currentSpec) { + [currentSpec recordFailureWithDescription:@"itShouldBehaveLike should not be invoked inside an example block!" inFile:fileName atLine:lineNumber expected:NO]; + } else { + it(name, ^{ + [SPTCurrentSpec recordFailureWithDescription:[NSString stringWithFormat:@"Shared example group \"%@\" does not exist.", name] inFile:fileName atLine:lineNumber expected:NO]; + }); + } + } +} + +void spt_itShouldBehaveLike_block(NSString *fileName, NSUInteger lineNumber, NSString *name, NSDictionary *(^block)()) { + spt_itShouldBehaveLike_(fileName, lineNumber, name, (id)block); +} + +void describe(NSString *name, void (^block)()) { + spt_defineDescribeBlock(name, NO, block); +} + +void fdescribe(NSString *name, void (^block)()) { + spt_defineDescribeBlock(name, YES, block); +} + +void context(NSString *name, void (^block)()) { + describe(name, block); +} + +void fcontext(NSString *name, void (^block)()) { + fdescribe(name, block); +} + +void it(NSString *name, void (^block)()) { + spt_defineItBlock(name, nil, 0, NO, block); +} + +void fit(NSString *name, void (^block)()) { + spt_defineItBlock(name, nil, 0, YES, block); +} + +void example(NSString *name, void (^block)()) { + it(name, block); +} + +void fexample(NSString *name, void (^block)()) { + fit(name, block); +} + +void specify(NSString *name, void (^block)()) { + it(name, block); +} + +void fspecify(NSString *name, void (^block)()) { + fit(name, block); +} + +void beforeAll(void (^block)()) { + SPTReturnUnlessBlockOrNil(block); + [SPTCurrentGroup addBeforeAllBlock:block]; +} + +void afterAll(void (^block)()) { + SPTReturnUnlessBlockOrNil(block); + [SPTCurrentGroup addAfterAllBlock:block]; +} + +void beforeEach(void (^block)()) { + SPTReturnUnlessBlockOrNil(block); + [SPTCurrentGroup addBeforeEachBlock:block]; +} + +void afterEach(void (^block)()) { + SPTReturnUnlessBlockOrNil(block); + [SPTCurrentGroup addAfterEachBlock:block]; +} + +void before(void (^block)()) { + beforeEach(block); +} + +void after(void (^block)()) { + afterEach(block); +} + +void sharedExamplesFor(NSString *name, void (^block)(NSDictionary *data)) { + [SPTSharedExampleGroups addSharedExampleGroupWithName:name block:block exampleGroup:SPTCurrentGroup]; +} + +void sharedExamples(NSString *name, void (^block)(NSDictionary *data)) { + sharedExamplesFor(name, block); +} + +void waitUntil(void (^block)(DoneCallback done)) { + waitUntilTimeout(asyncSpecTimeout, block); +} + +void waitUntilTimeout(NSTimeInterval timeout, void (^block)(DoneCallback done)) { + __block uint32_t complete = 0; + dispatch_async(dispatch_get_main_queue(), ^{ + block(^{ + OSAtomicOr32Barrier(1, &complete); + }); + }); + NSDate *timeoutDate = [NSDate dateWithTimeIntervalSinceNow:timeout]; + while (!complete && [timeoutDate timeIntervalSinceNow] > 0) { + [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; + } + if (!complete) { + NSString *message = [NSString stringWithFormat:@"failed to invoke done() callback before timeout (%f seconds)", timeout]; + SPTSpec *currentSpec = SPTCurrentSpec; + SPTTestSuite *testSuite = [[currentSpec class] spt_testSuite]; + [currentSpec recordFailureWithDescription:message inFile:testSuite.fileName atLine:testSuite.lineNumber expected:YES]; + } +} + +void setAsyncSpecTimeout(NSTimeInterval timeout) { + asyncSpecTimeout = timeout; +} diff --git a/Example/Pods/Specta/src/SpectaTypes.h b/Example/Pods/Specta/Specta/Specta/SpectaTypes.h similarity index 60% rename from Example/Pods/Specta/src/SpectaTypes.h rename to Example/Pods/Specta/Specta/Specta/SpectaTypes.h index 24eb4c3..f1f0ae3 100644 --- a/Example/Pods/Specta/src/SpectaTypes.h +++ b/Example/Pods/Specta/Specta/Specta/SpectaTypes.h @@ -1,3 +1,5 @@ +@class SPTSpec; + typedef void (^SPTVoidBlock)(); -typedef void (^SPTAsyncBlock)(void (^)()); +typedef void (^SPTSpecBlock)(SPTSpec *spec); typedef void (^SPTDictionaryBlock)(NSDictionary *dictionary); diff --git a/Example/Pods/Specta/Specta/Specta/SpectaUtility.h b/Example/Pods/Specta/Specta/Specta/SpectaUtility.h new file mode 100644 index 0000000..a3a8f07 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SpectaUtility.h @@ -0,0 +1,18 @@ +#import + +extern NSString * const spt_kCurrentTestSuiteKey; +extern NSString * const spt_kCurrentSpecKey; + +#define SPTCurrentTestSuite [[NSThread mainThread] threadDictionary][spt_kCurrentTestSuiteKey] +#define SPTCurrentSpec [[NSThread mainThread] threadDictionary][spt_kCurrentSpecKey] +#define SPTCurrentGroup [SPTCurrentTestSuite currentGroup] +#define SPTGroupStack [SPTCurrentTestSuite groupStack] + +#define SPTReturnUnlessBlockOrNil(block) if ((block) && !SPTIsBlock((block))) return; +#define SPTIsBlock(obj) [(obj) isKindOfClass:NSClassFromString(@"NSBlock")] + +BOOL spt_isSpecClass(Class aClass); +NSString *spt_underscorize(NSString *string); +NSArray *spt_map(NSArray *array, id (^block)(id obj, NSUInteger idx)); +NSArray *spt_shuffle(NSArray *array); +unsigned int spt_seed(); diff --git a/Example/Pods/Specta/Specta/Specta/SpectaUtility.m b/Example/Pods/Specta/Specta/Specta/SpectaUtility.m new file mode 100644 index 0000000..9b2ee80 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/SpectaUtility.m @@ -0,0 +1,79 @@ +#import "SpectaUtility.h" +#import "SPTSpec.h" +#import + +NSString * const spt_kCurrentTestSuiteKey = @"SPTCurrentTestSuite"; +NSString * const spt_kCurrentSpecKey = @"SPTCurrentSpec"; + +static unsigned int seed = 0; + +BOOL spt_isSpecClass(Class aClass) { + Class superclass = class_getSuperclass(aClass); + while (superclass != Nil) { + if (superclass == [SPTSpec class]) { + return YES; + } else { + superclass = class_getSuperclass(superclass); + } + } + return NO; +} + +NSString *spt_underscorize(NSString *string) { + static NSMutableCharacterSet *invalidCharSet; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + invalidCharSet = [[NSMutableCharacterSet alloc] init]; + [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet controlCharacterSet]]; + [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet illegalCharacterSet]]; + [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet newlineCharacterSet]]; + [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet nonBaseCharacterSet]]; + [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]]; + [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet symbolCharacterSet]]; + }); + NSString *stripped = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + stripped = [[stripped componentsSeparatedByCharactersInSet:invalidCharSet] componentsJoinedByString:@""]; + + NSArray *components = [stripped componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; + stripped = [[components objectsAtIndexes:[components indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { + return ![obj isEqualToString:@""]; + }]] componentsJoinedByString:@"_"]; + return stripped; +} + +NSArray *spt_map(NSArray *array, id (^block)(id obj, NSUInteger idx)) { + NSMutableArray *mapped = [NSMutableArray arrayWithCapacity:[array count]]; + [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + [mapped addObject:block(obj, idx)]; + }]; + return mapped; +} + +NSArray *spt_shuffle(NSArray *array) { + if (![[[[NSProcessInfo processInfo] environment] objectForKey:@"SPECTA_SHUFFLE"] isEqualToString:@"1"]) { + return array; + } + spt_seed(); + NSMutableArray *shuffled = [array mutableCopy]; + NSUInteger count = [shuffled count]; + for (NSUInteger i = 0; i < count; i++) { + NSUInteger r = random() % count; + [shuffled exchangeObjectAtIndex:i withObjectAtIndex:r]; + } + return shuffled; +} + +unsigned int spt_seed() { + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + NSString *envSeed = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPECTA_SEED"]; + if (envSeed) { + sscanf([envSeed UTF8String], "%u", &seed); + } else { + seed = arc4random(); + } + srandom(seed); + printf("Test Seed: %u\n", seed); + }); + return seed; +} diff --git a/Example/Pods/Specta/Specta/Specta/XCTest+Private.h b/Example/Pods/Specta/Specta/Specta/XCTest+Private.h new file mode 100644 index 0000000..c88fcc9 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/XCTest+Private.h @@ -0,0 +1,41 @@ +#import + +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 || __MAC_OS_X_VERSION_MAX_ALLOWED >= 101100 + +@interface XCTestObservationCenter (SPTTestSuspention) + +- (void)_suspendObservationForBlock:(void (^)(void))block; + +@end + +#else + +@interface XCTestObservationCenter : NSObject + ++ (id)sharedObservationCenter; +- (void)_suspendObservationForBlock:(void (^)(void))block; + +@end + +@protocol XCTestObservation +@end + + +#endif + +@interface _XCTestDriverTestObserver : NSObject + +- (void)stopObserving; +- (void)startObserving; + +@end + +@interface _XCTestCaseImplementation : NSObject +@end + +@interface XCTestCase () + +- (_XCTestCaseImplementation *)internalImplementation; +- (void)_recordUnexpectedFailureWithDescription:(NSString *)description exception:(NSException *)exception; + +@end diff --git a/Example/Pods/Specta/Specta/Specta/XCTestCase+Specta.h b/Example/Pods/Specta/Specta/Specta/XCTestCase+Specta.h new file mode 100644 index 0000000..9ca8f8a --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/XCTestCase+Specta.h @@ -0,0 +1,7 @@ +#import + +@interface XCTestCase (Specta) + +- (void)spt_handleException:(NSException *)exception; + +@end diff --git a/Example/Pods/Specta/Specta/Specta/XCTestCase+Specta.m b/Example/Pods/Specta/Specta/Specta/XCTestCase+Specta.m new file mode 100644 index 0000000..ff801a1 --- /dev/null +++ b/Example/Pods/Specta/Specta/Specta/XCTestCase+Specta.m @@ -0,0 +1,68 @@ +#import +#import "XCTestCase+Specta.h" +#import "SPTSpec.h" +#import "SPTExample.h" +#import "SPTSharedExampleGroups.h" +#import "SpectaUtility.h" +#import "XCTest+Private.h" + +@interface XCTestCase (xct_allSubclasses) + +- (NSArray *)allSubclasses; +- (void)_dequeueFailures; + +@end + +@implementation XCTestCase (Specta) + ++ (void)load { + Method allSubclasses = class_getClassMethod(self, @selector(allSubclasses)); + Method allSubclasses_swizzle = class_getClassMethod(self , @selector(spt_allSubclasses_swizzle)); + method_exchangeImplementations(allSubclasses, allSubclasses_swizzle); + + Method dequeueFailures = class_getInstanceMethod(self, @selector(_dequeueFailures)); + Method dequeueFailures_swizzle = class_getInstanceMethod(self, @selector(spt_dequeueFailures)); + method_exchangeImplementations(dequeueFailures, dequeueFailures_swizzle); +} + ++ (NSArray *)spt_allSubclasses_swizzle { + NSArray *subclasses = [self spt_allSubclasses_swizzle]; // call original + NSMutableArray *filtered = [NSMutableArray arrayWithCapacity:[subclasses count]]; + // exclude SPTSpec base class and all subclasses of SPTSharedExampleGroups + for (id subclass in subclasses) { + if (subclass != [SPTSpec class] && ![subclass isKindOfClass:[SPTSharedExampleGroups class]]) { + [filtered addObject:subclass]; + } + } + return spt_shuffle(filtered); +} + +- (void)spt_dequeueFailures { + void(^dequeueFailures)() = ^() { + [self spt_dequeueFailures]; + }; + + BOOL isMainThread = [NSThread isMainThread]; + BOOL isSpectaTest = [self isKindOfClass:[SPTSpec class]]; + + if (!isSpectaTest || isMainThread) { + dequeueFailures(); + } else { + dispatch_sync(dispatch_get_main_queue(), dequeueFailures); + } +} + +- (void)spt_handleException:(NSException *)exception { + NSString *description = [exception reason]; + if ([exception userInfo]) { + id line = [exception userInfo][@"line"]; + id file = [exception userInfo][@"file"]; + if ([line isKindOfClass:[NSNumber class]] && [file isKindOfClass:[NSString class]]) { + [self recordFailureWithDescription:description inFile:file atLine:[line unsignedIntegerValue] expected:YES]; + return; + } + } + [self _recordUnexpectedFailureWithDescription:description exception:exception]; +} + +@end diff --git a/Example/Pods/Specta/src/SPTExample.h b/Example/Pods/Specta/src/SPTExample.h deleted file mode 100644 index 1173803..0000000 --- a/Example/Pods/Specta/src/SPTExample.h +++ /dev/null @@ -1,14 +0,0 @@ -#import -#import "SpectaTypes.h" - -@interface SPTExample : NSObject - -@property (nonatomic, copy) NSString *name; -@property (nonatomic, copy) id block; -@property (nonatomic) BOOL pending; -@property (nonatomic, getter = isFocused) BOOL focused; - -- (id)initWithName:(NSString *)name block:(id)block; - -@end - diff --git a/Example/Pods/Specta/src/SPTNestedReporter.h b/Example/Pods/Specta/src/SPTNestedReporter.h deleted file mode 100644 index 565c246..0000000 --- a/Example/Pods/Specta/src/SPTNestedReporter.h +++ /dev/null @@ -1,5 +0,0 @@ -#import "SPTReporter.h" - -@interface SPTNestedReporter : SPTReporter - -@end diff --git a/Example/Pods/Specta/src/SPTNestedReporter.m b/Example/Pods/Specta/src/SPTNestedReporter.m deleted file mode 100644 index c12ef27..0000000 --- a/Example/Pods/Specta/src/SPTNestedReporter.m +++ /dev/null @@ -1,194 +0,0 @@ -#import "SPTNestedReporter.h" -#import "XCTestRun+Specta.h" - -@interface SPTNestedReporter () - -@property (readwrite, assign, nonatomic) NSInteger nestingLevel; -@property (readwrite, assign, nonatomic) BOOL indentationEnabled; - -@end - -@implementation SPTNestedReporter - -#pragma mark - Printing - -- (NSString *)indentation { - // XCode does not strip whitespace from the beginning of lines that report an error. Indentation should only enabled for non-error text. - - if (self.indentationEnabled) { - return [@"" stringByPaddingToLength:(self.nestingLevel * 2) - withString:@" " - startingAtIndex:0]; - } else { - return @""; - } -} - -- (void)withIndentationEnabled:(void(^)(void))block { - [self withIndentationEnabled:YES block:block]; -} - -- (void)withIndentationEnabled:(BOOL)indentationEnabled block:(void(^)(void))block { - BOOL originalValue = self.indentationEnabled; - - self.indentationEnabled = indentationEnabled; - @try { - block(); - } @finally { - self.indentationEnabled = originalValue; - } -} - -- (void)printIndentation { - [self printString:self.indentation]; -} - -- (void)printTestSuiteHeader:(XCTestRun *)testRun { - [self printIndentation]; - [self printLineWithFormat:@"= %@", testRun.test.name]; -} - -- (void)printTestSuiteFooter:(XCTestRun *)testRun { - [self printIndentation]; - [self printLine]; - - if (self.nestingLevel == 0) { - [self printConciseSummaryOfTestRun:testRun]; - } -} - -- (void)printConciseSummaryOfTestRun:(XCTestRun *)testRun { - NSUInteger numberOfTests = testRun.testCaseCount; - NSUInteger numberOfFailures = testRun.totalFailureCount; - NSUInteger numberOfExceptions = testRun.unexpectedExceptionCount; - NSUInteger numberOfSkippedTests = testRun.spt_skippedTestCaseCount; - NSUInteger numberOfPendingTests = testRun.spt_pendingTestCaseCount; - - NSString * runInfo = [[self class] conciseRunInfoWithNumberOfTests:numberOfTests - numberOfSkippedTests:numberOfSkippedTests - numberOfFailures:numberOfFailures - numberOfExceptions:numberOfExceptions - numberOfPendingTests:numberOfPendingTests]; - - [self printIndentation]; - [self printLine:runInfo]; -} - -- (void)printTestCaseHeader:(XCTestRun *)testRun { - [self printIndentation]; - [self printLineWithFormat:@"%@", testRun.test.name]; -} - -- (void)printTestCaseFooter:(XCTestRun *)testRun { - [self printIndentation]; - [self printLine]; -} - -+ (NSString *)pluralizeString:(NSString *)singularString - pluralString:(NSString *)pluralString - count:(NSInteger)count { - return (count == 1 || count == -1) ? singularString : pluralString; -} - -+ (NSString *)conciseRunInfoWithNumberOfTests:(NSUInteger)numberOfTests - numberOfSkippedTests:(NSUInteger)numberOfSkippedTests - numberOfFailures:(NSUInteger)numberOfFailures - numberOfExceptions:(NSUInteger)numberOfExceptions - numberOfPendingTests:(NSUInteger)numberOfPendingTests { - NSString * testLabel = [[self class] pluralizeString:@"test" - pluralString:@"tests" - count:numberOfTests]; - - NSString * failureLabel = [[self class] pluralizeString:@"failure" - pluralString:@"failures" - count:numberOfFailures]; - - NSString * exceptionLabel = [[self class] pluralizeString:@"exception" - pluralString:@"exceptions" - count:numberOfExceptions]; - - return [NSString stringWithFormat:@"%lu %@; %lu skipped; %lu %@; %lu %@; %lu pending", - (unsigned long)numberOfTests, - testLabel, - (unsigned long)numberOfSkippedTests, - (unsigned long)numberOfFailures, - failureLabel, - (unsigned long)numberOfExceptions, - exceptionLabel, - (unsigned long)numberOfPendingTests]; -} - -#pragma mark - XCTestObserver - -- (void)startObserving { - [super startObserving]; - - self.nestingLevel = 0; -} - -- (void)testSuiteDidStart:(XCTestRun *)testRun { - [self withIndentationEnabled:^{ - - [self printTestSuiteHeader:testRun]; - self.nestingLevel ++; - - [super testSuiteDidStart:testRun]; - [self printLine]; - - }]; -} - -- (void)testSuiteDidStop:(XCTestRun *)testRun { - [self withIndentationEnabled:^{ - - [super testSuiteDidStop:testRun]; - - self.nestingLevel --; - [self printTestSuiteFooter:testRun]; - - }]; -} - -- (void)testCaseDidStart:(XCTestRun *)testRun { - [self withIndentationEnabled:^{ - - [self printTestCaseHeader:testRun]; - self.nestingLevel ++; - - [super testCaseDidStart:testRun]; - - }]; -} - -- (void)testCaseDidStop:(XCTestRun *)testRun { - [self withIndentationEnabled:^{ - - [super testCaseDidStop:testRun]; - - self.nestingLevel --; - [self printTestCaseFooter:testRun]; - - }]; -} - -- (void)testLogWithFormat:(NSString *)format arguments:(va_list)arguments { - NSString * indentation = self.indentation; - - NSMutableString * indentedFormat = [[NSMutableString alloc] initWithString:format]; - [indentedFormat insertString:indentation atIndex:0]; - - NSRange replacementRange = NSMakeRange(0, [indentedFormat length]); - if ([indentedFormat hasSuffix:@"\n"]) { - replacementRange.length -= [@"\n" length]; - } - - [indentedFormat replaceOccurrencesOfString:@"\n" - withString:[@"\n" stringByAppendingString:indentation] - options:0 - range:replacementRange]; - - [super testLogWithFormat:indentedFormat - arguments:arguments]; -} - -@end diff --git a/Example/Pods/Specta/src/SPTReporter.h b/Example/Pods/Specta/src/SPTReporter.h deleted file mode 100644 index ed34cac..0000000 --- a/Example/Pods/Specta/src/SPTReporter.h +++ /dev/null @@ -1,33 +0,0 @@ -#import - -@interface SPTReporter : XCTestLog - -/* - * Returns a singleton reporter used to generate Specta's test output. - * The type of reporter can be customized by subclassing and setting the - * SPECTA_REPORTER_CLASS environment variable. - * - * Subclasses may override methods from XCTestObserver to change test output. - * Initialization shuld be performed in the -startObserving / -stopObserving methods, - * and MUST invoke the super class implementation. - */ -+ (instancetype)sharedReporter; - -#pragma mark - Run Stack - -@property (nonatomic, strong, readonly) NSArray *runStack; -@property (nonatomic, assign, readonly) NSUInteger runStackCount; - -@property (nonatomic, assign, readonly) NSInteger numberOfTestCases; -@property (nonatomic, assign, readonly) NSInteger numberOfCompletedTestCases; - -#pragma mark - Printing - -- (void)printString:(NSString *)string; -- (void)printStringWithFormat:(NSString *)formatString, ... NS_FORMAT_FUNCTION(1,2); - -- (void)printLine; -- (void)printLine:(NSString *)line; -- (void)printLineWithFormat:(NSString *)formatString, ... NS_FORMAT_FUNCTION(1,2); - -@end diff --git a/Example/Pods/Specta/src/SPTReporter.m b/Example/Pods/Specta/src/SPTReporter.m deleted file mode 100644 index 570665a..0000000 --- a/Example/Pods/Specta/src/SPTReporter.m +++ /dev/null @@ -1,134 +0,0 @@ -#import "SPTReporter.h" -#import "SPTNestedReporter.h" -#import "XCTestLog+Specta.h" - -@interface SPTReporter () - -@property (nonatomic, strong, readwrite) NSArray *runStack; -@property (nonatomic, assign, readwrite) NSInteger numberOfCompletedTestCases; - -@end - -@implementation SPTReporter - -+ (instancetype)sharedReporter { - static SPTReporter * sharedReporter; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedReporter = [self loadSharedReporter]; - }); - - return sharedReporter; -} - -+ (SPTReporter *)loadSharedReporter { - NSString * customReporterClassName = [[NSProcessInfo processInfo] environment][@"SPECTA_REPORTER_CLASS"]; - if (customReporterClassName != nil) { - Class customReporterClass = NSClassFromString(customReporterClassName); - if (customReporterClass != nil) { - return [[customReporterClass alloc] init]; - } - } - - return [[SPTNestedReporter alloc] init]; -} - -#pragma mark - Run Stack - -- (NSUInteger)runStackCount { - return self.runStack.count; -} - -- (void)pushRunStack:(XCTestRun *)run { - [(NSMutableArray *)self.runStack addObject:run]; -} - -- (void)popRunStack:(XCTestRun *)run { - NSAssert(run != nil, @"Attempt to pop nil test run"); - - NSAssert([self.runStack lastObject] == run, - @"Attempt to pop test run (%@) out of order: %@", - run, - self.runStack); - - [(NSMutableArray *)self.runStack removeLastObject]; -} - -- (NSInteger)numberOfTestCases { - XCTestRun * rootRun = self.runStack.firstObject; - if (rootRun) { - return rootRun.testCaseCount; - } else { - return 0; - } -} - -#pragma mark - Printing - -- (void)printString:(NSString *)string { - [[self logFileHandle] writeData:[string dataUsingEncoding:NSUTF8StringEncoding]]; -} - -- (void)printStringWithFormat:(NSString *)formatString, ... { - va_list args; - va_start(args, formatString); - NSString * formattedString = [[NSString alloc] initWithFormat:formatString arguments:args]; - va_end(args); - - [self printString:formattedString]; -} - -- (void)printLine { - [self printString:@"\n"]; -} - -- (void)printLine:(NSString *)line { - [self printStringWithFormat:@"%@\n", line]; -} - -- (void)printLineWithFormat:(NSString *)formatString, ... { - va_list args; - va_start(args, formatString); - NSString * formattedString = [[NSString alloc] initWithFormat:formatString arguments:args]; - va_end(args); - - [self printLine:formattedString]; -} - -#pragma mark - XCTestObserver - -- (void)startObserving { - [super startObserving]; - - self.runStack = [[NSMutableArray alloc] init]; -} - -- (void)stopObserving { - [super stopObserving]; - - self.runStack = nil; -} - -- (void)testSuiteDidStart:(XCTestRun *)testRun { - [super testSuiteDidStart:testRun]; - [self pushRunStack:testRun]; -} - -- (void)testSuiteDidStop:(XCTestRun *)testRun { - [super testSuiteDidStop:testRun]; - [self popRunStack:testRun]; -} - -- (void)testCaseDidStart:(XCTestRun *)testRun { - [super testCaseDidStart:testRun]; - [self pushRunStack:testRun]; -} - -- (void)testCaseDidStop:(XCTestRun *)testRun { - [super testCaseDidStop:testRun]; - [self popRunStack:testRun]; - - self.numberOfCompletedTestCases++; -} - -@end \ No newline at end of file diff --git a/Example/Pods/Specta/src/SPTSharedExampleGroups.h b/Example/Pods/Specta/src/SPTSharedExampleGroups.h deleted file mode 100644 index fdd5439..0000000 --- a/Example/Pods/Specta/src/SPTSharedExampleGroups.h +++ /dev/null @@ -1,17 +0,0 @@ -#import -#import "SpectaTypes.h" - -@class - SPTExampleGroup -; - -@interface SPTSharedExampleGroups : NSObject - -+ (void)addSharedExampleGroupWithName:(NSString *)name block:(SPTDictionaryBlock)block exampleGroup:(SPTExampleGroup *)exampleGroup; -+ (SPTDictionaryBlock)sharedExampleGroupWithName:(NSString *)name exampleGroup:(SPTExampleGroup *)exampleGroup; -+ (void)defineSharedExampleGroups; - -+ (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected; - -@end - diff --git a/Example/Pods/Specta/src/SPTXCTestCase.h b/Example/Pods/Specta/src/SPTXCTestCase.h deleted file mode 100644 index 16d6a6e..0000000 --- a/Example/Pods/Specta/src/SPTXCTestCase.h +++ /dev/null @@ -1,27 +0,0 @@ -#import -#import "XCTestCase+Specta.h" - -@class - SPTSpec -, SPTExample -; - -@interface SPTXCTestCase : XCTestCase - -@property (nonatomic, strong) NSInvocation *spt_invocation; -@property (nonatomic, strong) XCTestCaseRun *spt_run; -@property (nonatomic, assign) BOOL spt_skipped; -@property (nonatomic, assign, readonly, getter = spt_isPending) BOOL spt_pending; - -+ (BOOL)spt_isDisabled; -+ (void)spt_setDisabled:(BOOL)disabled; -+ (BOOL)spt_focusedExamplesExist; - -+ (SPTSpec *)spt_spec; -- (void)spt_setCurrentSpecWithFileName:(const char *)fileName lineNumber:(NSUInteger)lineNumber; -- (void)spt_defineSpec; -- (void)spt_unsetCurrentSpec; -- (void)spt_runExampleAtIndex:(NSUInteger)index; -- (SPTExample *)spt_getCurrentExample; - -@end diff --git a/Example/Pods/Specta/src/SPTXCTestCase.m b/Example/Pods/Specta/src/SPTXCTestCase.m deleted file mode 100644 index 172fcf1..0000000 --- a/Example/Pods/Specta/src/SPTXCTestCase.m +++ /dev/null @@ -1,151 +0,0 @@ -#import "SPTXCTestCase.h" -#import "SPTSpec.h" -#import "SPTExample.h" -#import "SPTSharedExampleGroups.h" -#import "SpectaUtility.h" -#import - -@implementation SPTXCTestCase - -+ (void)initialize { - [SPTSharedExampleGroups initialize]; - SPTSpec *spec = [[SPTSpec alloc] init]; - SPTXCTestCase *testCase = [[[self class] alloc] init]; - objc_setAssociatedObject(self, "spt_spec", spec, OBJC_ASSOCIATION_RETAIN_NONATOMIC); - [testCase spt_defineSpec]; - [spec compile]; - [super initialize]; -} - -+ (SPTSpec *)spt_spec { - return objc_getAssociatedObject(self, "spt_spec"); -} - -+ (BOOL)spt_isDisabled { - return [self spt_spec].disabled; -} - -+ (void)spt_setDisabled:(BOOL)disabled { - [self spt_spec].disabled = disabled; -} - -- (BOOL)spt_isPending { - SPTExample *example = [self spt_getCurrentExample]; - return example == nil || example.pending; -} - -+ (NSArray *)spt_allSpecClasses { - static NSArray *allSpecClasses = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - - NSMutableArray *specClasses = [[NSMutableArray alloc] init]; - - int numberOfClasses = objc_getClassList(NULL, 0); - if (numberOfClasses > 0) { - Class *classes = (Class *)malloc(sizeof(Class) * numberOfClasses); - numberOfClasses = objc_getClassList(classes, numberOfClasses); - - for (int classIndex = 0; classIndex < numberOfClasses; classIndex++) { - Class aClass = classes[classIndex]; - if (SPTIsSpecClass(aClass)) { - [specClasses addObject:aClass]; - } - } - - free(classes); - } - - allSpecClasses = [specClasses copy]; - }); - - return allSpecClasses; -} - -+ (BOOL)spt_focusedExamplesExist { - for (Class specClass in [self spt_allSpecClasses]) { - SPTSpec *spec = [specClass spt_spec]; - if (spec.disabled == NO && [spec hasFocusedExamples]) { - return YES; - } - } - - return NO; -} - -- (void)spt_setCurrentSpecWithFileName:(const char *)fileName lineNumber:(NSUInteger)lineNumber { - SPTSpec *spec = [[self class] spt_spec]; - spec.fileName = @(fileName); - spec.lineNumber = lineNumber; - [[NSThread currentThread] threadDictionary][SPTCurrentSpecKey] = spec; -} - -- (void)spt_defineSpec {} - -- (void)spt_unsetCurrentSpec { - [[[NSThread currentThread] threadDictionary] removeObjectForKey:SPTCurrentSpecKey]; -} - -- (void)spt_runExampleAtIndex:(NSUInteger)index { - [[NSThread currentThread] threadDictionary][SPTCurrentTestCaseKey] = self; - SPTExample *compiledExample = ([[self class] spt_spec].compiledExamples)[index]; - if (!compiledExample.pending) { - if ([[self class] spt_isDisabled] == NO && - (compiledExample.focused || [[self class] spt_focusedExamplesExist] == NO)) { - ((SPTVoidBlock)compiledExample.block)(); - } else { - self.spt_skipped = YES; - } - } - - [[[NSThread currentThread] threadDictionary] removeObjectForKey:SPTCurrentTestCaseKey]; -} - -- (SPTExample *)spt_getCurrentExample { - if (!self.spt_invocation) { - return nil; - } - NSUInteger i; - [self.spt_invocation getArgument:&i atIndex:2]; - return ([[self class] spt_spec].compiledExamples)[i]; -} - -#pragma mark - XCTestCase overrides - -+ (NSArray *)testInvocations { - NSMutableArray *invocations = [NSMutableArray array]; - for(NSUInteger i = 0; i < [[self spt_spec].compiledExamples count]; i ++) { - NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self instanceMethodSignatureForSelector:@selector(spt_runExampleAtIndex:)]]; - NSUInteger j = i; - [invocation setSelector:@selector(spt_runExampleAtIndex:)]; - [invocation setArgument:&j atIndex:2]; - [invocations addObject:invocation]; - } - return invocations; -} - -- (void)setInvocation:(NSInvocation *)invocation { - self.spt_invocation = invocation; - [super setInvocation:invocation]; -} - -- (NSString *)name { - NSString *specName = NSStringFromClass([self class]); - SPTExample *compiledExample = [self spt_getCurrentExample]; - NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"]; - NSString *exampleName = [[compiledExample.name componentsSeparatedByCharactersInSet:[charSet invertedSet]] componentsJoinedByString:@"_"]; - return [NSString stringWithFormat:@"-[%@ %@]", specName, exampleName]; -} - -- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected { - SPTXCTestCase *currentTestCase = SPTCurrentTestCase; - [currentTestCase.spt_run recordFailureInTest:currentTestCase withDescription:description inFile:filename atLine:lineNumber expected:expected]; -} - -- (void)performTest:(XCTestRun *)run { - self.spt_run = (XCTestCaseRun *)run; - [super performTest:run]; - self.spt_run = nil; -} - -@end diff --git a/Example/Pods/Specta/src/SPTXCTestReporter.h b/Example/Pods/Specta/src/SPTXCTestReporter.h deleted file mode 100644 index 516a667..0000000 --- a/Example/Pods/Specta/src/SPTXCTestReporter.h +++ /dev/null @@ -1,9 +0,0 @@ -#import "SPTReporter.h" - -/** - * Reporter that produces output identical to XCode's default output. Useful when integrating with 3rd-party tools that - * may not like SPTNestedReporter's indented output. - */ -@interface SPTXCTestReporter : SPTReporter - -@end diff --git a/Example/Pods/Specta/src/SPTXCTestReporter.m b/Example/Pods/Specta/src/SPTXCTestReporter.m deleted file mode 100644 index 12bb616..0000000 --- a/Example/Pods/Specta/src/SPTXCTestReporter.m +++ /dev/null @@ -1,11 +0,0 @@ -#import "SPTXCTestReporter.h" - -@implementation SPTXCTestReporter - -/* - * Intentionally left blank. - * This class is included for future-compatibility just in case we need to - * weak reporter output for users who want test output idential to XCTestLog. - */ - -@end diff --git a/Example/Pods/Specta/src/Specta.h b/Example/Pods/Specta/src/Specta.h deleted file mode 100644 index e2a5271..0000000 --- a/Example/Pods/Specta/src/Specta.h +++ /dev/null @@ -1,70 +0,0 @@ -#import -#import -#import "SpectaSupport.h" -#import "SPTXCTestCase.h" -#import "SPTSpec.h" -#import "SPTExampleGroup.h" -#import "SPTSharedExampleGroups.h" - -@interface Specta : NSObject -@end - -#define SpecBegin(name) _SPTSpecBegin(name, __FILE__, __LINE__) -#define SpecEnd _SPTSpecEnd - -#define SharedExamplesBegin(name) _SPTSharedExampleGroupsBegin(name) -#define SharedExamplesEnd _SPTSharedExampleGroupsEnd -#define SharedExampleGroupsBegin(name) _SPTSharedExampleGroupsBegin(name) -#define SharedExampleGroupsEnd _SPTSharedExampleGroupsEnd - -#ifdef SPT_CEDAR_SYNTAX -# define SPEC_BEGIN(name) SpecBegin(name) -# define SPEC_END SpecEnd -# define SHARED_EXAMPLE_GROUPS_BEGIN(name) SharedExamplesBegin(name) -# define SHARED_EXAMPLE_GROUPS_END SharedExamplesEnd -# ifndef PENDING -# define PENDING nil -# endif -#endif - -void SPTdescribe(NSString *name, BOOL focused, void (^block)()); -void describe(NSString *name, void (^block)()); -void fdescribe(NSString *name, void (^block)()); -void context(NSString *name, void (^block)()); -void fcontext(NSString *name, void (^block)()); - -void SPTexample(NSString *name, BOOL focused, id block); -void example(NSString *name, id block); -void fexample(NSString *name, id block); -void it(NSString *name, id block); -void fit(NSString *name, id block); -void specify(NSString *name, id block); -void fspecify(NSString *name, id block); - - -void SPTpending(NSString *name, ...); -#define xdescribe(...) SPTpending(__VA_ARGS__, nil) -#define xcontext(...) SPTpending(__VA_ARGS__, nil) -#define xexample(...) SPTpending(__VA_ARGS__, nil) -#define xit(...) SPTpending(__VA_ARGS__, nil) -#define xspecify(...) SPTpending(__VA_ARGS__, nil) -#define pending(...) SPTpending(__VA_ARGS__, nil) - -void beforeAll(id block); -void afterAll(id block); -void beforeEach(id block); -void afterEach(id block); -void before(id block); -void after(id block); - -void sharedExamplesFor(NSString *name, void (^block)(NSDictionary *data)); -void sharedExamples(NSString *name, void (^block)(NSDictionary *data)); - -void SPTitShouldBehaveLike(const char *fileName, NSUInteger lineNumber, NSString *name, id dictionaryOrBlock); -void itShouldBehaveLike(NSString *name, id dictionaryOrBlockOrNil); // aid code completion -void itBehavesLike(NSString *name, id dictionaryOrBlockOrNil); -#define itShouldBehaveLike(...) SPTitShouldBehaveLike(__FILE__, __LINE__, __VA_ARGS__) -#define itBehavesLike(...) SPTitShouldBehaveLike(__FILE__, __LINE__, __VA_ARGS__) - -void setAsyncSpecTimeout(NSTimeInterval timeout); -#define AsyncBlock (void (^done)(void)) diff --git a/Example/Pods/Specta/src/Specta.m b/Example/Pods/Specta/src/Specta.m deleted file mode 100644 index a2ed5c9..0000000 --- a/Example/Pods/Specta/src/Specta.m +++ /dev/null @@ -1,144 +0,0 @@ -#import "Specta.h" -#import "SpectaTypes.h" -#import "SpectaUtility.h" - -@implementation Specta -@end - -void SPTdescribe(NSString *name, BOOL focused, void (^block)()) { - if (block) { - [SPTGroupStack addObject:[SPTCurrentGroup addExampleGroupWithName:name focused:focused]]; - block(); - [SPTGroupStack removeLastObject]; - } else { - SPTexample(name, focused, nil); - } -} - -void describe(NSString *name, void (^block)()) { - SPTdescribe(name, NO, block); -} - -void fdescribe(NSString *name, void (^block)()) { - SPTdescribe(name, YES, block); -} - -void context(NSString *name, void (^block)()) { - SPTdescribe(name, NO, block); -} -void fcontext(NSString *name, void (^block)()) { - SPTdescribe(name, YES, block); -} - -void SPTexample(NSString *name, BOOL focused, id block) { - SPTReturnUnlessBlockOrNil(block); - [SPTCurrentGroup addExampleWithName:name block:block focused:focused]; -} - -void example(NSString *name, id block) { - SPTexample(name, NO, block); -} - -void fexample(NSString *name, id block) { - SPTexample(name, YES, block); -} - -void it(NSString *name, id block) { - SPTexample(name, NO, block); -} - -void fit(NSString *name, id block) { - SPTexample(name, YES, block); -} - -void specify(NSString *name, id block) { - SPTexample(name, NO, block); -} - -void fspecify(NSString *name, id block) { - SPTexample(name, YES, block); -} - -void SPTpending(NSString *name, ...) { - SPTexample(name, NO, nil); -} - -void beforeAll(id block) { - SPTReturnUnlessBlockOrNil(block); - [SPTCurrentGroup addBeforeAllBlock:block]; -} - -void afterAll(id block) { - SPTReturnUnlessBlockOrNil(block); - [SPTCurrentGroup addAfterAllBlock:block]; -} - -void beforeEach(id block) { - SPTReturnUnlessBlockOrNil(block); - [SPTCurrentGroup addBeforeEachBlock:block]; -} - -void afterEach(id block) { - SPTReturnUnlessBlockOrNil(block); - [SPTCurrentGroup addAfterEachBlock:block]; -} - -void before(id block) { - beforeEach(block); -} - -void after(id block) { - afterEach(block); -} - -void sharedExamplesFor(NSString *name, void (^block)(NSDictionary *data)) { - [SPTSharedExampleGroups addSharedExampleGroupWithName:name block:block exampleGroup:SPTCurrentGroup]; -} - -void sharedExamples(NSString *name, void (^block)(NSDictionary *data)) { - sharedExamplesFor(name, block); -} - -void SPTitShouldBehaveLike(const char *fileName, NSUInteger lineNumber, NSString *name, id dictionaryOrBlock) { - SPTDictionaryBlock block = [SPTSharedExampleGroups sharedExampleGroupWithName:name exampleGroup:SPTCurrentGroup]; - if (block) { - if (SPTIsBlock(dictionaryOrBlock)) { - id (^dataBlock)(void) = [dictionaryOrBlock copy]; - - describe(name, ^{ - __block NSMutableDictionary *dataDict = [[NSMutableDictionary alloc] init]; - - beforeEach(^{ - NSDictionary *blockData = dataBlock(); - [dataDict removeAllObjects]; - [dataDict addEntriesFromDictionary:blockData]; - }); - - block(dataDict); - - afterAll(^{ - dataDict = nil; - }); - }); - } else { - NSDictionary *data = dictionaryOrBlock; - - describe(name, ^{ - block(data); - }); - } - } else { - SPTXCTestCase *currentTestCase = SPTCurrentTestCase; - if (currentTestCase) { - [currentTestCase recordFailureWithDescription:@"itShouldBehaveLike should not be invoked inside an example block!" inFile:@(fileName) atLine:lineNumber expected:NO]; - } else { - it(name, ^{ - [currentTestCase recordFailureWithDescription:[NSString stringWithFormat:@"Shared example group \"%@\" does not exist.", name] inFile:@(fileName) atLine:lineNumber expected:NO]; - }); - } - } -} - -void setAsyncSpecTimeout(NSTimeInterval timeout) { - [SPTExampleGroup setAsyncSpecTimeout:timeout]; -} \ No newline at end of file diff --git a/Example/Pods/Specta/src/SpectaSupport.h b/Example/Pods/Specta/src/SpectaSupport.h deleted file mode 100644 index 5b55732..0000000 --- a/Example/Pods/Specta/src/SpectaSupport.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef SPT_SUBCLASS -#define SPT_SUBCLASS SPTXCTestCase -#endif - - - -#define _SPTSpecBegin(name, file, line) \ -@interface name##Spec : SPT_SUBCLASS \ -@end \ -@implementation name##Spec \ -- (void)spt_defineSpec { \ - const char *specFileName = file; \ - @try { \ - [self spt_setCurrentSpecWithFileName:(file) lineNumber:(line)]; - -#define _SPTSpecEnd \ - [self spt_unsetCurrentSpec]; \ - } @catch(NSException *exception) { \ - fprintf(stderr, "%s: An exception has occured outside of tests, aborting.\n\n%s (%s) \n", specFileName, [[exception name] UTF8String], [[exception reason] UTF8String]); \ - if ([exception respondsToSelector:@selector(callStackSymbols)]) { \ - NSArray *callStackSymbols = [exception callStackSymbols]; \ - if (callStackSymbols) { \ - NSString *callStack = [NSString stringWithFormat:@"\n Call Stack:\n %@\n", [callStackSymbols componentsJoinedByString:@"\n "]]; \ - fprintf(stderr, "%s", [callStack UTF8String]); \ - } \ - } \ - exit(1); \ - } \ -} \ -@end - -#define _SPTSharedExampleGroupsBegin(name) \ -@interface name##SharedExampleGroups : SPTSharedExampleGroups \ -@end \ -@implementation name##SharedExampleGroups \ -+ (void)defineSharedExampleGroups { - -#define _SPTSharedExampleGroupsEnd \ -} \ -@end - -#undef _XCTRegisterFailure -#define _XCTRegisterFailure(condition, format...) \ -({ \ -_XCTFailureHandler((id)self, YES, __FILE__, __LINE__, condition, @"" format); \ -}) \ No newline at end of file diff --git a/Example/Pods/Specta/src/SpectaUtility.h b/Example/Pods/Specta/src/SpectaUtility.h deleted file mode 100644 index f34c1d5..0000000 --- a/Example/Pods/Specta/src/SpectaUtility.h +++ /dev/null @@ -1,14 +0,0 @@ -#import -extern NSString * const SPTCurrentSpecKey; -extern NSString * const SPTCurrentTestCaseKey; - -#define SPTCurrentSpec [[NSThread currentThread] threadDictionary][SPTCurrentSpecKey] -#define SPTCurrentTestCase [[NSThread currentThread] threadDictionary][SPTCurrentTestCaseKey] -#define SPTCurrentGroup [SPTCurrentSpec currentGroup] -#define SPTGroupStack [SPTCurrentSpec groupStack] - -#define SPTReturnUnlessBlockOrNil(block) if ((block) && !SPTIsBlock((block))) return; -#define SPTIsBlock(obj) [(obj) isKindOfClass:NSClassFromString(@"NSBlock")] - -const char *SPTGetBlockSignature(id blockObject); -BOOL SPTIsSpecClass(Class aClass); \ No newline at end of file diff --git a/Example/Pods/Specta/src/SpectaUtility.m b/Example/Pods/Specta/src/SpectaUtility.m deleted file mode 100644 index 221e223..0000000 --- a/Example/Pods/Specta/src/SpectaUtility.m +++ /dev/null @@ -1,65 +0,0 @@ -#import "SpectaUtility.h" -#import "SPTXCTestCase.h" -#import - -NSString * const SPTCurrentSpecKey = @"SPTCurrentSpec"; -NSString * const SPTCurrentTestCaseKey = @"SPTCurrentTestCase"; - -// http://clang.llvm.org/docs/Block-ABI-Apple.html -struct SPTBlockLiteral { - void *isa; // initialized to &_NSConcreteStackBlock or &_NSConcreteGlobalBlock - int flags; - int reserved; - void (*invoke)(void *, ...); - struct Block_descriptor_1 { - unsigned long int reserved; // NULL - unsigned long int size; // sizeof(struct Block_literal_1) - // optional helper functions - void (*copy_helper)(void *dst, void *src); // IFF (1<<25) - void (*dispose_helper)(void *src); // IFF (1<<25) - // required ABI.2010.3.16 - const char *signature; // IFF (1<<30) - } *descriptor; - // imported variables -}; - -enum { - SPT_BLOCK_HAS_COPY_DISPOSE = (1 << 25), - SPT_BLOCK_HAS_CTOR = (1 << 26), // helpers have C++ code - SPT_BLOCK_IS_GLOBAL = (1 << 28), - SPT_BLOCK_HAS_STRET = (1 << 29), // IFF BLOCK_HAS_SIGNATURE - SPT_BLOCK_HAS_SIGNATURE = (1 << 30), -}; - -const char *SPTGetBlockSignature(id blockObject) { - struct SPTBlockLiteral *block = (__bridge struct SPTBlockLiteral *)blockObject; - - int flags = block->flags; - - if (flags & SPT_BLOCK_HAS_SIGNATURE) { - void *signaturePtr = block->descriptor; - signaturePtr += sizeof(unsigned long int); // skip reserved - signaturePtr += sizeof(unsigned long int); // skip size - - if (flags & SPT_BLOCK_HAS_COPY_DISPOSE) { - signaturePtr += sizeof(void(*)(void *dst, void *src)); // skip copy_helper - signaturePtr += sizeof(void(*)(void *src)); // skip dispose_helper - } - - return *(const char **)signaturePtr; - } - - return NULL; -} - -BOOL SPTIsSpecClass(Class aClass) { - Class superclass = class_getSuperclass(aClass); - while (superclass != Nil) { - if (superclass == [SPTXCTestCase class]) { - return YES; - } else { - superclass = class_getSuperclass(superclass); - } - } - return NO; -} \ No newline at end of file diff --git a/Example/Pods/Specta/src/XCTestCase+Specta.h b/Example/Pods/Specta/src/XCTestCase+Specta.h deleted file mode 100644 index da3a56c..0000000 --- a/Example/Pods/Specta/src/XCTestCase+Specta.h +++ /dev/null @@ -1,4 +0,0 @@ -#import - -@interface XCTestCase (Specta) -@end \ No newline at end of file diff --git a/Example/Pods/Specta/src/XCTestCase+Specta.m b/Example/Pods/Specta/src/XCTestCase+Specta.m deleted file mode 100644 index 0c69b41..0000000 --- a/Example/Pods/Specta/src/XCTestCase+Specta.m +++ /dev/null @@ -1,26 +0,0 @@ -#import "XCTestCase+Specta.h" -#import "SPTXCTestCase.h" -#import "SPTExample.h" -#import - -@interface XCTestCase (xct_allSubclasses) - -- (NSArray *)xct_allSubclasses; - -@end - -@implementation XCTestCase (Specta) - -+ (void)load { - Method xct_allSubclasses = class_getClassMethod(self, @selector(xct_allSubclasses)); - Method xct_allSubclasses_swizzle = class_getClassMethod(self, @selector(xct_allSubclasses_swizzle)); - method_exchangeImplementations(xct_allSubclasses, xct_allSubclasses_swizzle); -} - -+ (NSArray *)xct_allSubclasses_swizzle { - NSMutableArray *subclasses = [[self xct_allSubclasses_swizzle] mutableCopy]; // call original - [subclasses removeObject:[SPTXCTestCase class]]; - return subclasses; -} - -@end \ No newline at end of file diff --git a/Example/Pods/Specta/src/XCTestLog+Specta.h b/Example/Pods/Specta/src/XCTestLog+Specta.h deleted file mode 100644 index f21d160..0000000 --- a/Example/Pods/Specta/src/XCTestLog+Specta.h +++ /dev/null @@ -1,7 +0,0 @@ -#import - -@interface XCTestLog (Specta) - -- (void)spt_pauseObservationInBlock:(void (^)(void))block; - -@end diff --git a/Example/Pods/Specta/src/XCTestLog+Specta.m b/Example/Pods/Specta/src/XCTestLog+Specta.m deleted file mode 100644 index ba42e4d..0000000 --- a/Example/Pods/Specta/src/XCTestLog+Specta.m +++ /dev/null @@ -1,49 +0,0 @@ -#import "XCTestLog+Specta.h" -#import "SPTReporter.h" -#import - -static void spt_swizzleInstanceMethod(Class class, SEL originalSelector, SEL swizzledSelector) { - Method originalMethod = class_getInstanceMethod(class, originalSelector); - Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector); - - method_exchangeImplementations(originalMethod, swizzledMethod); -} - -@implementation XCTestLog (Specta) - -+ (void)load { - spt_swizzleInstanceMethod(self, @selector(startObserving), @selector(XCTestLog_startObserving)); - spt_swizzleInstanceMethod(self, @selector(stopObserving), @selector(XCTestLog_stopObserving)); -} - -- (BOOL)spt_shouldProxyToSPTReporter { - // Instances of XCTestLog (but not subclasses) simply forward to -[SPTReporter sharedReporter] - return [self isMemberOfClass:[XCTestLog class]]; -} - -- (void)spt_pauseObservationInBlock:(void (^)(void))block { - [self XCTestLog_stopObserving]; - block(); - [self XCTestLog_startObserving]; -} - -#pragma mark - XCTestObserver - -- (void)XCTestLog_startObserving { - if ([self spt_shouldProxyToSPTReporter]) { - [[SPTReporter sharedReporter] startObserving]; - } else { - [self XCTestLog_startObserving]; - } -} - -- (void)XCTestLog_stopObserving { - if ([self spt_shouldProxyToSPTReporter]) { - [[SPTReporter sharedReporter] stopObserving]; - } else { - [self XCTestLog_stopObserving]; - usleep(100000); - } -} - -@end diff --git a/Example/Pods/Specta/src/XCTestRun+Specta.h b/Example/Pods/Specta/src/XCTestRun+Specta.h deleted file mode 100644 index 12d33e6..0000000 --- a/Example/Pods/Specta/src/XCTestRun+Specta.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - -@interface XCTestRun (Specta) - -- (NSUInteger)spt_pendingTestCaseCount; -- (NSUInteger)spt_skippedTestCaseCount; - -@end diff --git a/Example/Pods/Specta/src/XCTestRun+Specta.m b/Example/Pods/Specta/src/XCTestRun+Specta.m deleted file mode 100644 index da7f915..0000000 --- a/Example/Pods/Specta/src/XCTestRun+Specta.m +++ /dev/null @@ -1,44 +0,0 @@ -#import "XCTestRun+Specta.h" -#import "SPTXCTestCase.h" - -@implementation XCTestRun (Specta) - -#pragma mark - Pending Test Cases - -- (NSUInteger)spt_pendingTestCaseCount { - NSUInteger pendingTestCaseCount = 0; - - if ([self isKindOfClass:[XCTestSuiteRun class]]) { - for (XCTestRun * testRun in [(XCTestSuiteRun *)self testRuns]) { - pendingTestCaseCount += [testRun spt_pendingTestCaseCount]; - } - } else if ([[self test] isKindOfClass:[SPTXCTestCase class]]) { - SPTXCTestCase * testCase = (SPTXCTestCase *)[self test]; - if (testCase != nil && [testCase spt_isPending]) { - pendingTestCaseCount++; - } - } - - return pendingTestCaseCount; -} - -#pragma mark - Skipped Test Cases - -- (NSUInteger)spt_skippedTestCaseCount { - NSUInteger skippedTestCaseCount = 0; - - if ([self isKindOfClass:[XCTestSuiteRun class]]) { - for (XCTestRun * testRun in [(XCTestSuiteRun *)self testRuns]) { - skippedTestCaseCount += [testRun spt_skippedTestCaseCount]; - } - } else if ([[self test] isKindOfClass:[SPTXCTestCase class]]) { - SPTXCTestCase * testCase = (SPTXCTestCase *)[self test]; - if (testCase.spt_skipped) { - skippedTestCaseCount++; - } - } - - return skippedTestCaseCount; -} - -@end \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.markdown index 49e8251..381166a 100644 --- a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.markdown @@ -59,8 +59,8 @@ THE SOFTWARE. ## OCHamcrest -OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -Copyright 2014 hamcrest.org +OCHamcrest by Jon Reid, https://qualitycoding.org/ +Copyright 2017 hamcrest.org All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -76,8 +76,8 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ## OCMockito -OCMockito by Jon Reid, http://qualitycoding.org/about/ -Copyright 2014 Jonathan M. Reid +OCMockito by Jon Reid, https://qualitycoding.org/ +Copyright 2017 Jonathan M. Reid Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -115,7 +115,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ## Specta -Copyright (c) 2012-2013 Specta Team. +Copyright (c) 2012-2014 Specta Team. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.plist index bba0ef1..c4dfbc2 100644 --- a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests-acknowledgements.plist @@ -82,8 +82,8 @@ THE SOFTWARE. FooterText - OCHamcrest by Jon Reid, http://qualitycoding.org/about/ -Copyright 2014 hamcrest.org + OCHamcrest by Jon Reid, https://qualitycoding.org/ +Copyright 2017 hamcrest.org All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -105,8 +105,8 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND FooterText - OCMockito by Jon Reid, http://qualitycoding.org/about/ -Copyright 2014 Jonathan M. Reid + OCMockito by Jon Reid, https://qualitycoding.org/ +Copyright 2017 Jonathan M. Reid Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -150,7 +150,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. FooterText - Copyright (c) 2012-2013 Specta Team. + Copyright (c) 2012-2014 Specta Team. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests.debug.xcconfig index 8d6c092..1021d06 100644 --- a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests.debug.xcconfig @@ -1,4 +1,4 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" "$(PLATFORM_DIR)/Developer/Library/Frameworks" +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/OCHamcrest" "${PODS_ROOT}/Headers/Public/OCMockito" "${PODS_ROOT}/Headers/Public/Specta" "${PODS_ROOT}/Headers/Public/StateKit" LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Expecta" "$PODS_CONFIGURATION_BUILD_DIR/OCHamcrest" "$PODS_CONFIGURATION_BUILD_DIR/OCMockito" "$PODS_CONFIGURATION_BUILD_DIR/Specta" "$PODS_CONFIGURATION_BUILD_DIR/StateKit" diff --git a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig index 8d6c092..1021d06 100644 --- a/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig @@ -1,4 +1,4 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" "$(PLATFORM_DIR)/Developer/Library/Frameworks" +FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/OCHamcrest" "${PODS_ROOT}/Headers/Public/OCMockito" "${PODS_ROOT}/Headers/Public/Specta" "${PODS_ROOT}/Headers/Public/StateKit" LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Expecta" "$PODS_CONFIGURATION_BUILD_DIR/OCHamcrest" "$PODS_CONFIGURATION_BUILD_DIR/OCMockito" "$PODS_CONFIGURATION_BUILD_DIR/Specta" "$PODS_CONFIGURATION_BUILD_DIR/StateKit" diff --git a/Example/Pods/Target Support Files/Specta/Specta.xcconfig b/Example/Pods/Target Support Files/Specta/Specta.xcconfig index 365364c..acb000a 100644 --- a/Example/Pods/Target Support Files/Specta/Specta.xcconfig +++ b/Example/Pods/Target Support Files/Specta/Specta.xcconfig @@ -1,5 +1,6 @@ CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Specta -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" +ENABLE_BITCODE = NO +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Specta" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/OCHamcrest" "${PODS_ROOT}/Headers/Public/OCMockito" "${PODS_ROOT}/Headers/Public/Specta" "${PODS_ROOT}/Headers/Public/StateKit" OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"