Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Added OCMockito and OCHamcrest to pod file and project.

  • Loading branch information...
commit b72b617448f838d8ae240419f3d012c543c715d3 1 parent f7cb7fe
@tomaz authored
Showing with 13,219 additions and 1 deletion.
  1. +24 −1 AppledocTests/TestingBase/TestCaseBase.hh
  2. +2 −0  Podfile
  3. +9 −0 Podfile.lock
  4. +1 −0  Pods/BuildHeaders/OCHamcrest/HCAllOf.h
  5. +1 −0  Pods/BuildHeaders/OCHamcrest/HCAnyOf.h
  6. +1 −0  Pods/BuildHeaders/OCHamcrest/HCAssertThat.h
  7. +1 −0  Pods/BuildHeaders/OCHamcrest/HCBaseDescription.h
  8. +1 −0  Pods/BuildHeaders/OCHamcrest/HCBaseMatcher.h
  9. +1 −0  Pods/BuildHeaders/OCHamcrest/HCBoxNumber.h
  10. +1 −0  Pods/BuildHeaders/OCHamcrest/HCCollectMatchers.h
  11. +1 −0  Pods/BuildHeaders/OCHamcrest/HCConformsToProtocol.h
  12. +1 −0  Pods/BuildHeaders/OCHamcrest/HCDescribedAs.h
  13. +1 −0  Pods/BuildHeaders/OCHamcrest/HCDescription.h
  14. +1 −0  Pods/BuildHeaders/OCHamcrest/HCHasCount.h
  15. +1 −0  Pods/BuildHeaders/OCHamcrest/HCHasDescription.h
  16. +1 −0  Pods/BuildHeaders/OCHamcrest/HCHasProperty.h
  17. +1 −0  Pods/BuildHeaders/OCHamcrest/HCInvocationMatcher.h
  18. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIs.h
  19. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsAnything.h
  20. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsCloseTo.h
  21. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsCollectionContaining.h
  22. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsCollectionContainingInAnyOrder.h
  23. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsCollectionContainingInOrder.h
  24. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsCollectionOnlyContaining.h
  25. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsDictionaryContaining.h
  26. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsDictionaryContainingEntries.h
  27. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsDictionaryContainingKey.h
  28. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsDictionaryContainingValue.h
  29. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsEmptyCollection.h
  30. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsEqual.h
  31. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsEqualIgnoringCase.h
  32. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h
  33. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsEqualToNumber.h
  34. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsIn.h
  35. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsInstanceOf.h
  36. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsNil.h
  37. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsNot.h
  38. +1 −0  Pods/BuildHeaders/OCHamcrest/HCIsSame.h
  39. +1 −0  Pods/BuildHeaders/OCHamcrest/HCMatcher.h
  40. +1 −0  Pods/BuildHeaders/OCHamcrest/HCNumberAssert.h
  41. +1 −0  Pods/BuildHeaders/OCHamcrest/HCOrderingComparison.h
  42. +1 −0  Pods/BuildHeaders/OCHamcrest/HCRequireNonNilObject.h
  43. +1 −0  Pods/BuildHeaders/OCHamcrest/HCRequireNonNilString.h
  44. +1 −0  Pods/BuildHeaders/OCHamcrest/HCSelfDescribing.h
  45. +1 −0  Pods/BuildHeaders/OCHamcrest/HCStringContains.h
  46. +1 −0  Pods/BuildHeaders/OCHamcrest/HCStringContainsInOrder.h
  47. +1 −0  Pods/BuildHeaders/OCHamcrest/HCStringDescription.h
  48. +1 −0  Pods/BuildHeaders/OCHamcrest/HCStringEndsWith.h
  49. +1 −0  Pods/BuildHeaders/OCHamcrest/HCStringStartsWith.h
  50. +1 −0  Pods/BuildHeaders/OCHamcrest/HCSubstringMatcher.h
  51. +1 −0  Pods/BuildHeaders/OCHamcrest/HCWrapInMatcher.h
  52. +1 −0  Pods/BuildHeaders/OCHamcrest/OCHamcrest.h
  53. +1 −0  Pods/BuildHeaders/OCMockito/MKTBaseMockObject.h
  54. +1 −0  Pods/BuildHeaders/OCMockito/MKTClassObjectMock.h
  55. +1 −0  Pods/BuildHeaders/OCMockito/MKTExactTimes.h
  56. +1 −0  Pods/BuildHeaders/OCMockito/MKTInvocationContainer.h
  57. +1 −0  Pods/BuildHeaders/OCMockito/MKTInvocationMatcher.h
  58. +1 −0  Pods/BuildHeaders/OCMockito/MKTMockAwareVerificationMode.h
  59. +1 −0  Pods/BuildHeaders/OCMockito/MKTMockingProgress.h
  60. +1 −0  Pods/BuildHeaders/OCMockito/MKTMockitoCore.h
  61. +1 −0  Pods/BuildHeaders/OCMockito/MKTObjectAndProtocolMock.h
  62. +1 −0  Pods/BuildHeaders/OCMockito/MKTObjectMock.h
  63. +1 −0  Pods/BuildHeaders/OCMockito/MKTOngoingStubbing.h
  64. +1 −0  Pods/BuildHeaders/OCMockito/MKTPrimitiveArgumentMatching.h
  65. +1 −0  Pods/BuildHeaders/OCMockito/MKTProtocolMock.h
  66. +1 −0  Pods/BuildHeaders/OCMockito/MKTStubbedInvocationMatcher.h
  67. +1 −0  Pods/BuildHeaders/OCMockito/MKTTestLocation.h
  68. +1 −0  Pods/BuildHeaders/OCMockito/MKTVerificationData.h
  69. +1 −0  Pods/BuildHeaders/OCMockito/MKTVerificationMode.h
  70. +1 −0  Pods/BuildHeaders/OCMockito/NSException+OCMockito.h
  71. +1 −0  Pods/BuildHeaders/OCMockito/OCMockito.h
  72. +1 −0  Pods/Headers/OCHamcrest/HCAllOf.h
  73. +1 −0  Pods/Headers/OCHamcrest/HCAnyOf.h
  74. +1 −0  Pods/Headers/OCHamcrest/HCAssertThat.h
  75. +1 −0  Pods/Headers/OCHamcrest/HCBaseDescription.h
  76. +1 −0  Pods/Headers/OCHamcrest/HCBaseMatcher.h
  77. +1 −0  Pods/Headers/OCHamcrest/HCBoxNumber.h
  78. +1 −0  Pods/Headers/OCHamcrest/HCCollectMatchers.h
  79. +1 −0  Pods/Headers/OCHamcrest/HCConformsToProtocol.h
  80. +1 −0  Pods/Headers/OCHamcrest/HCDescribedAs.h
  81. +1 −0  Pods/Headers/OCHamcrest/HCDescription.h
  82. +1 −0  Pods/Headers/OCHamcrest/HCHasCount.h
  83. +1 −0  Pods/Headers/OCHamcrest/HCHasDescription.h
  84. +1 −0  Pods/Headers/OCHamcrest/HCHasProperty.h
  85. +1 −0  Pods/Headers/OCHamcrest/HCInvocationMatcher.h
  86. +1 −0  Pods/Headers/OCHamcrest/HCIs.h
  87. +1 −0  Pods/Headers/OCHamcrest/HCIsAnything.h
  88. +1 −0  Pods/Headers/OCHamcrest/HCIsCloseTo.h
  89. +1 −0  Pods/Headers/OCHamcrest/HCIsCollectionContaining.h
  90. +1 −0  Pods/Headers/OCHamcrest/HCIsCollectionContainingInAnyOrder.h
  91. +1 −0  Pods/Headers/OCHamcrest/HCIsCollectionContainingInOrder.h
  92. +1 −0  Pods/Headers/OCHamcrest/HCIsCollectionOnlyContaining.h
  93. +1 −0  Pods/Headers/OCHamcrest/HCIsDictionaryContaining.h
  94. +1 −0  Pods/Headers/OCHamcrest/HCIsDictionaryContainingEntries.h
  95. +1 −0  Pods/Headers/OCHamcrest/HCIsDictionaryContainingKey.h
  96. +1 −0  Pods/Headers/OCHamcrest/HCIsDictionaryContainingValue.h
  97. +1 −0  Pods/Headers/OCHamcrest/HCIsEmptyCollection.h
  98. +1 −0  Pods/Headers/OCHamcrest/HCIsEqual.h
  99. +1 −0  Pods/Headers/OCHamcrest/HCIsEqualIgnoringCase.h
  100. +1 −0  Pods/Headers/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h
  101. +1 −0  Pods/Headers/OCHamcrest/HCIsEqualToNumber.h
  102. +1 −0  Pods/Headers/OCHamcrest/HCIsIn.h
  103. +1 −0  Pods/Headers/OCHamcrest/HCIsInstanceOf.h
  104. +1 −0  Pods/Headers/OCHamcrest/HCIsNil.h
  105. +1 −0  Pods/Headers/OCHamcrest/HCIsNot.h
  106. +1 −0  Pods/Headers/OCHamcrest/HCIsSame.h
  107. +1 −0  Pods/Headers/OCHamcrest/HCMatcher.h
  108. +1 −0  Pods/Headers/OCHamcrest/HCNumberAssert.h
  109. +1 −0  Pods/Headers/OCHamcrest/HCOrderingComparison.h
  110. +1 −0  Pods/Headers/OCHamcrest/HCRequireNonNilObject.h
  111. +1 −0  Pods/Headers/OCHamcrest/HCRequireNonNilString.h
  112. +1 −0  Pods/Headers/OCHamcrest/HCSelfDescribing.h
  113. +1 −0  Pods/Headers/OCHamcrest/HCStringContains.h
  114. +1 −0  Pods/Headers/OCHamcrest/HCStringContainsInOrder.h
  115. +1 −0  Pods/Headers/OCHamcrest/HCStringDescription.h
  116. +1 −0  Pods/Headers/OCHamcrest/HCStringEndsWith.h
  117. +1 −0  Pods/Headers/OCHamcrest/HCStringStartsWith.h
  118. +1 −0  Pods/Headers/OCHamcrest/HCSubstringMatcher.h
  119. +1 −0  Pods/Headers/OCHamcrest/HCWrapInMatcher.h
  120. +1 −0  Pods/Headers/OCHamcrest/OCHamcrest.h
  121. +1 −0  Pods/Headers/OCMockito/MKTBaseMockObject.h
  122. +1 −0  Pods/Headers/OCMockito/MKTClassObjectMock.h
  123. +1 −0  Pods/Headers/OCMockito/MKTExactTimes.h
  124. +1 −0  Pods/Headers/OCMockito/MKTInvocationContainer.h
  125. +1 −0  Pods/Headers/OCMockito/MKTInvocationMatcher.h
  126. +1 −0  Pods/Headers/OCMockito/MKTMockAwareVerificationMode.h
  127. +1 −0  Pods/Headers/OCMockito/MKTMockingProgress.h
  128. +1 −0  Pods/Headers/OCMockito/MKTMockitoCore.h
  129. +1 −0  Pods/Headers/OCMockito/MKTObjectAndProtocolMock.h
  130. +1 −0  Pods/Headers/OCMockito/MKTObjectMock.h
  131. +1 −0  Pods/Headers/OCMockito/MKTOngoingStubbing.h
  132. +1 −0  Pods/Headers/OCMockito/MKTPrimitiveArgumentMatching.h
  133. +1 −0  Pods/Headers/OCMockito/MKTProtocolMock.h
  134. +1 −0  Pods/Headers/OCMockito/MKTStubbedInvocationMatcher.h
  135. +1 −0  Pods/Headers/OCMockito/MKTTestLocation.h
  136. +1 −0  Pods/Headers/OCMockito/MKTVerificationData.h
  137. +1 −0  Pods/Headers/OCMockito/MKTVerificationMode.h
  138. +1 −0  Pods/Headers/OCMockito/NSException+OCMockito.h
  139. +1 −0  Pods/Headers/OCMockito/OCMockito.h
  140. +27 −0 Pods/OCHamcrest/LICENSE.txt
  141. +299 −0 Pods/OCHamcrest/README.md
  142. +42 −0 Pods/OCHamcrest/Source/Core/HCAssertThat.h
  143. +94 −0 Pods/OCHamcrest/Source/Core/HCAssertThat.m
  144. +33 −0 Pods/OCHamcrest/Source/Core/HCBaseDescription.h
  145. +115 −0 Pods/OCHamcrest/Source/Core/HCBaseDescription.m
  146. +27 −0 Pods/OCHamcrest/Source/Core/HCBaseMatcher.h
  147. +60 −0 Pods/OCHamcrest/Source/Core/HCBaseMatcher.m
  148. +48 −0 Pods/OCHamcrest/Source/Core/HCDescription.h
  149. +56 −0 Pods/OCHamcrest/Source/Core/HCMatcher.h
  150. +32 −0 Pods/OCHamcrest/Source/Core/HCSelfDescribing.h
  151. +43 −0 Pods/OCHamcrest/Source/Core/HCStringDescription.h
  152. +53 −0 Pods/OCHamcrest/Source/Core/HCStringDescription.m
  153. +23 −0 Pods/OCHamcrest/Source/Core/Helpers/HCCollectMatchers.h
  154. +27 −0 Pods/OCHamcrest/Source/Core/Helpers/HCCollectMatchers.m
  155. +57 −0 Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.h
  156. +92 −0 Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.m
  157. +19 −0 Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.h
  158. +21 −0 Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilObject.m
  159. +21 −0 Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilString.h
  160. +21 −0 Pods/OCHamcrest/Source/Core/Helpers/HCRequireNonNilString.m
  161. +22 −0 Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.h
  162. +24 −0 Pods/OCHamcrest/Source/Core/Helpers/HCWrapInMatcher.m
  163. +63 −0 Pods/OCHamcrest/Source/Library/Collection/HCHasCount.h
  164. +75 −0 Pods/OCHamcrest/Source/Library/Collection/HCHasCount.m
  165. +69 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.h
  166. +82 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContaining.m
  167. +47 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.h
  168. +155 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.m
  169. +45 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.h
  170. +174 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionContainingInOrder.m
  171. +52 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.h
  172. +78 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsCollectionOnlyContaining.m
  173. +54 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.h
  174. +74 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContaining.m
  175. +53 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.h
  176. +148 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingEntries.m
  177. +49 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.h
  178. +62 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.m
  179. +49 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.h
  180. +62 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.m
  181. +36 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.h
  182. +47 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsEmptyCollection.m
  183. +42 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsIn.h
  184. +62 −0 Pods/OCHamcrest/Source/Library/Collection/HCIsIn.m
  185. +50 −0 Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.h
  186. +140 −0 Pods/OCHamcrest/Source/Library/Decorator/HCDescribedAs.m
  187. +54 −0 Pods/OCHamcrest/Source/Library/Decorator/HCIs.h
  188. +60 −0 Pods/OCHamcrest/Source/Library/Decorator/HCIs.m
  189. +45 −0 Pods/OCHamcrest/Source/Library/Logical/HCAllOf.h
  190. +79 −0 Pods/OCHamcrest/Source/Library/Logical/HCAllOf.m
  191. +45 −0 Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.h
  192. +63 −0 Pods/OCHamcrest/Source/Library/Logical/HCAnyOf.m
  193. +63 −0 Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.h
  194. +70 −0 Pods/OCHamcrest/Source/Library/Logical/HCIsAnything.m
  195. +47 −0 Pods/OCHamcrest/Source/Library/Logical/HCIsNot.h
  196. +55 −0 Pods/OCHamcrest/Source/Library/Logical/HCIsNot.m
  197. +93 −0 Pods/OCHamcrest/Source/Library/Number/HCBoxNumber.h
  198. +47 −0 Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.h
  199. +71 −0 Pods/OCHamcrest/Source/Library/Number/HCIsCloseTo.m
  200. +325 −0 Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.h
  201. +35 −0 Pods/OCHamcrest/Source/Library/Number/HCIsEqualToNumber.m
  202. +387 −0 Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.h
  203. +36 −0 Pods/OCHamcrest/Source/Library/Number/HCNumberAssert.m
  204. +115 −0 Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.h
  205. +111 −0 Pods/OCHamcrest/Source/Library/Number/HCOrderingComparison.m
  206. +43 −0 Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.h
  207. +55 −0 Pods/OCHamcrest/Source/Library/Object/HCConformsToProtocol.m
  208. +44 −0 Pods/OCHamcrest/Source/Library/Object/HCHasDescription.h
  209. +40 −0 Pods/OCHamcrest/Source/Library/Object/HCHasDescription.m
  210. +49 −0 Pods/OCHamcrest/Source/Library/Object/HCHasProperty.h
  211. +164 −0 Pods/OCHamcrest/Source/Library/Object/HCHasProperty.m
  212. +44 −0 Pods/OCHamcrest/Source/Library/Object/HCIsEqual.h
  213. +64 −0 Pods/OCHamcrest/Source/Library/Object/HCIsEqual.m
  214. +45 −0 Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.h
  215. +52 −0 Pods/OCHamcrest/Source/Library/Object/HCIsInstanceOf.m
  216. +47 −0 Pods/OCHamcrest/Source/Library/Object/HCIsNil.h
  217. +46 −0 Pods/OCHamcrest/Source/Library/Object/HCIsNil.m
  218. +42 −0 Pods/OCHamcrest/Source/Library/Object/HCIsSame.h
  219. +63 −0 Pods/OCHamcrest/Source/Library/Object/HCIsSame.m
  220. +49 −0 Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.h
  221. +61 −0 Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringCase.m
  222. +50 −0 Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.h
  223. +105 −0 Pods/OCHamcrest/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.m
  224. +45 −0 Pods/OCHamcrest/Source/Library/Text/HCStringContains.h
  225. +43 −0 Pods/OCHamcrest/Source/Library/Text/HCStringContains.m
  226. +50 −0 Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.h
  227. +93 −0 Pods/OCHamcrest/Source/Library/Text/HCStringContainsInOrder.m
  228. +45 −0 Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.h
  229. +43 −0 Pods/OCHamcrest/Source/Library/Text/HCStringEndsWith.m
  230. +45 −0 Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.h
  231. +43 −0 Pods/OCHamcrest/Source/Library/Text/HCStringStartsWith.m
  232. +20 −0 Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.h
  233. +47 −0 Pods/OCHamcrest/Source/Library/Text/HCSubstringMatcher.m
  234. +137 −0 Pods/OCHamcrest/Source/OCHamcrest.h
  235. +1,635 −0 Pods/OCMockito/Documentation/Doxyfile
  236. +9 −0 Pods/OCMockito/Documentation/Makefile
  237. +3 −0  Pods/OCMockito/Documentation/README.txt
  238. +20 −0 Pods/OCMockito/Examples/MacExample/Example-Info.plist
  239. +88 −0 Pods/OCMockito/Examples/MacExample/Example.m
  240. +266 −0 Pods/OCMockito/Examples/MacExample/MacExample.xcodeproj/project.pbxproj
  241. +20 −0 Pods/OCMockito/Examples/iOSExample/Example-Info.plist
  242. +88 −0 Pods/OCMockito/Examples/iOSExample/Example.m
  243. +257 −0 Pods/OCMockito/Examples/iOSExample/iOSExample.xcodeproj/project.pbxproj
  244. +21 −0 Pods/OCMockito/LICENSE-mockito.txt
  245. +178 −0 Pods/OCMockito/README.md
  246. +14 −0 Pods/OCMockito/Source/OCMockito/MKTBaseMockObject.h
  247. +113 −0 Pods/OCMockito/Source/OCMockito/MKTBaseMockObject.m
  248. +19 −0 Pods/OCMockito/Source/OCMockito/MKTClassObjectMock.h
  249. +46 −0 Pods/OCMockito/Source/OCMockito/MKTClassObjectMock.m
  250. +15 −0 Pods/OCMockito/Source/OCMockito/MKTExactTimes.h
  251. +67 −0 Pods/OCMockito/Source/OCMockito/MKTExactTimes.m
  252. +22 −0 Pods/OCMockito/Source/OCMockito/MKTInvocationContainer.h
  253. +80 −0 Pods/OCMockito/Source/OCMockito/MKTInvocationContainer.m
  254. +19 −0 Pods/OCMockito/Source/OCMockito/MKTInvocationMatcher.h
  255. +184 −0 Pods/OCMockito/Source/OCMockito/MKTInvocationMatcher.m
  256. +19 −0 Pods/OCMockito/Source/OCMockito/MKTMockAwareVerificationMode.h
  257. +51 −0 Pods/OCMockito/Source/OCMockito/MKTMockAwareVerificationMode.m
  258. +32 −0 Pods/OCMockito/Source/OCMockito/MKTMockingProgress.h
  259. +87 −0 Pods/OCMockito/Source/OCMockito/MKTMockingProgress.m
  260. +25 −0 Pods/OCMockito/Source/OCMockito/MKTMockitoCore.h
  261. +64 −0 Pods/OCMockito/Source/OCMockito/MKTMockitoCore.m
  262. +19 −0 Pods/OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.h
  263. +54 −0 Pods/OCMockito/Source/OCMockito/MKTObjectAndProtocolMock.m
  264. +17 −0 Pods/OCMockito/Source/OCMockito/MKTObjectMock.h
  265. +44 −0 Pods/OCMockito/Source/OCMockito/MKTObjectMock.m
  266. +67 −0 Pods/OCMockito/Source/OCMockito/MKTOngoingStubbing.h
  267. +77 −0 Pods/OCMockito/Source/OCMockito/MKTOngoingStubbing.m
  268. +47 −0 Pods/OCMockito/Source/OCMockito/MKTPrimitiveArgumentMatching.h
  269. +17 −0 Pods/OCMockito/Source/OCMockito/MKTProtocolMock.h
  270. +56 −0 Pods/OCMockito/Source/OCMockito/MKTProtocolMock.m
  271. +13 −0 Pods/OCMockito/Source/OCMockito/MKTStubbedInvocationMatcher.h
  272. +19 −0 Pods/OCMockito/Source/OCMockito/MKTStubbedInvocationMatcher.m
  273. +24 −0 Pods/OCMockito/Source/OCMockito/MKTTestLocation.h
  274. +32 −0 Pods/OCMockito/Source/OCMockito/MKTTestLocation.m
  275. +20 −0 Pods/OCMockito/Source/OCMockito/MKTVerificationData.h
  276. +22 −0 Pods/OCMockito/Source/OCMockito/MKTVerificationData.m
  277. +15 −0 Pods/OCMockito/Source/OCMockito/MKTVerificationMode.h
  278. +15 −0 Pods/OCMockito/Source/OCMockito/NSException+OCMockito.h
  279. +23 −0 Pods/OCMockito/Source/OCMockito/NSException+OCMockito.m
  280. +176 −0 Pods/OCMockito/Source/OCMockito/OCMockito.h
  281. +71 −0 Pods/OCMockito/Source/OCMockito/OCMockito.m
  282. +7 −0 Pods/OCMockito/Source/TestSupport/cleancov.sh
  283. +1 −0  Pods/OCMockito/Source/TestSupport/exportenv.sh
  284. +28 −0 Pods/OCMockito/Source/TestSupport/getcov.sh
  285. +22 −0 Pods/OCMockito/Source/Tests-Info.plist
  286. +72 −0 Pods/OCMockito/Source/Tests/MKTClassObjectMockTest.m
  287. +504 −0 Pods/OCMockito/Source/Tests/MKTInvocationMatcherTest.m
  288. +153 −0 Pods/OCMockito/Source/Tests/MKTMockingProgressTest.m
  289. +166 −0 Pods/OCMockito/Source/Tests/MKTObjectAndProtocolMockTest.m
  290. +70 −0 Pods/OCMockito/Source/Tests/MKTObjectMockTest.m
  291. +164 −0 Pods/OCMockito/Source/Tests/MKTProtocolMockTest.m
  292. +23 −0 Pods/OCMockito/Source/Tests/MockTestCase.h
  293. +26 −0 Pods/OCMockito/Source/Tests/MockTestCase.m
  294. +320 −0 Pods/OCMockito/Source/Tests/StubClassTest.m
  295. +134 −0 Pods/OCMockito/Source/Tests/StubProtocolTest.m
  296. +49 −0 Pods/OCMockito/Source/Tests/VerifyClassObjectTest.m
  297. +76 −0 Pods/OCMockito/Source/Tests/VerifyObjectAndProtocolTest.m
  298. +315 −0 Pods/OCMockito/Source/Tests/VerifyObjectTest.m
  299. +94 −0 Pods/OCMockito/Source/Tests/VerifyProtocolTest.m
  300. +55 −0 Pods/Pods-AppledocTests-Acknowledgements.markdown
