Files
MonsterCards/Pods/OCMockito/Source/OCMockito/Verifying/MKTExactTimes.m
Tom Hicks bab5a55c3b Adds cocoapods for libraries.
Adds OCMockito and OCHamcrest libs.
2020-09-05 22:06:51 -07:00

51 lines
1.5 KiB
Objective-C

// OCMockito by Jon Reid, https://qualitycoding.org/
// Copyright 2020 Quality Coding, Inc. See LICENSE.txt
#import "MKTExactTimes.h"
#import "MKTInvocationMatcher.h"
#import "MKTNumberOfInvocationsChecker.h"
#import "MKTVerificationData.h"
#import "MKTMissingInvocationChecker.h"
@interface MKTExactTimes ()
@property (nonatomic, assign, readonly) NSUInteger wantedCount;
@end
@implementation MKTExactTimes
- (instancetype)initWithCount:(NSUInteger)wantedNumberOfInvocations
{
self = [super init];
if (self)
_wantedCount = wantedNumberOfInvocations;
return self;
}
#pragma mark - MKTVerificationMode
- (void)verifyData:(MKTVerificationData *)data testLocation:(MKTTestLocation)testLocation
{
NSString *failureDescription;
if (self.wantedCount > 0)
{
MKTMissingInvocationChecker *missingInvocation = [[MKTMissingInvocationChecker alloc] init];
failureDescription = [missingInvocation checkInvocations:data.invocations wanted:data.wanted];
[data.wanted stopArgumentCapture];
}
if (!failureDescription)
{
MKTNumberOfInvocationsChecker *numberOfInvocations = [[MKTNumberOfInvocationsChecker alloc] init];
failureDescription = [numberOfInvocations checkInvocations:data.invocations
wanted:data.wanted
wantedCount:self.wantedCount];
}
if (failureDescription)
MKTFailTestLocation(testLocation, failureDescription);
}
@end