Files
MonsterCards/iOS/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingKey.m
Tom Hicks c3031fbc39 Adds cocoapods for libraries.
Adds OCMockito and OCHamcrest libs.
2020-09-05 22:06:51 -07:00

47 lines
1.1 KiB
Objective-C

// OCHamcrest by Jon Reid, https://qualitycoding.org/
// Copyright 2019 hamcrest.org. See LICENSE.txt
#import "HCIsDictionaryContainingKey.h"
#import "HCRequireNonNilObject.h"
#import "HCWrapInMatcher.h"
@interface HCIsDictionaryContainingKey ()
@property (nonatomic, strong, readonly) id <HCMatcher> keyMatcher;
@end
@implementation HCIsDictionaryContainingKey
- (instancetype)initWithKeyMatcher:(id <HCMatcher>)keyMatcher
{
self = [super init];
if (self)
_keyMatcher = keyMatcher;
return self;
}
- (BOOL)matches:(id)dict
{
if ([dict isKindOfClass:[NSDictionary class]])
for (id oneKey in dict)
if ([self.keyMatcher matches:oneKey])
return YES;
return NO;
}
- (void)describeTo:(id <HCDescription>)description
{
[[description appendText:@"a dictionary containing key "]
appendDescriptionOf:self.keyMatcher];
}
@end
id HC_hasKey(id keyMatcher)
{
HCRequireNonNilObject(keyMatcher);
return [[HCIsDictionaryContainingKey alloc] initWithKeyMatcher:HCWrapInMatcher(keyMatcher)];
}