Sorry, we could not display the entire diff because too many files (304) changed.
View
25 AppledocTests/TestingBase/TestCaseBase.hh
@@ -8,10 +8,28 @@
#import <SenTestingKit/SenTestingKit.h>
#import <OCMock/OCMock.h>
+
+
+#pragma mark - OCMockito
+
+#define HC_SHORTHAND
+#import <OCHamcrest/OCHamcrest.h>
+
+#define MOCKITO_SHORTHAND
+#import <OCMockito/OCMockito.h>
+
+#ifdef given
+# undef given
+# define given(methodCall) MKTGivenWithLocation([SpecHelper specHelper], __FILE__, __LINE__, methodCall)
+#endif
+
+
+#pragma mark - Cedar
+
#import <Cedar/SpecHelper.h>
using namespace Cedar::Matchers;
-#import "Objects+TestingPrivateAPI.h"
+#define gbcatch(code) ^{ code; } should_not raise_exception()
#define TEST_BEGIN(name) \
SPEC_BEGIN(name) \
@@ -20,3 +38,8 @@ using namespace Cedar::Matchers;
#define TEST_END \
}); \
SPEC_END
+
+
+#pragma mark - Appledoc
+
+#import "Objects+TestingPrivateAPI.h"
View
2  Podfile
@@ -72,6 +72,8 @@ target :AppledocTests do
}
end
+ pod 'OCMockito', '0.22'
+ pod 'OCHamcrest', '1.8'
pod do |s|
s.name = 'OCMock'
View
9 Podfile.lock
@@ -3,7 +3,9 @@ DEPENDENCIES:
- Cedar (defined in Podfile)
- DDCli (defined in Podfile)
- GBCli (defined in Podfile)
+- OCHamcrest (= 1.8)
- OCMock (defined in Podfile)
+- OCMockito (= 0.22)
- ParseKit (defined in Podfile)
- sundown (defined in Podfile)
@@ -13,6 +15,13 @@ PODS:
- Cedar (0.8.1)
- DDCli (1.0)
- GBCli (1.0)
+- OCHamcrest (1.8)
- OCMock (2.0.2)
+- OCMockito (0.22):
+ - OCHamcrest (~> 1.7)
- ParseKit (0.0.2)
- sundown (1.0)
+
+SPEC CHECKSUMS:
+ OCMockito: 2074647e72d9525d6569dfc272d4fe16797a044f
+ OCHamcrest: 75258b3746b118ed9de96a6a8d985546f32e0f9b
View
1  Pods/BuildHeaders/OCHamcrest/HCAllOf.h
View
1  Pods/BuildHeaders/OCHamcrest/HCAnyOf.h
View
1  Pods/BuildHeaders/OCHamcrest/HCAssertThat.h
View
1  Pods/BuildHeaders/OCHamcrest/HCBaseDescription.h
View
1  Pods/BuildHeaders/OCHamcrest/HCBaseMatcher.h
View
1  Pods/BuildHeaders/OCHamcrest/HCBoxNumber.h
View
1  Pods/BuildHeaders/OCHamcrest/HCCollectMatchers.h
View
1  Pods/BuildHeaders/OCHamcrest/HCConformsToProtocol.h
View
1  Pods/BuildHeaders/OCHamcrest/HCDescribedAs.h
View
1  Pods/BuildHeaders/OCHamcrest/HCDescription.h
View
1  Pods/BuildHeaders/OCHamcrest/HCHasCount.h
View
1  Pods/BuildHeaders/OCHamcrest/HCHasDescription.h
View
1  Pods/BuildHeaders/OCHamcrest/HCHasProperty.h
View
1  Pods/BuildHeaders/OCHamcrest/HCInvocationMatcher.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIs.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsAnything.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsCloseTo.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsCollectionContaining.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsCollectionContainingInAnyOrder.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsCollectionContainingInOrder.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsCollectionOnlyContaining.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsDictionaryContaining.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsDictionaryContainingEntries.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsDictionaryContainingKey.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsDictionaryContainingValue.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsEmptyCollection.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsEqual.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsEqualIgnoringCase.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsEqualToNumber.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsIn.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsInstanceOf.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsNil.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsNot.h
View
1  Pods/BuildHeaders/OCHamcrest/HCIsSame.h
View
1  Pods/BuildHeaders/OCHamcrest/HCMatcher.h
View
1  Pods/BuildHeaders/OCHamcrest/HCNumberAssert.h
View
1  Pods/BuildHeaders/OCHamcrest/HCOrderingComparison.h
View
1  Pods/BuildHeaders/OCHamcrest/HCRequireNonNilObject.h
View
1  Pods/BuildHeaders/OCHamcrest/HCRequireNonNilString.h
View
1  Pods/BuildHeaders/OCHamcrest/HCSelfDescribing.h
View
1  Pods/BuildHeaders/OCHamcrest/HCStringContains.h
View
1  Pods/BuildHeaders/OCHamcrest/HCStringContainsInOrder.h
View
1  Pods/BuildHeaders/OCHamcrest/HCStringDescription.h
View
1  Pods/BuildHeaders/OCHamcrest/HCStringEndsWith.h
View
1  Pods/BuildHeaders/OCHamcrest/HCStringStartsWith.h
View
1  Pods/BuildHeaders/OCHamcrest/HCSubstringMatcher.h
View
1  Pods/BuildHeaders/OCHamcrest/HCWrapInMatcher.h
View
1  Pods/BuildHeaders/OCHamcrest/OCHamcrest.h
View
1  Pods/BuildHeaders/OCMockito/MKTBaseMockObject.h
View
1  Pods/BuildHeaders/OCMockito/MKTClassObjectMock.h
View
1  Pods/BuildHeaders/OCMockito/MKTExactTimes.h
View
1  Pods/BuildHeaders/OCMockito/MKTInvocationContainer.h
View
1  Pods/BuildHeaders/OCMockito/MKTInvocationMatcher.h
View
1  Pods/BuildHeaders/OCMockito/MKTMockAwareVerificationMode.h
View
1  Pods/BuildHeaders/OCMockito/MKTMockingProgress.h
View
1  Pods/BuildHeaders/OCMockito/MKTMockitoCore.h
View
1  Pods/BuildHeaders/OCMockito/MKTObjectAndProtocolMock.h
View
1  Pods/BuildHeaders/OCMockito/MKTObjectMock.h
View
1  Pods/BuildHeaders/OCMockito/MKTOngoingStubbing.h
View
1  Pods/BuildHeaders/OCMockito/MKTPrimitiveArgumentMatching.h
View
1  Pods/BuildHeaders/OCMockito/MKTProtocolMock.h
View
1  Pods/BuildHeaders/OCMockito/MKTStubbedInvocationMatcher.h
View
1  Pods/BuildHeaders/OCMockito/MKTTestLocation.h
View
1  Pods/BuildHeaders/OCMockito/MKTVerificationData.h
View
1  Pods/BuildHeaders/OCMockito/MKTVerificationMode.h
View
1  Pods/BuildHeaders/OCMockito/NSException+OCMockito.h
View
1  Pods/BuildHeaders/OCMockito/OCMockito.h
View
1  Pods/Headers/OCHamcrest/HCAllOf.h
View
1  Pods/Headers/OCHamcrest/HCAnyOf.h
View
1  Pods/Headers/OCHamcrest/HCAssertThat.h
View
1  Pods/Headers/OCHamcrest/HCBaseDescription.h
View
1  Pods/Headers/OCHamcrest/HCBaseMatcher.h
View
1  Pods/Headers/OCHamcrest/HCBoxNumber.h
View
1  Pods/Headers/OCHamcrest/HCCollectMatchers.h
View
1  Pods/Headers/OCHamcrest/HCConformsToProtocol.h
View
1  Pods/Headers/OCHamcrest/HCDescribedAs.h
View
1  Pods/Headers/OCHamcrest/HCDescription.h
View
1  Pods/Headers/OCHamcrest/HCHasCount.h
View
1  Pods/Headers/OCHamcrest/HCHasDescription.h
View
1  Pods/Headers/OCHamcrest/HCHasProperty.h
View
1  Pods/Headers/OCHamcrest/HCInvocationMatcher.h
View
1  Pods/Headers/OCHamcrest/HCIs.h
View
1  Pods/Headers/OCHamcrest/HCIsAnything.h
View
1  Pods/Headers/OCHamcrest/HCIsCloseTo.h
View
1  Pods/Headers/OCHamcrest/HCIsCollectionContaining.h
View
1  Pods/Headers/OCHamcrest/HCIsCollectionContainingInAnyOrder.h
View
1  Pods/Headers/OCHamcrest/HCIsCollectionContainingInOrder.h
View
1  Pods/Headers/OCHamcrest/HCIsCollectionOnlyContaining.h
View
1  Pods/Headers/OCHamcrest/HCIsDictionaryContaining.h
View
1  Pods/Headers/OCHamcrest/HCIsDictionaryContainingEntries.h
View
1  Pods/Headers/OCHamcrest/HCIsDictionaryContainingKey.h
View
1  Pods/Headers/OCHamcrest/HCIsDictionaryContainingValue.h
View
1  Pods/Headers/OCHamcrest/HCIsEmptyCollection.h
View
1  Pods/Headers/OCHamcrest/HCIsEqual.h
View
1  Pods/Headers/OCHamcrest/HCIsEqualIgnoringCase.h
View
1  Pods/Headers/OCHamcrest/HCIsEqualIgnoringWhiteSpace.h
View
1  Pods/Headers/OCHamcrest/HCIsEqualToNumber.h
View
1  Pods/Headers/OCHamcrest/HCIsIn.h
View
1  Pods/Headers/OCHamcrest/HCIsInstanceOf.h
View
1  Pods/Headers/OCHamcrest/HCIsNil.h
View
1  Pods/Headers/OCHamcrest/HCIsNot.h
View
1  Pods/Headers/OCHamcrest/HCIsSame.h
View
1  Pods/Headers/OCHamcrest/HCMatcher.h
View
1  Pods/Headers/OCHamcrest/HCNumberAssert.h
View
1  Pods/Headers/OCHamcrest/HCOrderingComparison.h
View
1  Pods/Headers/OCHamcrest/HCRequireNonNilObject.h
View
1  Pods/Headers/OCHamcrest/HCRequireNonNilString.h
View
1  Pods/Headers/OCHamcrest/HCSelfDescribing.h
View
1  Pods/Headers/OCHamcrest/HCStringContains.h
View
1  Pods/Headers/OCHamcrest/HCStringContainsInOrder.h
View
1  Pods/Headers/OCHamcrest/HCStringDescription.h
View
1  Pods/Headers/OCHamcrest/HCStringEndsWith.h
View
1  Pods/Headers/OCHamcrest/HCStringStartsWith.h
View
1  Pods/Headers/OCHamcrest/HCSubstringMatcher.h
View
1  Pods/Headers/OCHamcrest/HCWrapInMatcher.h
View
1  Pods/Headers/OCHamcrest/OCHamcrest.h
View
1  Pods/Headers/OCMockito/MKTBaseMockObject.h
View
1  Pods/Headers/OCMockito/MKTClassObjectMock.h
View
1  Pods/Headers/OCMockito/MKTExactTimes.h
View
1  Pods/Headers/OCMockito/MKTInvocationContainer.h
View
1  Pods/Headers/OCMockito/MKTInvocationMatcher.h
View
1  Pods/Headers/OCMockito/MKTMockAwareVerificationMode.h
View
1  Pods/Headers/OCMockito/MKTMockingProgress.h
View
1  Pods/Headers/OCMockito/MKTMockitoCore.h
View
1  Pods/Headers/OCMockito/MKTObjectAndProtocolMock.h
View
1  Pods/Headers/OCMockito/MKTObjectMock.h
View
1  Pods/Headers/OCMockito/MKTOngoingStubbing.h
View
1  Pods/Headers/OCMockito/MKTPrimitiveArgumentMatching.h
View
1  Pods/Headers/OCMockito/MKTProtocolMock.h
View
1  Pods/Headers/OCMockito/MKTStubbedInvocationMatcher.h
View
1  Pods/Headers/OCMockito/MKTTestLocation.h
View
1  Pods/Headers/OCMockito/MKTVerificationData.h
View
1  Pods/Headers/OCMockito/MKTVerificationMode.h
View
1  Pods/Headers/OCMockito/NSException+OCMockito.h
View
1  Pods/Headers/OCMockito/OCMockito.h
View
27 Pods/OCHamcrest/LICENSE.txt
@@ -0,0 +1,27 @@
+BSD License
+
+Copyright 2012 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:
+
+Redistributions of source code must retain the above copyright notice, this list of
+conditions and the following disclaimer. Redistributions in binary form must reproduce
+the above copyright notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the distribution.
+
+Neither the name of Hamcrest nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
View
299 Pods/OCHamcrest/README.md
@@ -0,0 +1,299 @@
+What is OCHamcrest?
+===================
+
+OCHamcrest is:
+
+* a library of "matcher" objects that let you declare rules for whether a given
+ object matches the criteria or not.
+* a framework for writing your own matchers.
+
+Matchers are useful for a variety of purposes, such as UI validation. But
+they're most commonly used for writing unit tests that are expressive and
+flexible.
+
+OCHamcrest is used for both Mac and iOS development with:
+
+* OCUnit (SenTestingKit) built in to Xcode
+* Google Toolbox for Mac (GTM)
+* GHUnit
+* Cedar BDD framework
+* OCMock
+* OCHandMock
+* OCMockito
+
+
+How do I add OCHamcrest to my project?
+======================================
+
+Rather than build OCHamcrest yourself, I recommend you use the pre-built release
+available in Downloads. This works for projects using Automatic Reference
+Counting (ARC) as well as for projects using traditional memory management.
+
+(But if you still want to build OCHamcrest yourself, go into the Source folder
+and execute ``MakeDistribution.sh`` from Terminal.)
+
+The steps vary slightly depending on whether your project is a Mac project or an
+iOS project:
+
+__Mac:__
+
+Add OCHamcrest.framework to your project.
+
+Add a Copy Files build phase to copy OCHamcrest.framework to your Products
+Directory. For unit test bundles, make sure this Copy Files phase comes before
+the Run Script phase that executes tests.
+
+Add:
+
+ #define HC_SHORTHAND
+ #import <OCHamcrest/OCHamcrest.h>
+
+Note: If your Console shows
+
+ otest[57510:203] *** NSTask: Task create for path '...' failed: 22, "Invalid argument". Terminating temporary process.
+
+double-check your Copy Files phase.
+
+__iOS:__
+
+Add OCHamcrestIOS.framework to your project.
+
+Add:
+
+ #define HC_SHORTHAND
+ #import <OCHamcrestIOS/OCHamcrestIOS.h>
+
+
+My first OCHamcrest test
+========================
+
+We'll start by writing a very simple Xcode unit test, but instead of using
+OCUnit's ``STAssertEqualObjects`` function, we'll use OCHamcrest's
+``assertThat`` construct and a predefined matcher:
+
+ #import <SenTestingKit/SenTestingKit.h>
+
+ #define HC_SHORTHAND
+ #import <OCHamcrest/OCHamcrest.h>
+
+ @interface BiscuitTest : SenTestCase
+ @end
+
+ @implementation BiscuitTest
+
+ - (void) testEquals
+ {
+ Biscuit* theBiscuit = [Biscuit biscuitNamed:@"Ginger"];
+ Biscuit* myBiscuit = [Biscuit biscuitNamed:@"Ginger"];
+ assertThat(theBiscuit, equalTo(myBiscuit));
+ }
+
+ @end
+
+The ``assertThat`` function is a stylized sentence for making a test assertion.
+In this example, the subject of the assertion is the object ``theBiscuit``,
+which is the first method parameter. The second method parameter is a matcher
+for ``Biscuit`` objects, here a matcher that checks one object is equal 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`` 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``.
+
+
+Predefined matchers
+===================
+
+OCHamcrest comes with a library of useful matchers:
+
+* Object
+
+ * ``conformsTo`` - match object that conforms to protocol
+ * ``equalTo`` - match equal object
+ * ``hasDescription`` - match object's ``-description``
+ * ``hasProperty`` - match return value of method with given name
+ * ``instanceOf`` - match object type
+ * ``nilValue``, ``notNilValue`` - match ``nil``, or not ``nil``
+ * ``sameInstance`` - match same object
+
+* Number
+
+ * ``closeTo`` - match number close to a given value
+ * equalTo&lt;TypeName&gt; - match number equal to a primitive number (such as
+ ``equalToInt`` for an ``int``)
+ * ``greaterThan``, ``greaterThanOrEqualTo``, ``lessThan``,
+ ``lessThanOrEqualTo`` - match numeric ordering
+
+* Text
+
+ * ``containsString`` - match part of a string
+ * ``endsWith`` - match the end of a string
+ * ``equalToIgnoringCase`` - match the complete string but ignore case
+ * ``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
+
+* Logical
+
+ * ``allOf`` - "and" together all matchers
+ * ``anyOf`` - "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
+ * ``empty`` - match empty collection
+ * ``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
+ * ``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
+ * ``hasKey`` - match dictionary with a key
+ * ``hasValue`` - match dictionary with a value
+ * ``onlyContains`` - match if collections's items appear in given list
+
+* Decorator
+
+ * ``describedAs`` - give the matcher a custom failure description
+ * ``is`` - decorator to improve readability - see `Syntactic sugar` below
+
+The arguments for many of these matchers accept not just a matching value, but
+another matcher, so matchers can be composed for greater flexibility. For
+example, ``only_contains(endsWith(@"."))`` will match any collection where
+every item is a string ending with period.
+
+
+Syntactic sugar
+===============
+
+OCHamcrest strives to make your tests as readable as possible. For example, the
+``is`` matcher is a wrapper that doesn't add any extra behavior to the
+underlying matcher. The following assertions are all equivalent:
+
+ assertThat(theBiscuit, equalTo(myBiscuit));
+ assertThat(theBiscuit, is(equalTo(myBiscuit)));
+ assertThat(theBiscuit, is(myBiscuit));
+
+The last form is allowed since ``is`` wraps non-matcher arguments with
+``equalTo``. Other matchers that take matchers as arguments provide similar
+shortcuts, wrapping non-matcher arguments in ``equalTo``.
+
+
+Writing custom matchers
+=======================
+
+OCHamcrest comes bundled with lots of useful matchers, but you'll probably find
+that you need to create your own from time to time to fit your testing needs.
+This commonly occurs when you find a fragment of code that tests the same set of
+properties over and over again (and in different tests), and you want to bundle
+the fragment into a single assertion. By writing your own matcher you'll
+eliminate code duplication and make your tests more readable!
+
+Let's write our own matcher for testing if a calendar date falls on a Saturday.
+This is the test we want to write:
+
+ - (void) testDateIsOnASaturday
+ {
+ NSCalendarDate* date = [NSCalendarDate dateWithString:@"26 Apr 2008" calendarFormat:@"%d %b %Y"];
+ assertThat(date, is(onASaturday()))
+ }
+
+Here's the interface:
+
+ #import <OCHamcrest/HCBaseMatcher.h>
+ #import <objc/objc-api.h>
+
+ @interface IsGivenDayOfWeek : HCBaseMatcher
+ {
+ NSInteger day; // 0 indicates Sunday
+ }
+
+ + (id) isGivenDayOfWeek:(NSInteger)dayOfWeek;
+ - (id) initWithDay:(NSInteger)dayOfWeek;
+
+ @end
+
+ OBJC_EXPORT id<HCMatcher> onASaturday();
+
+The interface consists of two parts: a class definition, and a factory function
+(with C binding). Here's what the implementation looks like:
+
+ #import "IsGivenDayOfWeek.h"
+ #import <OCHamcrest/HCDescription.h>
+
+ @implementation IsGivenDayOfWeek
+
+ + (id) isGivenDayOfWeek:(NSInteger)dayOfWeek
+ {
+ return [[[self alloc] initWithDay:dayOfWeek] autorelease];
+ }
+
+ - (id) initWithDay:(NSInteger)dayOfWeek
+ {
+ self = [super init];
+ if (self != nil)
+ day = dayOfWeek;
+ return self;
+ }
+
+ // Test whether item matches.
+ - (BOOL) matches:(id)item
+ {
+ if (![item respondsToSelector:@selector(dayOfWeek)])
+ return NO;
+
+ return [item dayOfWeek] == day;
+ }
+
+ // Describe the matcher.
+ - (void) describeTo:(id<HCDescription>)description
+ {
+ NSString* dayAsString[] =
+ {@"Sunday", @"Monday", @"Tuesday", @"Wednesday", @"Thursday", @"Friday", @"Saturday"};
+ [[description appendText:@"calendar date falling on "] appendText:dayAsString[day]];
+ }
+
+ @end
+
+
+ id<HCMatcher> onASaturday()
+ {
+ return [IsGivenDayOfWeek isGivenDayOfWeek:6];
+ }
+
+For our Matcher implementation we implement the ``-matches:`` method -- which
+calls the ``-dayOfWeek`` method after confirming that the argument has such a
+method -- and the ``-describe_to:`` method -- which is used to produce a failure
+message when a test fails. Here's an example of how the failure message looks:
+
+ NSCalendarDate* date = [NSCalendarDate dateWithString: @"6 April 2008" calendarFormat: @"%d %B %Y"];
+ assertThat(date, is(onASaturday()));
+
+fails with the message
+
+ Expected: is calendar date falling on Saturday, got: <06 April 2008>
+
+and Xcode shows it as a build error. Double clicking the error message takes you
+to the assertion that failed.
+
+Even though the ``onASaturday`` function creates a new matcher each time it is
+called, you should not assume this is the only usage pattern for your matcher.
+Therefore you should make sure your matcher is stateless, so a single instance
+can be reused between matches.
+
+
+More resources
+==============
+
+* [Documentation](http://hamcrest.github.com/OCHamcrest/)
+* [Sources](https://github.com/hamcrest/OCHamcrest)
+* [Quality Coding](http://qualitycoding.org/) - Tools, tips &
+techniques for _building quality in_ to iOS development.
View
42 Pods/OCHamcrest/Source/Core/HCAssertThat.h
@@ -0,0 +1,42 @@
+//
+// OCHamcrest - HCAssertThat.h
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import <objc/objc-api.h>
+
+@protocol HCMatcher;
+
+
+OBJC_EXPORT void HC_assertThatWithLocation(id testCase, id actual, id<HCMatcher> matcher,
+ const char *fileName, int lineNumber);
+
+#define HC_assertThat(actual, matcher) \
+ HC_assertThatWithLocation(self, actual, matcher, __FILE__, __LINE__)
+
+/**
+ 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.
+
+ @c assertThat passes the actual value to the matcher for evaluation. If the matcher is not
+ satisfied, an exception is thrown describing the mismatch.
+
+ @c assertThat is designed to integrate well with OCUnit and other unit testing frameworks.
+ Unmet assertions are reported as test failures. In Xcode, these failures can be clicked to
+ reveal the line of the assertion.
+
+ In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_assertThat instead.
+
+ @ingroup integration
+ */
+#ifdef HC_SHORTHAND
+ #define assertThat HC_assertThat
+#endif
View
94 Pods/OCHamcrest/Source/Core/HCAssertThat.m
@@ -0,0 +1,94 @@
+//
+// OCHamcrest - HCAssertThat.m
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import "HCAssertThat.h"
+
+#import "HCStringDescription.h"
+#import "HCMatcher.h"
+
+#if TARGET_OS_IPHONE
+ #import <objc/runtime.h>
+#else
+ #import <objc/objc-class.h>
+#endif
+
+
+/**
+ Create OCUnit failure
+
+ With OCUnit's extension to NSException, this is effectively the same as
+@code
+[NSException failureInFile: [NSString stringWithUTF8String:fileName]
+ atLine: lineNumber
+ withDescription: description]
+@endcode
+ except we use an NSInvocation so that OCUnit (SenTestingKit) does not have to be linked.
+ */
+static NSException *createOCUnitException(const char* fileName, int lineNumber, NSString *description)
+{
+ NSException *result = nil;
+
+ // See http://www.omnigroup.com/mailman/archive/macosx-dev/2001-February/021441.html
+ // for an explanation of how to use create an NSInvocation of a class method.
+ SEL selector = @selector(failureInFile:atLine:withDescription:);
+ NSMethodSignature *signature =
+ [[NSException class]->isa instanceMethodSignatureForSelector:selector];
+ NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
+ [invocation setTarget:[NSException class]];
+ [invocation setSelector:selector];
+
+ id fileArg = [NSString stringWithUTF8String:fileName];
+ [invocation setArgument:&fileArg atIndex:2];
+ [invocation setArgument:&lineNumber atIndex:3];
+ [invocation setArgument:&description atIndex:4];
+
+ [invocation invoke];
+ [invocation getReturnValue:&result];
+ return result;
+}
+
+static NSException *createAssertThatFailure(const char *fileName, int lineNumber, NSString *description)
+{
+ // If the Hamcrest client has linked to OCUnit, generate an OCUnit failure.
+ if (NSClassFromString(@"SenTestCase") != Nil)
+ return createOCUnitException(fileName, lineNumber, description);
+
+ NSString *failureReason = [NSString stringWithFormat:@"%s:%d: matcher error: %@",
+ fileName, lineNumber, description];
+ return [NSException exceptionWithName:@"Hamcrest Error" reason:failureReason userInfo:nil];
+}
+
+
+#pragma mark -
+
+// As of 2010-09-09, the iPhone simulator has a bug where you can't catch
+// exceptions when they are thrown across NSInvocation boundaries. (See
+// dmaclach's comment at http://openradar.appspot.com/8081169 ) So instead of
+// using an NSInvocation to call failWithException:assertThatFailure without
+// linking in OCUnit, we simply pretend it exists on NSObject.
+@interface NSObject (HCExceptionBugHack)
+- (void)failWithException:(NSException *)exception;
+@end
+
+void HC_assertThatWithLocation(id testCase, id actual, id<HCMatcher> matcher,
+ const char *fileName, int lineNumber)
+{
+ if (![matcher matches:actual])
+ {
+ HCStringDescription *description = [HCStringDescription stringDescription];
+ [[[description appendText:@"Expected "]
+ appendDescriptionOf:matcher]
+ appendText:@", but "];
+ [matcher describeMismatchOf:actual to:description];
+
+ NSException *assertThatFailure = createAssertThatFailure(fileName, lineNumber,
+ [description description]);
+ [testCase failWithException:assertThatFailure];
+ }
+}
View
33 Pods/OCHamcrest/Source/Core/HCBaseDescription.h
@@ -0,0 +1,33 @@
+//
+// OCHamcrest - HCBaseDescription.h
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import <Foundation/Foundation.h>
+#import <OCHamcrest/HCDescription.h>
+
+
+/**
+ Base class for all HCDescription implementations.
+
+ @ingroup core
+ */
+@interface HCBaseDescription : NSObject <HCDescription>
+@end
+
+
+/**
+ Methods that must be provided by subclasses of HCBaseDescription.
+ */
+@interface HCBaseDescription (SubclassMustImplement)
+
+/**
+ Append the string @a str to the description.
+ */
+- (void)append:(NSString *)str;
+
+@end
View
115 Pods/OCHamcrest/Source/Core/HCBaseDescription.m
@@ -0,0 +1,115 @@
+//
+// OCHamcrest - HCBaseDescription.m
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import "HCBaseDescription.h"
+
+#import "HCMatcher.h"
+#import "HCSelfDescribing.h"
+
+
+@interface HCBaseDescription ()
+- (id<HCDescription>)appendObjectDescriptionOf:(id)value;
+- (void)toCSyntaxString:(NSString *)unformatted;
+- (void)toCSyntax:(unichar)ch;
+@end
+
+
+@implementation HCBaseDescription
+
+- (id<HCDescription>)appendText:(NSString *)text
+{
+ [self append:text];
+ return self;
+}
+
+- (id<HCDescription>)appendDescriptionOf:(id)value
+{
+ if (value == nil)
+ [self append:@"nil"];
+ else if ([value conformsToProtocol:@protocol(HCSelfDescribing)])
+ [value describeTo:self];
+ else if ([value isKindOfClass:[NSString class]])
+ [self toCSyntaxString:value];
+ else
+ [self appendObjectDescriptionOf:value];
+
+ return self;
+}
+
+- (id<HCDescription>)appendObjectDescriptionOf:(id)value
+{
+ NSString *description = [value description];
+ NSUInteger descriptionLength = [description length];
+ if (descriptionLength == 0)
+ [self append:[NSString stringWithFormat:@"<%@: 0x%0x>", NSStringFromClass([value class]), value]];
+ else if ([description characterAtIndex:0] == '<'
+ && [description characterAtIndex:descriptionLength - 1] == '>')
+ {
+ [self append:description];
+ }
+ else
+ {
+ [self append:@"<"];
+ [self append:description];
+ [self append:@">"];
+ }
+ return self;
+}
+
+- (id<HCDescription>)appendList:(NSArray *)values
+ start:(NSString *)start
+ separator:(NSString *)separator
+ end:(NSString *)end
+{
+ BOOL separate = NO;
+
+ [self append:start];
+ for (id item in values)
+ {
+ if (separate)
+ [self append:separator];
+ [self appendDescriptionOf:item];
+ separate = YES;
+ }
+ [self append:end];
+ return self;
+}
+
+- (void)toCSyntaxString:(NSString *)unformatted
+{
+ [self append:@"\""];
+ NSUInteger length = [unformatted length];
+ for (NSUInteger index = 0; index < length; ++index)
+ [self toCSyntax:[unformatted characterAtIndex:index]];
+ [self append:@"\""];
+}
+
+- (void)toCSyntax:(unichar)ch
+{
+ switch (ch)
+ {
+ case '"':
+ [self append:@"\\\""];
+ break;
+ case '\n':
+ [self append:@"\\n"];
+ break;
+ case '\r':
+ [self append:@"\\r"];
+ break;
+ case '\t':
+ [self append:@"\\t"];
+ break;
+ default:
+ [self append:[NSString stringWithCharacters:&ch length:1]];
+ break;
+ }
+}
+
+@end
View
27 Pods/OCHamcrest/Source/Core/HCBaseMatcher.h
@@ -0,0 +1,27 @@
+//
+// OCHamcrest - HCBaseMatcher.h
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import <Foundation/Foundation.h>
+#import <OCHamcrest/HCMatcher.h>
+
+#import <objc/objc-api.h> // Convenience header, to provide OBJC_EXPORT
+
+
+/**
+ Base class for all HCMatcher implementations.
+
+ Most implementations can just implement @c -matches: and let
+ <code>-matches:describingMismatchTo:</code> call it. But if it makes more sense to generate the
+ mismatch description during the matching, override <code>-matches:describingMismatchTo:</code>
+ and have @c -matches: call it with a @c nil description.
+
+ @ingroup core
+ */
+@interface HCBaseMatcher : NSObject <HCMatcher>
+@end
View
60 Pods/OCHamcrest/Source/Core/HCBaseMatcher.m
@@ -0,0 +1,60 @@
+//
+// OCHamcrest - HCBaseMatcher.m
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import "HCBaseMatcher.h"
+
+#import "HCStringDescription.h"
+
+
+@interface HCBaseMatcher ()
+- (void)subclassResponsibility:(SEL)command;
+@end
+
+#define ABSTRACT_METHOD [self subclassResponsibility:_cmd]
+
+
+@implementation HCBaseMatcher
+
+- (NSString *)description
+{
+ return [HCStringDescription stringFrom:self];
+}
+
+- (BOOL)matches:(id)item
+{
+ ABSTRACT_METHOD;
+ return NO;
+}
+
+- (BOOL)matches:(id)item describingMismatchTo:(id<HCDescription>)mismatchDescription
+{
+ BOOL matchResult = [self matches:item];
+ if (!matchResult)
+ [self describeMismatchOf:item to:mismatchDescription];
+ return matchResult;
+}
+
+- (void)describeMismatchOf:(id)item to:(id<HCDescription>)mismatchDescription
+{
+ [[mismatchDescription appendText:@"was "] appendDescriptionOf:item];
+}
+
+- (void)describeTo:(id<HCDescription>)description
+{
+ ABSTRACT_METHOD;
+}
+
+- (void)subclassResponsibility:(SEL)command
+{
+ NSString *className = NSStringFromClass([self class]);
+ [NSException raise:NSGenericException
+ format:@"-[%@ %s] not implemented", className, command];
+}
+
+@end
View
48 Pods/OCHamcrest/Source/Core/HCDescription.h
@@ -0,0 +1,48 @@
+//
+// OCHamcrest - HCDescription.h
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import <Foundation/Foundation.h>
+
+
+/**
+ A description of an HCMatcher.
+
+ An HCMatcher will describe itself to a description which can later be used for reporting.
+
+ @ingroup core
+ */
+@protocol HCDescription
+
+/**
+ Appends some plain text to the description.
+
+ @return @c self, for chaining.
+ */
+- (id<HCDescription>)appendText:(NSString *)text;
+
+/**
+ Appends description of given value to @c self.
+
+ If the value implements the @ref HCSelfDescribing protocol, then it will be used.
+
+ @return @c self, for chaining.
+ */
+- (id<HCDescription>)appendDescriptionOf:(id)value;
+
+/**
+ Appends a list of objects to the description.
+
+ @return @c self, for chaining.
+ */
+- (id<HCDescription>)appendList:(NSArray *)values
+ start:(NSString *)start
+ separator:(NSString *)separator
+ end:(NSString *)end;
+
+@end
View
56 Pods/OCHamcrest/Source/Core/HCMatcher.h
@@ -0,0 +1,56 @@
+//
+// OCHamcrest - HCMatcher.h
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import <OCHamcrest/HCSelfDescribing.h>
+
+
+/**
+ A matcher over acceptable values.
+
+ A matcher is able to describe itself to give feedback when it fails.
+
+ HCMatcher implementations should @b not directly implement this protocol.
+ Instead, @b extend the HCBaseMatcher class, which will ensure that the HCMatcher API can grow
+ to support new features and remain compatible with all HCMatcher implementations.
+
+ @ingroup core
+ */
+@protocol HCMatcher <HCSelfDescribing>
+
+/**
+ Evaluates the matcher for argument @a item.
+
+ @param item The object against which the matcher is evaluated.
+ @return @c YES if @a item matches, otherwise @c NO.
+ */
+- (BOOL)matches:(id)item;
+
+/**
+ Evaluates the matcher for argument @a item.
+
+ @param item The object against which the matcher is evaluated.
+ @param mismatchDescription The description to be built or appended to if @a item does not match.
+ @return @c YES if @a item matches, otherwise @c NO.
+ */
+- (BOOL)matches:(id)item describingMismatchTo:(id<HCDescription>)mismatchDescription;
+
+/**
+ Generates a description of why the matcher has not accepted the item.
+
+ The description will be part of a larger description of why a matching failed, so it should be
+ concise.
+
+ This method assumes that @c matches:item is false, but will not check this.
+
+ @param item The item that the HCMatcher has rejected.
+ @param mismatchDescription The description to be built or appended to.
+ */
+- (void)describeMismatchOf:(id)item to:(id<HCDescription>)mismatchDescription;
+
+@end
View
32 Pods/OCHamcrest/Source/Core/HCSelfDescribing.h
@@ -0,0 +1,32 @@
+//
+// OCHamcrest - HCSelfDescribing.h
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import <Foundation/Foundation.h>
+
+@protocol HCDescription;
+
+
+/**
+ The ability of an object to describe itself.
+
+ @ingroup core
+ */
+@protocol HCSelfDescribing <NSObject>
+
+/**
+ Generates a description of the object.
+
+ The description may be part of a description of a larger object of which this is just a
+ component, so it should be worded appropriately.
+
+ @param description The description to be built or appended to.
+ */
+- (void)describeTo:(id<HCDescription>)description;
+
+@end
View
43 Pods/OCHamcrest/Source/Core/HCStringDescription.h
@@ -0,0 +1,43 @@
+//
+// OCHamcrest - HCStringDescription.h
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import <OCHamcrest/HCBaseDescription.h>
+
+@protocol HCSelfDescribing;
+
+
+/**
+ An HCDescription that is stored as a string.
+
+ @ingroup core
+ */
+@interface HCStringDescription : HCBaseDescription
+{
+ NSMutableString *accumulator;
+}
+
+/**
+ Returns the description of an HCSelfDescribing object as a string.
+
+ @param selfDescribing The object to be described.
+ @return The description of the object.
+ */
++ (NSString *)stringFrom:(id<HCSelfDescribing>)selfDescribing;
+
+/**
+ Returns an empty description.
+ */
++ (HCStringDescription *)stringDescription;
+
+/**
+ Returns an initialized HCStringDescription object that is empty.
+ */
+- (id)init;
+
+@end
View
53 Pods/OCHamcrest/Source/Core/HCStringDescription.m
@@ -0,0 +1,53 @@
+//
+// OCHamcrest - HCStringDescription.m
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import "HCStringDescription.h"
+
+#import "HCSelfDescribing.h"
+
+
+@implementation HCStringDescription
+
++ (NSString *)stringFrom:(id<HCSelfDescribing>)selfDescribing
+{
+ HCStringDescription *description = [HCStringDescription stringDescription];
+ [description appendDescriptionOf:selfDescribing];
+ return [description description];
+}
+
++ (HCStringDescription *)stringDescription
+{
+ return [[[HCStringDescription alloc] init] autorelease];
+}
+
+- (id)init
+{
+ self = [super init];
+ if (self)
+ accumulator = [[NSMutableString alloc] init];
+ return self;
+}
+
+- (void)dealloc
+{
+ [accumulator release];
+ [super dealloc];
+}
+
+- (NSString *)description
+{
+ return accumulator;
+}
+
+- (void)append:(NSString *)str
+{
+ [accumulator appendString:str];
+}
+
+@end
View
23 Pods/OCHamcrest/Source/Core/Helpers/HCCollectMatchers.h
@@ -0,0 +1,23 @@
+//
+// OCHamcrest - HCCollectMatchers.h
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import <Foundation/Foundation.h>
+#import <objc/objc-api.h>
+
+#import <stdarg.h>
+
+@protocol HCMatcher;
+
+
+/**
+ Returns an array of matchers from a variable-length comma-separated list terminated by @c nil.
+
+ @ingroup helpers
+*/
+OBJC_EXPORT NSMutableArray *HCCollectMatchers(id item1, va_list args);
View
27 Pods/OCHamcrest/Source/Core/Helpers/HCCollectMatchers.m
@@ -0,0 +1,27 @@
+//
+// OCHamcrest - HCCollectMatchers.m
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import "HCCollectMatchers.h"
+
+#import "HCWrapInMatcher.h"
+
+
+NSMutableArray *HCCollectMatchers(id item, va_list args)
+{
+ NSMutableArray *matcherList = [NSMutableArray arrayWithObject:HCWrapInMatcher(item)];
+
+ item = va_arg(args, id);
+ while (item != nil)
+ {
+ [matcherList addObject:HCWrapInMatcher(item)];
+ item = va_arg(args, id);
+ }
+
+ return matcherList;
+}
View
57 Pods/OCHamcrest/Source/Core/Helpers/HCInvocationMatcher.h
@@ -0,0 +1,57 @@
+//
+// OCHamcrest - HCInvocationMatcher.h
+// Copyright 2012 hamcrest.org. See LICENSE.txt
+//
+// Created by: Jon Reid, http://qualitycoding.org/
+// Docs: http://hamcrest.github.com/OCHamcrest/
+// Source: https://github.com/hamcrest/OCHamcrest
+//
+
+#import <OCHamcrest/HCBaseMatcher.h>
+
+