KWStringContainsMatcher.m 903 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // StringContainsMatcher.m
  3. // Kiwi
  4. //
  5. // Created by Stewart Gleadow on 7/06/12.
  6. // Copyright (c) 2012 Allen Ding. All rights reserved.
  7. //
  8. #import "KWStringContainsMatcher.h"
  9. @interface KWStringContainsMatcher(){}
  10. @property (nonatomic, copy) NSString *substring;
  11. @end
  12. @implementation KWStringContainsMatcher
  13. + (id)matcherWithSubstring:(NSString *)aSubstring {
  14. return [[self alloc] initWithSubstring:aSubstring];
  15. }
  16. - (id)initWithSubstring:(NSString *)aSubstring {
  17. self = [super init];
  18. if (self) {
  19. _substring = [aSubstring copy];
  20. }
  21. return self;
  22. }
  23. - (BOOL)matches:(id)item {
  24. if (![item respondsToSelector:@selector(rangeOfString:)]) {
  25. return NO;
  26. }
  27. return [item rangeOfString:self.substring].location != NSNotFound;
  28. }
  29. - (NSString *)description {
  30. return [NSString stringWithFormat:@"a string with substring '%@'", self.substring];
  31. }
  32. @end