KWBeSubclassOfClassMatcher.m 1.1 KB

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