Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'issue-10' (fixing #19, #20)

  • Loading branch information...
commit 0232cb19f91600e5f057dee10140b3152d547aef 2 parents c7ccc15 + 156c6e2
Tae Won Ha authored
Showing with 8,192 additions and 3,151 deletions.
  1. +1 −0  Frameworks/OCHamcrest.framework/Headers
  2. +1 −0  Frameworks/OCHamcrest.framework/OCHamcrest
  3. +1 −0  Frameworks/OCHamcrest.framework/Resources
  4. +45 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCAllOf.h
  5. +45 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCAnyOf.h
  6. +42 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCAssertThat.h
  7. +33 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCBaseDescription.h
  8. +27 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCBaseMatcher.h
  9. +20 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCClassMatcher.h
  10. +23 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCCollectMatchers.h
  11. +42 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCConformsToProtocol.h
  12. +50 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCDescribedAs.h
  13. +48 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCDescription.h
  14. +63 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCHasCount.h
  15. +44 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCHasDescription.h
  16. +49 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCHasProperty.h
  17. +57 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCInvocationMatcher.h
  18. +54 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIs.h
  19. +63 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsAnything.h
  20. +47 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCloseTo.h
  21. +69 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContaining.h
  22. +47 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h
  23. +45 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h
  24. +52 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h
  25. +54 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContaining.h
  26. +53 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h
  27. +49 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h
  28. +49 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h
  29. +36 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEmptyCollection.h
  30. +44 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEqual.h
  31. +49 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h
  32. +50 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h
  33. +331 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEqualToNumber.h
  34. +42 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsIn.h
  35. +41 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsInstanceOf.h
  36. +47 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsNil.h
  37. +47 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsNot.h
  38. +42 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsSame.h
  39. +40 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsTypeOf.h
  40. +56 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCMatcher.h
  41. +359 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCNumberAssert.h
  42. +115 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCOrderingComparison.h
  43. +19 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilObject.h
  44. +32 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCSelfDescribing.h
  45. +45 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCStringContains.h
  46. +50 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCStringContainsInOrder.h
  47. +43 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCStringDescription.h
  48. +45 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCStringEndsWith.h
  49. +45 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCStringStartsWith.h
  50. +20 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCSubstringMatcher.h
  51. +21 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCTestFailure.h
  52. +20 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCTestFailureHandler.h
  53. +12 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCTestFailureHandlerChain.h
  54. +22 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCWrapInMatcher.h
  55. +141 −0 Frameworks/OCHamcrest.framework/Versions/A/Headers/OCHamcrest.h
  56. BIN  Frameworks/OCHamcrest.framework/Versions/A/OCHamcrest
  57. +42 −0 Frameworks/OCHamcrest.framework/Versions/A/Resources/Info.plist
  58. +1 −0  Frameworks/OCHamcrest.framework/Versions/Current
  59. +18 −0 Frameworks/OCMockito.framework/Headers/MKTArgumentCaptor.h
  60. +17 −0 Frameworks/OCMockito.framework/Headers/MKTBaseMockObject.h
  61. +22 −0 Frameworks/OCMockito.framework/Headers/MKTClassObjectMock.h
  62. +20 −0 Frameworks/OCMockito.framework/Headers/MKTObjectAndProtocolMock.h
  63. +22 −0 Frameworks/OCMockito.framework/Headers/MKTObjectMock.h
  64. +77 −0 Frameworks/OCMockito.framework/Headers/MKTOngoingStubbing.h
  65. +50 −0 Frameworks/OCMockito.framework/Headers/MKTPrimitiveArgumentMatching.h
  66. +23 −0 Frameworks/OCMockito.framework/Headers/MKTProtocolMock.h
  67. +219 −0 Frameworks/OCMockito.framework/Headers/OCMockito.h
  68. BIN  Frameworks/OCMockito.framework/OCMockito
  69. +42 −0 Frameworks/OCMockito.framework/Resources/Info.plist
  70. +18 −0 Frameworks/OCMockito.framework/Versions/A/Headers/MKTArgumentCaptor.h
  71. +17 −0 Frameworks/OCMockito.framework/Versions/A/Headers/MKTBaseMockObject.h
  72. +22 −0 Frameworks/OCMockito.framework/Versions/A/Headers/MKTClassObjectMock.h
  73. +20 −0 Frameworks/OCMockito.framework/Versions/A/Headers/MKTObjectAndProtocolMock.h
  74. +22 −0 Frameworks/OCMockito.framework/Versions/A/Headers/MKTObjectMock.h
  75. +77 −0 Frameworks/OCMockito.framework/Versions/A/Headers/MKTOngoingStubbing.h
  76. +50 −0 Frameworks/OCMockito.framework/Versions/A/Headers/MKTPrimitiveArgumentMatching.h
  77. +23 −0 Frameworks/OCMockito.framework/Versions/A/Headers/MKTProtocolMock.h
  78. +219 −0 Frameworks/OCMockito.framework/Versions/A/Headers/OCMockito.h
  79. BIN  Frameworks/OCMockito.framework/Versions/A/OCMockito
  80. +42 −0 Frameworks/OCMockito.framework/Versions/A/Resources/Info.plist
  81. +18 −0 Frameworks/OCMockito.framework/Versions/Current/Headers/MKTArgumentCaptor.h
  82. +17 −0 Frameworks/OCMockito.framework/Versions/Current/Headers/MKTBaseMockObject.h
  83. +22 −0 Frameworks/OCMockito.framework/Versions/Current/Headers/MKTClassObjectMock.h
  84. +20 −0 Frameworks/OCMockito.framework/Versions/Current/Headers/MKTObjectAndProtocolMock.h
  85. +22 −0 Frameworks/OCMockito.framework/Versions/Current/Headers/MKTObjectMock.h
  86. +77 −0 Frameworks/OCMockito.framework/Versions/Current/Headers/MKTOngoingStubbing.h
  87. +50 −0 Frameworks/OCMockito.framework/Versions/Current/Headers/MKTPrimitiveArgumentMatching.h
  88. +23 −0 Frameworks/OCMockito.framework/Versions/Current/Headers/MKTProtocolMock.h
  89. +219 −0 Frameworks/OCMockito.framework/Versions/Current/Headers/OCMockito.h
  90. BIN  Frameworks/OCMockito.framework/Versions/Current/OCMockito
  91. +42 −0 Frameworks/OCMockito.framework/Versions/Current/Resources/Info.plist
  92. +15 −20 Meta/Cell Layout.graffle
  93. +380 −150 Meta/Cell Test Cases.graffle
  94. +83 −71 Qmind.xcodeproj/project.pbxproj
  95. +29 −1 Qmind.xcodeproj/xcshareddata/xcschemes/Qmind.xcscheme
  96. +4 −14 Qmind.xcodeproj/xcshareddata/xcschemes/{Tests.xcscheme → QmindLook.xcscheme}
  97. +3 −0  Qmind/QMAppSettings.h
  98. +124 −92 Qmind/QMAppSettings.m
  99. +17 −0 Qmind/QMBorderedView.h
  100. +60 −0 Qmind/QMBorderedView.m
  101. +5 −0 Qmind/QMCell.h
  102. +6 −4 Qmind/QMCellDrawer.h
  103. +97 −95 Qmind/QMCellDrawer.m
  104. +9 −5 Qmind/QMCellEditor.h
  105. +116 −160 Qmind/QMCellEditor.m
  106. +3 −2 Qmind/QMCellEditorDelegate.h
  107. +1 −3 Qmind/QMCellSelector.h
  108. +3 −2 Qmind/QMCellSizeManager.h
  109. +7 −0 Qmind/QMCellSizeManager.m
  110. +3 −16 Qmind/QMFontManager.m
  111. +4 −0 Qmind/QMIcon.h
  112. +61 −43 Qmind/QMIcon.m
  113. +4 −4 Qmind/QMIdGenerator.h
  114. +10 −8 Qmind/QMIdGenerator.m
  115. +1 −1  Qmind/QMMindmapReader.h
  116. +5 −2 Qmind/QMMindmapView.h
  117. +946 −934 Qmind/QMMindmapView.m
  118. +3 −0  Qmind/QMNode.h
  119. +10 −0 Qmind/QMNode.m
  120. +1 −0  Qmind/QMTypes.h
  121. +3 −3 Qmind/Qmind-Info.plist
  122. +24 −0 Qmind/Resources/Fontawesome/fontawesome-ie7.css
  123. +85 −0 Qmind/Resources/Fontawesome/fontawesome-ie7.less
  124. +22 −0 Qmind/Resources/Fontawesome/fontawesome-webfont.afm
  125. BIN  Qmind/Resources/Fontawesome/fontawesome-webfont.eot
  126. BIN  Qmind/Resources/Fontawesome/fontawesome-webfont.ttf
  127. BIN  Qmind/Resources/Fontawesome/fontawesome-webfont.woff
  128. +273 −0 Qmind/Resources/Fontawesome/fontawesome.css
  129. +272 −0 Qmind/Resources/Fontawesome/fontawesome.less
  130. +264 −0 Qmind/Resources/Fontawesome/fontawesome.sass
  131. +266 −0 Qmind/Resources/Fontawesome/fontawesome.scss
  132. +31 −0 Qmind/Resources/Fontawesome/icon-reference.html
  133. BIN  Qmind/Resources/fontawesome-webfont.ttf
  134. +249 −1,451 Qmind/en.lproj/Document.xib
  135. +32 −34 QmindTest/CellEditorTest.m
  136. +1 −1  QmindTest/DocumentTest.m
  137. +19 −15 QmindTest/MindmapReaderTest.m
  138. +1 −0  QmindTest/MindmapWriterTest.m
  139. +3 −3 QmindTest/QMBaseTestCase.h
  140. +27 −2 QmindTest/{CellSizeManagerTest.m → QMCellSizeManagerTest.m}
  141. +4 −4 QmindTest/{CellTest.m → QMCellTest.m}
  142. +21 −3 QmindTest/{IconTest.m → QMIconTest.m}
  143. +7 −0 QmindTest/QMMindmapViewComponentTest.m
  144. +12 −2 QmindTest/{NodeTest.m → QMNodeTest.m}
  145. +3 −3 QmindTest/Resources/mindmap-reader-test.mm
  146. +1 −1  QmindTest/Resources/mindmap-writer-test.mm
  147. +1 −1  qkit
  148. +1 −1  tbcacao
View
1  Frameworks/OCHamcrest.framework/Headers
View
1  Frameworks/OCHamcrest.framework/OCHamcrest
View
1  Frameworks/OCHamcrest.framework/Resources
View
45 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCAllOf.h
@@ -0,0 +1,45 @@
+//
+// OCHamcrest - HCAllOf.h
+// Copyright 2013 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>
+
+
+@interface HCAllOf : HCBaseMatcher
+{
+ NSArray *matchers;
+}
+
++ (instancetype)allOf:(NSArray *)theMatchers;
+- (instancetype)initWithMatchers:(NSArray *)theMatchers;
+
+@end
+
+
+OBJC_EXPORT id HC_allOf(id match, ...) NS_REQUIRES_NIL_TERMINATION;
+
+/**
+ allOf(firstMatcher, ...) -
+ Matches if all of the given matchers evaluate to @c YES.
+
+ @param firstMatcher,... A comma-separated list of matchers ending with @c nil.
+
+ The matchers are evaluated from left to right using short-circuit evaluation, so evaluation
+ stops as soon as a matcher returns @c NO.
+
+ Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for
+ equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_allOf instead.)
+
+ @ingroup logical_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define allOf HC_allOf
+#endif
View
45 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCAnyOf.h
@@ -0,0 +1,45 @@
+//
+// OCHamcrest - HCAnyOf.h
+// Copyright 2013 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>
+
+
+@interface HCAnyOf : HCBaseMatcher
+{
+ NSArray *matchers;
+}
+
++ (instancetype)anyOf:(NSArray *)theMatchers;
+- (instancetype)initWithMatchers:(NSArray *)theMatchers;
+
+@end
+
+
+OBJC_EXPORT id HC_anyOf(id match, ...) NS_REQUIRES_NIL_TERMINATION;
+
+/**
+ anyOf(firstMatcher, ...) -
+ Matches if any of the given matchers evaluate to @c YES.
+
+ @param firstMatcher,... A comma-separated list of matchers ending with @c nil.
+
+ The matchers are evaluated from left to right using short-circuit evaluation, so evaluation
+ stops as soon as a matcher returns @c YES.
+
+ Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for
+ equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_anyOf instead.)
+
+ @ingroup logical_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define anyOf HC_anyOf
+#endif
View
42 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCAssertThat.h
@@ -0,0 +1,42 @@
+//
+// OCHamcrest - HCAssertThat.h
+// Copyright 2013 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
33 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCBaseDescription.h
@@ -0,0 +1,33 @@
+//
+// OCHamcrest - HCBaseDescription.h
+// Copyright 2013 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
27 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCBaseMatcher.h
@@ -0,0 +1,27 @@
+//
+// OCHamcrest - HCBaseMatcher.h
+// Copyright 2013 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
20 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCClassMatcher.h
@@ -0,0 +1,20 @@
+//
+// OCHamcrest - HCClassMatcher.h
+// Copyright 2013 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>
+
+
+@interface HCClassMatcher : HCBaseMatcher
+{
+ Class theClass;
+}
+
+- (instancetype)initWithType:(Class)type;
+
+@end
View
23 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCCollectMatchers.h
@@ -0,0 +1,23 @@
+//
+// OCHamcrest - HCCollectMatchers.h
+// Copyright 2013 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
42 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCConformsToProtocol.h
@@ -0,0 +1,42 @@
+//
+// OCHamcrest - HCConformsToProtocol.h
+// Copyright 2013 hamcrest.org. See LICENSE.txt
+//
+// Created by: Todd Farrell
+//
+
+#import <OCHamcrest/HCBaseMatcher.h>
+
+
+@interface HCConformsToProtocol : HCBaseMatcher
+{
+ Protocol *theProtocol;
+}
+
++ (instancetype)conformsTo:(Protocol *)protocol;
+- (instancetype)initWithProtocol:(Protocol *)protocol;
+
+@end
+
+
+OBJC_EXPORT id HC_conformsTo(Protocol *aProtocol);
+
+/**
+ conformsTo(aProtocol) -
+ Matches if object conforms to a given protocol.
+
+ @param aProtocol The protocol to compare against as the expected protocol.
+
+ This matcher checks whether the evaluated object conforms to @a aProtocol.
+
+ Example:
+ @li @ref conformsTo(\@protocol(NSObject))
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_conformsTo instead.)
+
+ @ingroup object_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define conformsTo HC_conformsTo
+#endif
View
50 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCDescribedAs.h
@@ -0,0 +1,50 @@
+//
+// OCHamcrest - HCDescribedAs.h
+// Copyright 2013 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>
+
+
+@interface HCDescribedAs : HCBaseMatcher
+{
+ NSString *descriptionTemplate;
+ id <HCMatcher> matcher;
+ NSArray *values;
+}
+
++ (instancetype)describedAs:(NSString *)description
+ forMatcher:(id <HCMatcher>)aMatcher
+ overValues:(NSArray *)templateValues;
+
+- (instancetype)initWithDescription:(NSString *)description
+ forMatcher:(id <HCMatcher>)aMatcher
+ overValues:(NSArray *)templateValues;
+
+@end
+
+
+OBJC_EXPORT id HC_describedAs(NSString *description, id <HCMatcher> matcher, ...) NS_REQUIRES_NIL_TERMINATION;
+
+/**
+ describedAs(description, matcher, ...) -
+ Adds custom failure description to a given matcher.
+
+ @param description Overrides the matcher's description.
+ @param matcher,... The matcher to satisfy, followed by a comma-separated list of substitution values ending with @c nil.
+
+ The description may contain substitution placeholders \%0, \%1, etc. These will be replaced by
+ any values that follow the matcher.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_describedAs instead.)
+
+ @ingroup decorator_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define describedAs HC_describedAs
+#endif
View
48 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCDescription.h
@@ -0,0 +1,48 @@
+//
+// OCHamcrest - HCDescription.h
+// Copyright 2013 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 <NSObject>
+
+/**
+ 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
63 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCHasCount.h
@@ -0,0 +1,63 @@
+//
+// OCHamcrest - HCHasCount.h
+// Copyright 2013 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>
+
+
+@interface HCHasCount : HCBaseMatcher
+{
+ id <HCMatcher> countMatcher;
+}
+
++ (instancetype)hasCount:(id <HCMatcher>)matcher;
+- (instancetype)initWithCount:(id <HCMatcher>)matcher;
+
+@end
+
+
+OBJC_EXPORT id HC_hasCount(id <HCMatcher> matcher);
+
+/**
+ hasCount(aMatcher) -
+ Matches if object's @c -count satisfies a given matcher.
+
+ @param aMatcher The matcher to satisfy.
+
+ This matcher invokes @c -count on the evaluated object to get the number of elements it
+ contains, passing the result to @a aMatcher for evaluation.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_hasCount instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasCount HC_hasCount
+#endif
+
+
+OBJC_EXPORT id HC_hasCountOf(NSUInteger count);
+
+/**
+ hasCountOf(value) -
+ Matches if object's @c -count equals a given value.
+
+ @param value @c NSUInteger value to compare against as the expected value.
+
+ This matcher invokes @c -count on the evaluated object to get the number of elements it
+ contains, comparing the result to @a value for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_hasCountOf instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasCountOf HC_hasCountOf
+#endif
View
44 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCHasDescription.h
@@ -0,0 +1,44 @@
+//
+// OCHamcrest - HCHasDescription.h
+// Copyright 2013 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/HCInvocationMatcher.h>
+
+
+@interface HCHasDescription : HCInvocationMatcher
+
++ (instancetype)hasDescription:(id <HCMatcher>)descriptionMatcher;
+- (instancetype)initWithDescription:(id <HCMatcher>)descriptionMatcher;
+
+@end
+
+
+OBJC_EXPORT id HC_hasDescription(id match);
+
+/**
+ hasDescription(aMatcher) -
+ Matches if object's @c -description satisfies a given matcher.
+
+ @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching.
+
+ This matcher invokes @c -description on the evaluated object to get its description, passing the
+ result to a given matcher for evaluation. If the @a aMatcher argument is not a matcher, it is
+ implicitly wrapped in an @ref equalTo matcher to check for equality.
+
+ Examples:
+ @li @ref hasDescription(@ref startsWith(\@"foo"))
+ @li @ref hasDescription(\@"bar")
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_hasDescription instead.)
+
+ @ingroup object_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasDescription HC_hasDescription
+#endif
View
49 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCHasProperty.h
@@ -0,0 +1,49 @@
+//
+// OCHamcrest - HCHasProperty.h
+// Copyright 2013 hamcrest.org. See LICENSE.txt
+//
+// Created by: Justin Shacklette
+//
+
+#import <OCHamcrest/HCBaseMatcher.h>
+
+
+@interface HCHasProperty : HCBaseMatcher
+{
+ NSString *propertyName;
+ id <HCMatcher> valueMatcher;
+}
+
++ (instancetype)hasProperty:(NSString *)property value:(id <HCMatcher>)aValueMatcher;
+- (instancetype)initWithProperty:(NSString *)property value:(id <HCMatcher>)aValueMatcher;
+
+@end
+
+
+OBJC_EXPORT id HC_hasProperty(NSString *name, id valueMatch);
+
+/**
+ hasProperty(name, valueMatcher) -
+ Matches if object has a method of a given name whose return value satisfies a given matcher.
+
+ @param name The name of a method without arguments that returns an object.
+ @param valueMatcher The matcher to satisfy for the return value, or an expected value for @ref equalTo matching.
+
+ This matcher first checks if the evaluated object has a method with a name matching the given
+ @c name. If so, it invokes the method and sees if the returned value satisfies @c valueMatcher.
+
+ While this matcher is called "hasProperty", it's useful for checking the results of any simple
+ methods, not just properties.
+
+ Examples:
+ @li @ref hasProperty(\@"firstName", \@"Joe")
+ @li @ref hasProperty(\@"firstName", startsWith(\@"J"))
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_hasProperty instead.)
+
+ @ingroup object_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasProperty HC_hasProperty
+#endif
View
57 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCInvocationMatcher.h
@@ -0,0 +1,57 @@
+//
+// OCHamcrest - HCInvocationMatcher.h
+// Copyright 2013 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>
+
+
+/**
+ Supporting class for matching a feature of an object.
+
+ Tests whether the result of passing a given invocation to the value satisfies a given matcher.
+
+ @ingroup helpers
+ */
+@interface HCInvocationMatcher : HCBaseMatcher
+{
+ NSInvocation *invocation;
+ id <HCMatcher> subMatcher;
+ BOOL shortMismatchDescription;
+}
+
+/**
+ Determines whether a mismatch will be described in short form.
+
+ Default is long form, which describes the object, the name of the invocation, and the
+ sub-matcher's mismatch diagnosis. Short form only has the sub-matcher's mismatch diagnosis.
+ */
+@property (nonatomic, assign) BOOL shortMismatchDescription;
+
+/**
+ Helper method for creating an invocation.
+
+ A class is specified only so we can determine the method signature.
+ */
++ (NSInvocation *)invocationForSelector:(SEL)selector onClass:(Class)aClass;
+
+/**
+ Returns an HCInvocationMatcher object initialized with an invocation and a matcher.
+ */
+- (instancetype)initWithInvocation:(NSInvocation *)anInvocation matching:(id <HCMatcher>)aMatcher;
+
+/**
+ Invokes stored invocation on given item and returns the result.
+ */
+- (id)invokeOn:(id)item;
+
+/**
+ Returns string representation of the invocation's selector.
+ */
+- (NSString *)stringFromSelector;
+
+@end
View
54 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIs.h
@@ -0,0 +1,54 @@
+//
+// OCHamcrest - HCIs.h
+// Copyright 2013 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>
+
+
+@interface HCIs : HCBaseMatcher
+{
+ id <HCMatcher> matcher;
+}
+
++ (instancetype)is:(id <HCMatcher>)aMatcher;
+- (instancetype)initWithMatcher:(id <HCMatcher>)aMatcher;
+
+@end
+
+
+OBJC_EXPORT id HC_is(id match);
+
+/**
+ is(aMatcher) -
+ Decorates another matcher, or provides a shortcut to the frequently used @ref is(equalTo(x)).
+
+ @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching.
+
+ This matcher compares the evaluated object to the given matcher.
+
+ If the @a aMatcher argument is a matcher, its behavior is retained, but the test may be more
+ expressive. For example:
+ @li <code>@ref assertThatInt(value, equalToInt(5))</code>
+ @li <code>@ref assertThatInt(value, is(equalToInt(5)))</code>
+
+ If the @a aMatcher argument is not a matcher, it is wrapped in an @ref equalTo matcher. This
+ makes the following statements equivalent:
+ @li <code>@ref assertThat(cheese, equalTo(s melly))</code>
+ @li <code>@ref assertThat(cheese, is(equalTo(smelly)))</code>
+ @li <code>@ref assertThat(cheese, is(smelly))</code>
+
+ Choose the style that makes your expression most readable. This will vary depending on context.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_is instead.)
+
+ @ingroup decorator_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define is HC_is
+#endif
View
63 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsAnything.h
@@ -0,0 +1,63 @@
+//
+// OCHamcrest - HCIsAnything.h
+// Copyright 2013 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>
+
+
+@interface HCIsAnything : HCBaseMatcher
+{
+ NSString *description;
+}
+
++ (instancetype)isAnything;
++ (instancetype)isAnythingWithDescription:(NSString *)aDescription;
+
+- (instancetype)init;
+- (instancetype)initWithDescription:(NSString *)aDescription;
+
+@end
+
+
+OBJC_EXPORT id HC_anything(void);
+
+/**
+ Matches anything.
+
+ This matcher always evaluates to @c YES. Specify this in composite matchers when the value of a
+ particular element is unimportant.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_anything instead.)
+
+ @ingroup logical_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define anything() HC_anything()
+#endif
+
+
+OBJC_EXPORT id HC_anythingWithDescription(NSString *aDescription);
+
+/**
+ anythingWithDescription(description) -
+ Matches anything.
+
+ @param description A string used to describe this matcher.
+
+ This matcher always evaluates to @c YES. Specify this in collection matchers when the value of a
+ particular element in a collection is unimportant.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_anything instead.)
+
+ @ingroup logical_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define anythingWithDescription HC_anythingWithDescription
+#endif
View
47 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCloseTo.h
@@ -0,0 +1,47 @@
+//
+// OCHamcrest - HCIsCloseTo.h
+// Copyright 2013 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>
+
+
+@interface HCIsCloseTo : HCBaseMatcher
+{
+ double value;
+ double delta;
+}
+
++ (instancetype)isCloseTo:(double)aValue within:(double)aDelta;
+- (instancetype)initWithValue:(double)aValue delta:(double)aDelta;
+
+@end
+
+
+OBJC_EXPORT id HC_closeTo(double aValue, double aDelta);
+
+/**
+ closeTo(aValue, aDelta) -
+ Matches if object is a number close to a given value, within a given delta.
+
+ @param aValue The @c double value to compare against as the expected value.
+ @param aDelta The @c double maximum delta between the values for which the numbers are considered close.
+
+ This matcher invokes @c -doubleValue on the evaluated object to get its value as a @c double.
+ The result is compared against @a aValue to see if the difference is within a positive @a aDelta.
+
+ Example:
+ @li @ref closeTo(3.0, 0.25)
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_closeTo instead.)
+
+ @ingroup number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define closeTo HC_closeTo
+#endif
View
69 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContaining.h
@@ -0,0 +1,69 @@
+//
+// OCHamcrest - HCIsCollectionContaining.h
+// Copyright 2013 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>
+
+
+@interface HCIsCollectionContaining : HCBaseMatcher
+{
+ id <HCMatcher> elementMatcher;
+}
+
++ (instancetype)isCollectionContaining:(id <HCMatcher>)anElementMatcher;
+- (instancetype)initWithMatcher:(id <HCMatcher>)anElementMatcher;
+
+@end
+
+
+OBJC_EXPORT id HC_hasItem(id itemMatch);
+
+/**
+ hasItem(aMatcher) -
+ Matches if any element of collection satisfies a given matcher.
+
+ @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching.
+
+ This matcher iterates the evaluated collection, searching for any element that satisfies a
+ given matcher. If a matching element is found, @c hasItem is satisfied.
+
+ If the @a aMatcher argument is not a matcher, it is implicitly wrapped in an @ref equalTo
+ matcher to check for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_hasItem instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasItem HC_hasItem
+#endif
+
+
+OBJC_EXPORT id HC_hasItems(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION;
+
+/**
+ hasItems(firstMatcher, ...) -
+ Matches if all of the given matchers are satisfied by any elements of the collection.
+
+ @param firstMatcher,... A comma-separated list of matchers ending with @c nil.
+
+ This matcher iterates the given matchers, searching for any elements in the evaluated collection
+ that satisfy them. If each matcher is satisfied, then @c hasItems is satisfied.
+
+ Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for
+ equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c hasItems instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasItems HC_hasItems
+#endif
View
47 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h
@@ -0,0 +1,47 @@
+//
+// OCHamcrest - HCIsCollectionContainingInAnyOrder.h
+// Copyright 2013 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>
+
+
+@interface HCIsCollectionContainingInAnyOrder : HCBaseMatcher
+{
+ NSArray *matchers;
+}
+
++ (instancetype)isCollectionContainingInAnyOrder:(NSArray *)itemMatchers;
+- (instancetype)initWithMatchers:(NSArray *)itemMatchers;
+
+@end
+
+
+OBJC_EXPORT id HC_containsInAnyOrder(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION;
+
+/**
+ containsInAnyOrder(firstMatcher, ...) -
+ Matches if collection's elements, in any order, satisfy a given list of matchers.
+
+ @param firstMatcher,... A comma-separated list of matchers ending with @c nil.
+
+ This matcher iterates the evaluated collection, seeing if each element satisfies any of the
+ given matchers. The matchers are tried from left to right, and when a satisfied matcher is
+ found, it is no longer a candidate for the remaining elements. If a one-to-one correspondence is
+ established between elements and matchers, @c containsInAnyOrder is satisfied.
+
+ Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for
+ equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_containsInAnyOrder instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define containsInAnyOrder HC_containsInAnyOrder
+#endif
View
45 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h
@@ -0,0 +1,45 @@
+//
+// OCHamcrest - HCIsCollectionContainingInOrder.h
+// Copyright 2013 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>
+
+
+@interface HCIsCollectionContainingInOrder : HCBaseMatcher
+{
+ NSArray *matchers;
+}
+
++ (instancetype)isCollectionContainingInOrder:(NSArray *)itemMatchers;
+- (instancetype)initWithMatchers:(NSArray *)itemMatchers;
+
+@end
+
+
+OBJC_EXPORT id HC_contains(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION;
+
+/**
+ contains(firstMatcher, ...) -
+ Matches if collection's elements satisfy a given list of matchers, in order.
+
+ @param firstMatcher,... A comma-separated list of matchers ending with @c nil.
+
+ This matcher iterates the evaluated collection and a given list of matchers, seeing if each
+ element satisfies its corresponding matcher.
+
+ Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for
+ equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_contains instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define contains HC_contains
+#endif
View
52 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h
@@ -0,0 +1,52 @@
+//
+// OCHamcrest - HCIsCollectionOnlyContaining.h
+// Copyright 2013 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>
+
+
+@interface HCIsCollectionOnlyContaining : HCBaseMatcher
+{
+ id <HCMatcher> matcher;
+}
+
++ (instancetype)isCollectionOnlyContaining:(id <HCMatcher>)aMatcher;
+- (instancetype)initWithMatcher:(id <HCMatcher>)aMatcher;
+
+@end
+
+
+OBJC_EXPORT id HC_onlyContains(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION;
+
+/**
+ onlyContains(firstMatcher, ...) -
+ Matches if each element of collection satisfies any of the given matchers.
+
+ @param firstMatcher,... A comma-separated list of matchers ending with @c nil.
+
+ This matcher iterates the evaluated collection, confirming whether each element satisfies any of
+ the given matchers.
+
+ Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for
+ equality.
+
+ Example:
+
+ @par
+ @ref onlyContains(startsWith(@"Jo"), nil)
+
+ will match a collection [@"Jon", @"John", @"Johann"].
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_onlyContains instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define onlyContains HC_onlyContains
+#endif
View
54 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContaining.h
@@ -0,0 +1,54 @@
+//
+// OCHamcrest - HCIsDictionaryContaining.h
+// Copyright 2013 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>
+
+
+@interface HCIsDictionaryContaining : HCBaseMatcher
+{
+ id <HCMatcher> keyMatcher;
+ id <HCMatcher> valueMatcher;
+}
+
++ (instancetype)isDictionaryContainingKey:(id <HCMatcher>)aKeyMatcher
+ value:(id <HCMatcher>)aValueMatcher;
+
+- (instancetype)initWithKeyMatcher:(id <HCMatcher>)aKeyMatcher
+ valueMatcher:(id <HCMatcher>)aValueMatcher;
+
+@end
+
+
+OBJC_EXPORT id HC_hasEntry(id keyMatch, id valueMatch);
+
+/**
+ hasEntry(keyMatcher, valueMatcher) -
+ Matches if dictionary contains key-value entry satisfying a given pair of matchers.
+
+ @param keyMatcher The matcher to satisfy for the key, or an expected value for @ref equalTo matching.
+ @param valueMatcher The matcher to satisfy for the value, or an expected value for @ref equalTo matching.
+
+ This matcher iterates the evaluated dictionary, searching for any key-value entry that satisfies
+ @a keyMatcher and @a valueMatcher. If a matching entry is found, @c hasEntry is satisfied.
+
+ Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for
+ equality.
+
+ Examples:
+ @li @ref hasEntry(@ref equalTo(@"foo"), equalTo(@"bar"))
+ @li @ref hasEntry(@"foo", @"bar")
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_hasEntry instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasEntry HC_hasEntry
+#endif
View
53 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h
@@ -0,0 +1,53 @@
+//
+// OCHamcrest - HCIsDictionaryContainingEntries.h
+// Copyright 2013 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>
+
+
+@interface HCIsDictionaryContainingEntries : HCBaseMatcher
+{
+ NSArray *keys;
+ NSArray *valueMatchers;
+}
+
++ (instancetype)isDictionaryContainingKeys:(NSArray *)theKeys
+ valueMatchers:(NSArray *)theValueMatchers;
+
+- (instancetype)initWithKeys:(NSArray *)theKeys
+ valueMatchers:(NSArray *)theValueMatchers;
+
+@end
+
+
+OBJC_EXPORT id HC_hasEntries(id keysAndValueMatch, ...) NS_REQUIRES_NIL_TERMINATION;
+
+/**
+ hasEntries(firstKey, valueMatcher, ...) -
+ Matches if 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 @ref equalTo matching.
+
+ Note that the keys must be actual keys, not matchers. Any value argument that is not a matcher
+ is implicitly wrapped in an @ref equalTo matcher to check for equality. The list must end with
+ @c nil.
+
+ Examples:
+ @li @ref hasEntries(@"first", equalTo(@"Jon"), @"last", equalTo(@"Reid"), nil)
+ @li @ref hasEntries(@"first", @"Jon", @"last", @"Reid", nil)
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_hasEntry instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasEntries HC_hasEntries
+#endif
View
49 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h
@@ -0,0 +1,49 @@
+//
+// OCHamcrest - HCIsDictionaryContainingKey.h
+// Copyright 2013 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>
+
+
+@interface HCIsDictionaryContainingKey : HCBaseMatcher
+{
+ id <HCMatcher> keyMatcher;
+}
+
++ (instancetype)isDictionaryContainingKey:(id <HCMatcher>)theKeyMatcher;
+- (instancetype)initWithKeyMatcher:(id <HCMatcher>)theKeyMatcher;
+
+@end
+
+
+OBJC_EXPORT id HC_hasKey(id keyMatch);
+
+/**
+ hasKey(keyMatcher) -
+ Matches if dictionary contains an entry whose key satisfies a given matcher.
+
+ @param keyMatcher The matcher to satisfy for the key, or an expected value for @ref equalTo matching.
+
+ This matcher iterates the evaluated dictionary, searching for any key-value entry whose key
+ satisfies the given matcher. If a matching entry is found, @c hasKey is satisfied.
+
+ Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for
+ equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_hasKey instead.)
+
+ Examples:
+ @li @ref hasEntry(equalTo(@"foo"))
+ @li @ref hasEntry(@"foo")
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasKey HC_hasKey
+#endif
View
49 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h
@@ -0,0 +1,49 @@
+//
+// OCHamcrest - HCIsDictionaryContainingValue.h
+// Copyright 2013 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>
+
+
+@interface HCIsDictionaryContainingValue : HCBaseMatcher
+{
+ id <HCMatcher> valueMatcher;
+}
+
++ (instancetype)isDictionaryContainingValue:(id <HCMatcher>)theValueMatcher;
+- (instancetype)initWithValueMatcher:(id <HCMatcher>)theValueMatcher;
+
+@end
+
+
+OBJC_EXPORT id HC_hasValue(id valueMatch);
+
+/**
+ hasValue(valueMatcher) -
+ Matches if dictionary contains an entry whose value satisfies a given matcher.
+
+ @param valueMatcher The matcher to satisfy for the value, or an expected value for @ref equalTo matching.
+
+ This matcher iterates the evaluated dictionary, searching for any key-value entry whose value
+ satisfies the given matcher. If a matching entry is found, @c hasValue is satisfied.
+
+ Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for
+ equality.
+
+ Examples:
+ @li @ref hasValue(equalTo(@"bar"))
+ @li @ref hasValue(@"bar")
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_hasValue instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define hasValue HC_hasValue
+#endif
View
36 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEmptyCollection.h
@@ -0,0 +1,36 @@
+//
+// OCHamcrest - HCIsEmptyCollection.h
+// Copyright 2013 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/HCHasCount.h>
+
+
+@interface HCIsEmptyCollection : HCHasCount
+
++ (instancetype)isEmptyCollection;
+- (instancetype)init;
+
+@end
+
+
+OBJC_EXPORT id HC_isEmpty(void);
+
+/**
+ Matches empty collection.
+
+ This matcher invokes @c -count on the evaluated object to determine if the number of elements it
+ contains is zero.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_isEmpty instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define isEmpty() HC_isEmpty()
+#endif
View
44 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEqual.h
@@ -0,0 +1,44 @@
+//
+// OCHamcrest - HCIsEqual.h
+// Copyright 2013 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>
+
+
+@interface HCIsEqual : HCBaseMatcher
+{
+ id object;
+}
+
++ (instancetype)isEqualTo:(id)anObject;
+- (instancetype)initEqualTo:(id)anObject;
+
+@end
+
+
+OBJC_EXPORT id HC_equalTo(id object);
+
+/**
+ equalTo(anObject) -
+ Matches if object is equal to a given object.
+
+ @param anObject The object to compare against as the expected value.
+
+ This matcher compares the evaluated object to @a anObject for equality, as determined by the
+ @c -isEqual: method.
+
+ If @a anObject is @c nil, the matcher will successfully match @c nil.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalTo instead.)
+
+ @ingroup object_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalTo HC_equalTo
+#endif
View
49 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h
@@ -0,0 +1,49 @@
+//
+// OCHamcrest - HCIsEqualIgnoringCase.h
+// Copyright 2013 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>
+
+
+@interface HCIsEqualIgnoringCase : HCBaseMatcher
+{
+ NSString *string;
+}
+
++ (instancetype)isEqualIgnoringCase:(NSString *)aString;
+- (instancetype)initWithString:(NSString *)aString;
+
+@end
+
+
+OBJC_EXPORT id HC_equalToIgnoringCase(NSString *aString);
+
+/**
+ equalToIgnoringCase(aString) -
+ Matches if object is a string equal to a given string, ignoring case differences.
+
+ @param aString The string to compare against as the expected value. This value must not be @c nil.
+
+ This matcher first checks whether the evaluated object is a string. If so, it compares it with
+ @a aString, ignoring differences of case.
+
+ Example:
+
+ @par
+ @ref equalToIgnoringCase(@"hello world")
+
+ will match "heLLo WorlD".
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToIgnoringCase instead.)
+
+ @ingroup text_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToIgnoringCase HC_equalToIgnoringCase
+#endif
View
50 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h
@@ -0,0 +1,50 @@
+//
+// OCHamcrest - HCIsEqualIgnoringWhiteSpace.h
+// Copyright 2013 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>
+
+
+@interface HCIsEqualIgnoringWhiteSpace : HCBaseMatcher
+{
+ NSString *originalString;
+ NSString *strippedString;
+}
+
++ (instancetype)isEqualIgnoringWhiteSpace:(NSString *)aString;
+- (instancetype)initWithString:(NSString *)aString;
+
+@end
+
+
+OBJC_EXPORT id HC_equalToIgnoringWhiteSpace(NSString *aString);
+
+/**
+ equalToIgnoringWhiteSpace(aString) -
+ Matches if object is a string equal to a given string, ignoring differences in whitespace.
+
+ @param aString The string to compare against as the expected value. This value must not be @c nil.
+
+ This matcher first checks whether the evaluated object is a string. If so, it compares it with
+ @a aString, ignoring differences in runs of whitespace.
+
+ Example:
+
+ @par
+ @ref equalToIgnoringWhiteSpace(@"hello world")
+
+ will match @verbatim "hello world" @endverbatim
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToIgnoringWhiteSpace instead.)
+
+ @ingroup text_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToIgnoringWhiteSpace HC_equalToIgnoringWhiteSpace
+#endif
View
331 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsEqualToNumber.h
@@ -0,0 +1,331 @@
+//
+// OCHamcrest - HCIsEqualToNumber.h
+// Copyright 2013 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>
+
+
+OBJC_EXPORT id HC_equalToBool(BOOL value);
+
+/**
+ equalToBool(value) -
+ Matches if object is equal to @c NSNumber created from a @c BOOL.
+
+ @param value The @c BOOL value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from a @c BOOL @a value and compares the evaluated
+ object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToBool instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToBool HC_equalToBool
+#endif
+
+@interface HCIsEqualToBool : HCBaseMatcher
+
+- (instancetype)initWithValue:(BOOL)value;
+
+@end
+
+
+OBJC_EXPORT id HC_equalToChar(char value);
+
+/**
+ equalToChar(value) -
+ Matches if object is equal to @c NSNumber created from a @c char.
+
+ @param value The @c char value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from a @c char @a value and compares the evaluated
+ object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToChar instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToChar HC_equalToChar
+#endif
+
+
+OBJC_EXPORT id HC_equalToDouble(double value);
+
+/**
+ equalToDouble(value) -
+ Matches if object is equal to @c NSNumber created from a @c double.
+
+ @param value The @c double value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from a @c double @a value and compares the evaluated
+ object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToDouble instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToDouble HC_equalToDouble
+#endif
+
+
+OBJC_EXPORT id HC_equalToFloat(float value);
+
+/**
+ equalToFloat(value) -
+ Matches if object is equal to @c NSNumber created from a @c float.
+
+ @param value The @c float value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from a @c float @a value and compares the evaluated
+ object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToFloat instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToFloat HC_equalToFloat
+#endif
+
+
+OBJC_EXPORT id HC_equalToInt(int value);
+
+/**
+ equalToInt(value) -
+ Matches if object is equal to @c NSNumber created from an @c int.
+
+ @param value The @c int value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from a @c int @a value and compares the evaluated
+ object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToInt instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToInt HC_equalToInt
+#endif
+
+
+OBJC_EXPORT id HC_equalToLong(long value);
+
+/**
+ equalToLong(value) -
+ Matches if object is equal to @c NSNumber created from a @c long.
+
+ @param value The @c long value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from a @c long @a value and compares the evaluated
+ object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToLong instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToLong HC_equalToLong
+#endif
+
+
+OBJC_EXPORT id HC_equalToLongLong(long long value);
+
+/**
+ equalToLongLong(value) -
+ Matches if object is equal to @c NSNumber created from a <code>long long</code>.
+
+ @param value The <code>long long</code> value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from a <code>long long</code> @a value and compares
+ the evaluated object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToLongLong instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToLongLong HC_equalToLongLong
+#endif
+
+
+OBJC_EXPORT id HC_equalToShort(short value);
+
+/**
+ equalToShort(value) -
+ Matches if object is equal to @c NSNumber created from a @c short.
+
+ @param value The @c short value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from a @c short @a value and compares the evaluated
+ object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToShort instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToShort HC_equalToShort
+#endif
+
+
+OBJC_EXPORT id HC_equalToUnsignedChar(unsigned char value);
+
+/**
+ equalToUnsignedChar(value) -
+ Matches if object is equal to @c NSNumber created from an <code>unsigned char</code>.
+
+ @param value The <code>unsigned char</code> value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from an <code>unsigned char</code> @a value and
+ compares the evaluated object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToUnsignedChar instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToUnsignedChar HC_equalToUnsignedChar
+#endif
+
+
+OBJC_EXPORT id HC_equalToUnsignedInt(unsigned int value);
+
+/**
+ equalToUnsignedInt(value) -
+ Matches if object is equal to @c NSNumber created from an <code>unsigned int</code>.
+
+ @param value The <code>unsigned int</code> value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from an <code>unsigned int</code> @a value and
+ compares the evaluated object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToUnsignedInt instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToUnsignedInt HC_equalToUnsignedInt
+#endif
+
+
+OBJC_EXPORT id HC_equalToUnsignedLong(unsigned long value);
+
+/**
+ equalToUnsignedLong(value) -
+ Matches if object is equal to @c NSNumber created from an <code>unsigned long</code>.
+
+ @param value The <code>unsigned long</code> value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from an <code>unsigned long</code> @a value and
+ compares the evaluated object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToUnsignedLong instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToUnsignedLong HC_equalToUnsignedLong
+#endif
+
+
+OBJC_EXPORT id HC_equalToUnsignedLongLong(unsigned long long value);
+
+/**
+ equalToUnsignedLongLong(value) -
+ Matches if object is equal to @c NSNumber created from an <code>unsigned long long</code>.
+
+ @param value The <code>unsigned long long</code> value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from an <code>unsigned long long</code> @a value and
+ compares the evaluated object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToUnsignedLongLong instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToUnsignedLongLong HC_equalToUnsignedLongLong
+#endif
+
+
+OBJC_EXPORT id HC_equalToUnsignedShort(unsigned short value);
+
+/**
+ equalToUnsignedShort(value) -
+ Matches if object is equal to @c NSNumber created from an <code>unsigned short</code>.
+
+ @param value The <code>unsigned short</code> value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from an <code>unsigned short</code> @a value and
+ compares the evaluated object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToUnsignedShort instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToUnsignedShort HC_equalToUnsignedShort
+#endif
+
+
+OBJC_EXPORT id HC_equalToInteger(NSInteger value);
+
+/**
+ equalToInteger(value) -
+ Matches if object is equal to @c NSNumber created from an @c NSInteger.
+
+ @param value The @c NSInteger value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from an @c NSInteger @a value and compares the
+ evaluated object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToInteger instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToInteger HC_equalToInteger
+#endif
+
+
+OBJC_EXPORT id HC_equalToUnsignedInteger(NSUInteger value);
+
+/**
+ equalToUnsignedInteger(value) -
+ Matches if object is equal to @c NSNumber created from an @c NSUInteger.
+
+ @param value The @c NSUInteger value from which to create an @c NSNumber.
+
+ This matcher creates an @c NSNumber object from an @c NSUInteger @a value and compares the
+ evaluated object to it for equality.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_equalToUnsignedInteger instead.)
+
+ @ingroup primitive_number_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define equalToUnsignedInteger HC_equalToUnsignedInteger
+#endif
View
42 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsIn.h
@@ -0,0 +1,42 @@
+//
+// OCHamcrest - HCIsIn.h
+// Copyright 2013 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>
+
+
+@interface HCIsIn : HCBaseMatcher
+{
+ id collection;
+}
+
++ (instancetype)isInCollection:(id)aCollection;
+- (instancetype)initWithCollection:(id)aCollection;
+
+@end
+
+
+OBJC_EXPORT id HC_isIn(id aCollection);
+
+/**
+ isIn(aCollection) -
+ Matches if evaluated object is present in a given collection.
+
+ @param aCollection The collection to search.
+
+ This matcher invokes @c -containsObject: on @a aCollection to determine if the evaluated object
+ is an element of the collection.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_isIn instead.)
+
+ @ingroup collection_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define isIn HC_isIn
+#endif
View
41 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsInstanceOf.h
@@ -0,0 +1,41 @@
+//
+// OCHamcrest - HCIsInstanceOf.h
+// Copyright 2013 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/HCClassMatcher.h>
+
+
+@interface HCIsInstanceOf : HCClassMatcher
+
++ (id)isInstanceOf:(Class)type;
+
+@end
+
+
+OBJC_EXPORT id HC_instanceOf(Class aClass);
+
+/**
+ instanceOf(aClass) -
+ Matches if object is an instance of, or inherits from, a given class.
+
+ @param aClass The class to compare against as the expected class.
+
+ This matcher checks whether the evaluated object is an instance of @a aClass or an instance of
+ any class that inherits from @a aClass.
+
+ Example:
+ @li @ref instanceOf([NSString class])
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_instanceOf instead.)
+
+ @ingroup object_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define instanceOf HC_instanceOf
+#endif
View
47 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsNil.h
@@ -0,0 +1,47 @@
+//
+// OCHamcrest - HCIsNil.h
+// Copyright 2013 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>
+
+
+@interface HCIsNil : HCBaseMatcher
+
++ (id)isNil;
+
+@end
+
+
+OBJC_EXPORT id HC_nilValue(void);
+
+/**
+ Matches if object is @c nil.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_nilValue instead.)
+
+ @ingroup object_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define nilValue() HC_nilValue()
+#endif
+
+
+OBJC_EXPORT id HC_notNilValue(void);
+
+/**
+ Matches if object is not @c nil.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_notNilValue instead.)
+
+ @ingroup object_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define notNilValue() HC_notNilValue()
+#endif
View
47 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsNot.h
@@ -0,0 +1,47 @@
+//
+// OCHamcrest - HCIsNot.h
+// Copyright 2013 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>
+
+
+@interface HCIsNot : HCBaseMatcher
+{
+ id <HCMatcher> matcher;
+}
+
++ (instancetype)isNot:(id <HCMatcher>)aMatcher;
+- (instancetype)initNot:(id <HCMatcher>)aMatcher;
+
+@end
+
+
+OBJC_EXPORT id HC_isNot(id aMatcher);
+
+/**
+ isNot(aMatcher) -
+ Inverts the given matcher to its logical negation.
+
+ @param aMatcher The matcher to negate.
+
+ This matcher compares the evaluated object to the negation of the given matcher. If the
+ @a aMatcher argument is not a matcher, it is implicitly wrapped in an @ref equalTo matcher to
+ check for equality, and thus matches for inequality.
+
+ Examples:
+ @li <code>@ref assertThat(cheese, isNot(equalTo(smelly)))</code>
+ @li <code>@ref assertThat(cheese, isNot(smelly))</code>
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_isNot instead.)
+
+ @ingroup logical_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define isNot HC_isNot
+#endif
View
42 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsSame.h
@@ -0,0 +1,42 @@
+//
+// OCHamcrest - HCIsSame.h
+// Copyright 2013 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>
+
+
+@interface HCIsSame : HCBaseMatcher
+{
+ id object;
+}
+
++ (instancetype)isSameAs:(id)anObject;
+- (instancetype)initSameAs:(id)anObject;
+
+@end
+
+
+OBJC_EXPORT id HC_sameInstance(id object);
+
+/**
+ sameInstance(anObject) -
+ Matches if evaluated object is the same instance as a given object.
+
+ @param anObject The object to compare against as the expected value.
+
+ This matcher compares the address of the evaluated object to determine if it is the same object
+ as @a anObject.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_sameInstance instead.)
+
+ @ingroup object_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define sameInstance HC_sameInstance
+#endif
View
40 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCIsTypeOf.h
@@ -0,0 +1,40 @@
+//
+// OCHamcrest - HCIsTypeOf.h
+// Copyright 2013 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/HCClassMatcher.h>
+
+
+@interface HCIsTypeOf : HCClassMatcher
+
++ (id)isTypeOf:(Class)type;
+
+@end
+
+
+OBJC_EXPORT id HC_isA(Class aClass);
+
+/**
+ isA(aClass) -
+ Matches if object is an instance of a given class (but not of a subclass).
+
+ @param aClass The class to compare against as the expected class.
+
+ This matcher checks whether the evaluated object is an instance of @a aClass.
+
+ Example:
+ @li @ref isA([Foo class])
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_isA instead.)
+
+ @ingroup object_matchers
+ */
+#ifdef HC_SHORTHAND
+ #define isA HC_isA
+#endif
View
56 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCMatcher.h
@@ -0,0 +1,56 @@
+//
+// OCHamcrest - HCMatcher.h
+// Copyright 2013 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 "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
359 Frameworks/OCHamcrest.framework/Versions/A/Headers/HCNumberAssert.h
@@ -0,0 +1,359 @@
+//
+// OCHamcrest - HCNumberAssert.h
+// Copyright 2013 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 HCMatcher;
+
+
+OBJC_EXPORT void HC_assertThatBoolWithLocation(id testCase, BOOL actual,
+ id <HCMatcher> matcher, const char* fileName, int lineNumber);
+
+#define HC_assertThatBool(actual, matcher) \
+ HC_assertThatBoolWithLocation(self, actual, matcher, __FILE__, __LINE__)
+
+/**
+ assertThatBool(actual, matcher) -
+ Asserts that @c BOOL actual value, converted to an @c NSNumber, satisfies matcher.
+
+ @param actual The @c BOOL value to convert to an @c NSNumber for evaluation.
+ @param matcher The matcher to satisfy as the expected condition.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_assertThatBool instead.)
+
+ @ingroup integration_numeric
+ */
+#ifdef HC_SHORTHAND
+ #define assertThatBool HC_assertThatBool
+#endif
+
+
+OBJC_EXPORT void HC_assertThatCharWithLocation(id testCase, char actual,
+ id <HCMatcher> matcher, const char* fileName, int lineNumber);
+
+#define HC_assertThatChar(actual, matcher) \
+ HC_assertThatCharWithLocation(self, actual, matcher, __FILE__, __LINE__)
+
+/**
+ assertThatChar(actual, matcher) -
+ Asserts that @c char actual value, converted to an @c NSNumber, satisfies matcher.
+
+ @param actual The @c char value to convert to an @c NSNumber for evaluation.
+ @param matcher The matcher to satisfy as the expected condition.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_assertThatChar instead.)
+
+ @ingroup integration_numeric
+ */
+#ifdef HC_SHORTHAND
+ #define assertThatChar HC_assertThatChar
+#endif
+
+
+OBJC_EXPORT void HC_assertThatDoubleWithLocation(id testCase, double actual,
+ id <HCMatcher> matcher, const char* fileName, int lineNumber);
+
+#define HC_assertThatDouble(actual, matcher) \
+ HC_assertThatDoubleWithLocation(self, actual, matcher, __FILE__, __LINE__)
+
+/**
+ HC_assertThatDouble(actual, matcher) -
+ Asserts that @c double actual value, converted to an @c NSNumber, satisfies matcher.
+
+ @param actual The @c double value to convert to an @c NSNumber for evaluation.
+ @param matcher The matcher to satisfy as the expected condition.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_assertThatDouble instead.)
+
+ @ingroup integration_numeric
+ */
+#ifdef HC_SHORTHAND
+ #define assertThatDouble HC_assertThatDouble
+#endif
+
+
+OBJC_EXPORT void HC_assertThatFloatWithLocation(id testCase, float actual,
+ id <HCMatcher> matcher, const char* fileName, int lineNumber);
+
+#define HC_assertThatFloat(actual, matcher) \
+ HC_assertThatFloatWithLocation(self, actual, matcher, __FILE__, __LINE__)
+
+/**
+ assertThatFloat(actual, matcher) -
+ Asserts that @c float actual value, converted to an @c NSNumber, satisfies matcher.
+
+ @param actual The @c float value to convert to an @c NSNumber for evaluation.
+ @param matcher The matcher to satisfy as the expected condition.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_assertThatFloat instead.)
+
+ @ingroup integration_numeric
+ */
+#ifdef HC_SHORTHAND
+ #define assertThatFloat HC_assertThatFloat
+#endif
+
+
+OBJC_EXPORT void HC_assertThatIntWithLocation(id testCase, int actual,
+ id <HCMatcher> matcher, const char* fileName, int lineNumber);
+
+#define HC_assertThatInt(actual, matcher) \
+ HC_assertThatIntWithLocation(self, actual, matcher, __FILE__, __LINE__)
+
+/**
+ assertThatInt(actual, matcher) -
+ Asserts that @c int actual value, converted to an @c NSNumber, satisfies matcher.
+
+ @param actual The @c int value to convert to an @c NSNumber for evaluation.
+ @param matcher The matcher to satisfy as the expected condition.
+
+ (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym
+ @c HC_assertThatInt instead.)
+
+ @ingroup integration_numeric
+ */
+#ifdef HC_SHORTHAND
+ #define assertThatInt HC_assertThatInt
+#endif
+
+
+OBJC_EXPORT void HC_assertThatLongWithLocation(id testCase, long actual,
+ id <HCMatcher> matcher, const char* fileName, int lineNumber);
+
+#define HC_assertThatLong(act