1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- //
- // Licensed under the terms in License.txt
- //
- // Copyright 2010 Allen Ding. All rights reserved.
- //
- #import "KWBeZeroMatcher.h"
- #import "KWFormatter.h"
- #import "KWValue.h"
- @implementation KWBeZeroMatcher
- #pragma mark - Getting Matcher Strings
- + (NSArray *)matcherStrings {
- return @[@"beZero"];
- }
- #pragma mark - Matching
- - (BOOL)evaluate {
- if ([self.subject isKindOfClass:[NSNumber class]]) {
- return [self.subject isEqualToNumber:@0];
- }
-
- if ([self.subject respondsToSelector:@selector(numberValue)]) {
- return [[self.subject numberValue] isEqualToNumber:@0];
- }
-
- return NO;
- }
- #pragma mark - Getting Failure Messages
- - (NSString *)failureMessageForShould {
- return [NSString stringWithFormat:@"expected subject to be zero, got %@",
- [KWFormatter formatObject:self.subject]];
- }
- - (NSString *)failureMessageForShouldNot {
- return [NSString stringWithFormat:@"expected subject not to be zero"];
- }
- - (NSString *)description {
- return @"be zero";
- }
- #pragma mark - Configuring Matchers
- - (void)beZero {
- }
- @end
|