Skip to content

Commit

Permalink
Added instance method on unit test provider to clear events
Browse files Browse the repository at this point in the history
  • Loading branch information
thuss committed Nov 14, 2012
1 parent a3d708d commit d2c4096
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
5 changes: 4 additions & 1 deletion AnalyticsKitUnitTestProvider.h
Expand Up @@ -7,16 +7,19 @@
//

#import <Foundation/Foundation.h>
#import "AnalyticsKit.h"
#import "AnalyticsKitEvent.h"

@interface AnalyticsKitUnitTestProvider : NSObject<AnalyticsKitProvider>

@property(nonatomic,strong)NSMutableArray *events;

+ (AnalyticsKitUnitTestProvider *)setUp;
+ (void)clearEvents; // also called by tearDown
+ (void)tearDown;
+ (AnalyticsKitUnitTestProvider *)unitTestProvider; // setup must be called first, returns the instance
+ (void)clearEvents; // also called by tearDown; does same thing as instance method

- (void)clearEvents;
- (BOOL)hasEventLoggedWithName:(NSString *)eventName;
- (AnalyticsKitEvent *)firstEventLoggedWithName:(NSString *)eventName;
- (NSArray *)eventsLoggedWithName:(NSString *)eventName;
Expand Down
18 changes: 13 additions & 5 deletions AnalyticsKitUnitTestProvider.m
Expand Up @@ -17,14 +17,18 @@ + (AnalyticsKitUnitTestProvider *)setUp {
return provider;
}

+ (void)clearEvents {
// Remove the events stored in the unit test provider
+ (AnalyticsKitUnitTestProvider *)unitTestProvider {
AnalyticsKitUnitTestProvider *unitProvider = nil;
NSArray *loggers = [AnalyticsKit loggers];
for (AnalyticsKitUnitTestProvider *provider in loggers) {
if ([provider isKindOfClass:[AnalyticsKitUnitTestProvider class]]) {
provider.events = nil;
}
if ([provider isKindOfClass:[AnalyticsKitUnitTestProvider class]]) unitProvider = provider;
}
return unitProvider;
}

+ (void)clearEvents {
// Remove the events stored in the unit test provider
[[self unitTestProvider] clearEvents];
}

+ (void)tearDown {
Expand All @@ -33,6 +37,10 @@ + (void)tearDown {
[AnalyticsKit initialize];
}

- (void)clearEvents {
[self setEvents:[NSMutableArray arrayWithCapacity:20]];
}

- (BOOL)hasEventLoggedWithName:(NSString *)eventName {
return [self firstEventLoggedWithName:eventName] != nil;
}
Expand Down

0 comments on commit d2c4096

Please sign in to comment.