KWBeKindOfClassMatcher.m 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // Licensed under the terms in License.txt
  3. //
  4. // Copyright 2010 Allen Ding. All rights reserved.
  5. //
  6. #import "KWBeKindOfClassMatcher.h"
  7. #import "KWFormatter.h"
  8. @interface KWBeKindOfClassMatcher()
  9. @property (nonatomic, assign) Class targetClass;
  10. @end
  11. @implementation KWBeKindOfClassMatcher
  12. #pragma mark - Getting Matcher Strings
  13. + (NSArray *)matcherStrings {
  14. return @[@"beKindOfClass:"];
  15. }
  16. #pragma mark - Matching
  17. - (BOOL)evaluate {
  18. return [self.subject isKindOfClass:self.targetClass];
  19. }
  20. #pragma mark - Getting Failure Messages
  21. - (NSString *)failureMessageForShould {
  22. return [NSString stringWithFormat:@"expected subject to be kind of %@, got %@",
  23. NSStringFromClass(self.targetClass),
  24. NSStringFromClass([self.subject class])];
  25. }
  26. - (NSString *)description {
  27. return [NSString stringWithFormat:@"be kind of %@", NSStringFromClass(self.targetClass)];
  28. }
  29. #pragma mark - Configuring Matchers
  30. - (void)beKindOfClass:(Class)aClass {
  31. self.targetClass = aClass;
  32. }
  33. @end