Files
MonsterCards/iOS/Pods/OCHamcrest/Source/Library/Collection/HCIsDictionaryContainingValue.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 "HCIsDictionaryContainingValue.h"
#import "HCRequireNonNilObject.h"
#import "HCWrapInMatcher.h"
@interface HCIsDictionaryContainingValue ()
@property (nonatomic, strong, readonly) id <HCMatcher> valueMatcher;
@end
@implementation HCIsDictionaryContainingValue
- (instancetype)initWithValueMatcher:(id <HCMatcher>)valueMatcher
{
self = [super init];
if (self)
_valueMatcher = valueMatcher;
return self;
}
- (BOOL)matches:(id)dict
{
if ([dict respondsToSelector:@selector(allValues)])
for (id oneValue in [dict allValues])
if ([self.valueMatcher matches:oneValue])
return YES;
return NO;
}
- (void)describeTo:(id <HCDescription>)description
{
[[description appendText:@"a dictionary containing value "]
appendDescriptionOf:self.valueMatcher];
}
@end
id HC_hasValue(id valueMatcher)
{
HCRequireNonNilObject(valueMatcher);
return [[HCIsDictionaryContainingValue alloc] initWithValueMatcher:HCWrapInMatcher(valueMatcher)];
}