Skip to content

Commit 2aecd87

Browse files
committed
Refactor from assertTrue to assertEqual
1 parent 0852f62 commit 2aecd87

File tree

7 files changed

+62
-51
lines changed

7 files changed

+62
-51
lines changed

iOS_SDK/OneSignalSDK/Source/OSInAppMessage.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ + (instancetype)instanceWithJson:(NSDictionary * _Nonnull)json {
127127
else
128128
return nil;
129129

130+
//TODO: This will need to be changed when we add core data or database to iOS, see android implementation for reference
130131
if (json[@"displayed_in_session"]) {
131132
message.isDisplayedInSession = json[@"displayed_in_session"];
132133
}
@@ -162,7 +163,7 @@ -(NSDictionary *)jsonRepresentation {
162163
if ([_displayStats isRedisplayEnabled]) {
163164
json[@"redisplay"] = [_displayStats jsonRepresentation];
164165
}
165-
166+
//TODO: This will need to be changed when we add core data or database to iOS, see android implementation for reference
166167
json[@"displayed_in_session"] = @(_isDisplayedInSession);
167168

168169
return json;

iOS_SDK/OneSignalSDK/Source/OSInAppMessageDisplayStats.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@ + (instancetype)instanceWithJson:(NSDictionary * _Nonnull)json {
7979
if (json[@"delay"] && [json[@"delay"] isKindOfClass:[NSNumber class]])
8080
displayStats.displayDelay = [json[@"delay"] doubleValue];
8181
else
82-
displayStats.displayDelay = [@0 doubleValue];
82+
displayStats.displayDelay = 0;
8383

8484
displayStats.displayQuantity = 0;
85-
displayStats.lastDisplayTime = [@-1 doubleValue];
85+
displayStats.lastDisplayTime = -1;
8686
displayStats.redisplayEnabled = YES;
8787

8888
return displayStats;

iOS_SDK/OneSignalSDK/Source/OSMessagingController.m

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ @interface OSMessagingController ()
4848
@property (strong, nonatomic, nonnull) NSMutableDictionary <NSString *, OSInAppMessage *> *redisplayedInAppMessages;
4949

5050
// Tracking for click ids wihtin IAMs so that body, button, and image are only tracked on the dashboard once
51+
// TODO:We should refactor this to be like redisplay logic, save clickId + IAM or by IAM
5152
@property (strong, nonatomic, nonnull) NSMutableSet <NSString *> *clickedClickIds;
5253

5354
// Tracking for impessions so that an IAM is only tracked once and not several times if it is reshown
@@ -64,7 +65,8 @@ @interface OSMessagingController ()
6465

6566
@implementation OSMessagingController
6667

67-
static long SIX_MONTHS_TIME_SECONDS = 6 * 30 * 24 * 60 * 60;
68+
// Maximum time decided to save IAM with redisplay on cache - current value: six months in seconds
69+
static long OS_IAM_MAX_CACHE_TIME = 6 * 30 * 24 * 60 * 60;
6870
static OSMessagingController *sharedInstance = nil;
6971
static dispatch_once_t once;
7072
+ (OSMessagingController *)sharedInstance {
@@ -149,11 +151,11 @@ - (void)resetRedisplayMessagesBySession {
149151
Remove IAMs that the last display time was six month ago
150152
*/
151153
- (void)deleteOldRedisplayedInAppMessages {
152-
NSMutableSet <NSString *> * messagesIdToRemove = [NSMutableSet new];
154+
NSMutableSet <NSString *> *messagesIdToRemove = [NSMutableSet new];
153155

154-
let sixMonthsAgo = self.dateGenerator() - SIX_MONTHS_TIME_SECONDS;
156+
let maxCacheTime = self.dateGenerator() - OS_IAM_MAX_CACHE_TIME;
155157
for (NSString *messageId in _redisplayedInAppMessages) {
156-
if ([_redisplayedInAppMessages objectForKey:messageId].displayStats.lastDisplayTime < sixMonthsAgo) {
158+
if ([_redisplayedInAppMessages objectForKey:messageId].displayStats.lastDisplayTime < maxCacheTime) {
157159
[messagesIdToRemove addObject:messageId];
158160
}
159161
}
@@ -362,23 +364,23 @@ - (void)handleMessageActionWithURL:(OSInAppMessageAction *)action {
362364
* - Already displayed
363365
* - At least one Trigger has changed
364366
*/
365-
- (void)makeRedisplayedMessagesAvailableWithTriggers:(NSArray<NSString *> *)newTriggersKeys {
367+
- (void)evaluateRedisplayedInAppMessages:(NSArray<NSString *> *)newTriggersKeys {
366368
for (OSInAppMessage *message in _messages) {
367369
if ([_redisplayedInAppMessages objectForKey:message.messageId] &&
368-
[self.triggerController isTriggerOnMessage:message newTriggersKeys:newTriggersKeys]) {
370+
[self.triggerController hasSharedTriggers:message newTriggersKeys:newTriggersKeys]) {
369371
message.isTriggerChanged = true;
370372
}
371373
}
372374
}
373375

374376
#pragma mark Trigger Methods
375377
- (void)addTriggers:(NSDictionary<NSString *, id> *)triggers {
376-
[self makeRedisplayedMessagesAvailableWithTriggers:triggers.allKeys];
378+
[self evaluateRedisplayedInAppMessages:triggers.allKeys];
377379
[self.triggerController addTriggers:triggers];
378380
}
379381

380382
- (void)removeTriggersForKeys:(NSArray<NSString *> *)keys {
381-
[self makeRedisplayedMessagesAvailableWithTriggers:keys];
383+
[self evaluateRedisplayedInAppMessages:keys];
382384
[self.triggerController removeTriggersForKeys:keys];
383385
}
384386

@@ -453,6 +455,16 @@ - (void)persistInAppMessageForRedisplay:(OSInAppMessage *)message {
453455
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:[NSString stringWithFormat:@"persistInAppMessageForRedisplay: %@ \nredisplayedInAppMessages: %@", [message description], [_redisplayedInAppMessages description]]];
454456
}
455457

458+
/*
459+
* Checks if a click being available:
460+
* 1. Redisplay is enabled and click is available within message
461+
* 2. Click clickId should not be inside of the clickedClickIds set
462+
*/
463+
- (BOOL)isClickAvailable:(OSInAppMessage *)message withClickId:(NSString *)clickId {
464+
// If IAM has redisplay the clickId may be available
465+
return ([message.displayStats isRedisplayEnabled] && [message isClickAvailable:clickId]) || ![_clickedClickIds containsObject:clickId];
466+
}
467+
456468
- (void)messageViewDidSelectAction:(OSInAppMessage *)message withAction:(OSInAppMessageAction *)action {
457469
// Assign firstClick BOOL based on message being clicked previously or not
458470
action.firstClick = [message takeActionAsUnique];
@@ -464,14 +476,12 @@ - (void)messageViewDidSelectAction:(OSInAppMessage *)message withAction:(OSInApp
464476
self.actionClickBlock(action);
465477

466478
let clickId = action.clickId;
467-
// If IAM has redisplay the clickId may be available
468-
BOOL clickAvailableByRedisplay = [message.displayStats isRedisplayEnabled] && [message isClickAvailable:clickId];
469479

470480
// Make sure no click tracking is performed for IAM previews
471481
// If the IAM clickId exists within the cached clickedClickIds return early so the click is not tracked
472482
// unless that click is from an IAM with redisplay
473483
// Handles body, button, or image clicks
474-
if (message.isPreview || (!clickAvailableByRedisplay && [self.clickedClickIds containsObject:clickId]))
484+
if (message.isPreview || ![self isClickAvailable:message withClickId:clickId])
475485
return;
476486

477487
// Add clickId to clickedClickIds

iOS_SDK/OneSignalSDK/Source/OSTriggerController.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN
4747
@property (weak, nonatomic) id<OSTriggerControllerDelegate> delegate;
4848

4949
- (BOOL)messageMatchesTriggers:(OSInAppMessage *)message;
50-
- (BOOL)isTriggerOnMessage:(OSInAppMessage *)message newTriggersKeys:(NSArray<NSString *> *)newTriggersKeys;
50+
- (BOOL)hasSharedTriggers:(OSInAppMessage *)message newTriggersKeys:(NSArray<NSString *> *)newTriggersKeys;
5151
- (void)addTriggers:(NSDictionary<NSString *, id> *)triggers;
5252
- (void)removeTriggersForKeys:(NSArray<NSString *> *)keys;
5353
- (NSDictionary<NSString *, id> *)getTriggers;

iOS_SDK/OneSignalSDK/Source/OSTriggerController.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ - (id)getTriggerValueForKey:(NSString *)key {
8181
*
8282
* If trigger key is part of message triggers, then return true, otherwise false
8383
*/
84-
- (BOOL)isTriggerOnMessage:(OSInAppMessage *)message newTriggersKeys:(NSArray<NSString *> *)newTriggersKeys {
84+
- (BOOL)hasSharedTriggers:(OSInAppMessage *)message newTriggersKeys:(NSArray<NSString *> *)newTriggersKeys {
8585
for (NSString *triggerKey in newTriggersKeys) {
8686
for (NSArray <OSTrigger *> *andConditions in message.triggers) {
8787
for (OSTrigger *trigger in andConditions) {

iOS_SDK/OneSignalSDK/UnitTests/InAppMessagingIntegrationTests.m

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ - (void)testMessageDisplayedAfterTimer {
155155
expectation.expectedFulfillmentCount = 1;
156156

157157
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.06 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
158-
XCTAssertEqual([[OSMessagingControllerOverrider messageDisplayQueue] count], 1);
158+
XCTAssertEqual(OSMessagingControllerOverrider.messageDisplayQueue.count, 1);
159159

160160
[expectation fulfill];
161161
});
@@ -210,24 +210,24 @@ - (void)testMessageWithRedisplay {
210210
[OneSignal addTrigger:@"prop1" withValue:@2];
211211

212212
// IAM should be shown instantly and be within the messageDisplayQueue
213-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 1);
213+
XCTAssertEqual(1, OSMessagingControllerOverrider.messageDisplayQueue.count);
214214

215215
// The display should cause an "viewed" API request
216216
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestInAppMessageViewed class]));
217217

218218
let iamDisplayed = [[OSMessagingControllerOverrider messageDisplayQueue] objectAtIndex:0];
219-
XCTAssertTrue(iamDisplayed.displayStats.lastDisplayTime == -1);
219+
XCTAssertEqual(-1, iamDisplayed.displayStats.lastDisplayTime);
220220

221221
[OSMessagingControllerOverrider dismissCurrentMessage];
222222
[OneSignalClientOverrider reset:self];
223223

224-
XCTAssertTrue([[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId] != nil);
224+
XCTAssertNotNil([[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId]);
225225
OSInAppMessage *dismissedMessage = [[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId];
226226
let lastDisplayTime = dismissedMessage.displayStats.lastDisplayTime;
227227
XCTAssertEqual(1, dismissedMessage.displayStats.displayQuantity);
228228
XCTAssertEqual(firstInterval, lastDisplayTime);
229229

230-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 0);
230+
XCTAssertEqual(0, OSMessagingControllerOverrider.messageDisplayQueue.count);
231231

232232
comps.minute = 1 + delay/60; // delay/60 -> minutes
233233

@@ -240,13 +240,13 @@ - (void)testMessageWithRedisplay {
240240

241241
[OneSignal addTrigger:@"prop1" withValue:@2];
242242

243-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 1);
243+
XCTAssertEqual(1, OSMessagingControllerOverrider.messageDisplayQueue.count);
244244
// The display should cause an new "viewed" API request
245245
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestInAppMessageViewed class]));
246246

247247
[OSMessagingControllerOverrider dismissCurrentMessage];
248248

249-
XCTAssertTrue([[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId] != nil);
249+
XCTAssertNotNil([[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId]);
250250
OSInAppMessage *secondDismissedMessage = [[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId];
251251
let secondLastDisplayTime = secondDismissedMessage.displayStats.lastDisplayTime;
252252
XCTAssertEqual(2, secondDismissedMessage.displayStats.displayQuantity);
@@ -279,16 +279,16 @@ - (void)testClickedLaunchesAPIRequestMultipleTimes_MessageWithRedisplay {
279279
let standardUserDefaults = OneSignalUserDefaults.initStandard;
280280
let clickedClickIds = [standardUserDefaults getSavedSetForKey:OS_IAM_CLICKED_SET_KEY defaultValue:[NSMutableSet new]];
281281

282-
XCTAssertTrue(clickedClickIds.count == 1);
282+
XCTAssertEqual(1, clickedClickIds.count);
283283
NSString *clickedId = [[clickedClickIds allObjects] objectAtIndex:0];
284284

285285
XCTAssertEqual(action.clickId, clickedId);
286-
XCTAssertEqual(1, [message getClickedClickIds].count);
286+
XCTAssertEqual(1, message.getClickedClickIds.count);
287287
XCTAssertEqual(action.clickId, [[message.getClickedClickIds allObjects] objectAtIndex:0]);
288288

289289
[message clearClickIds];
290290
[OneSignalClientOverrider reset:self];
291-
XCTAssertEqual(0, [message getClickedClickIds].count);
291+
XCTAssertEqual(0, message.getClickedClickIds.count);
292292
XCTAssertEqualObjects(nil, OneSignalClientOverrider.lastHTTPRequestType);
293293

294294
[OSMessagingController.sharedInstance messageViewDidSelectAction:message withAction:action];
@@ -297,11 +297,11 @@ - (void)testClickedLaunchesAPIRequestMultipleTimes_MessageWithRedisplay {
297297

298298
let secondClickedClickIds = [standardUserDefaults getSavedSetForKey:OS_IAM_CLICKED_SET_KEY defaultValue:nil];
299299

300-
XCTAssertTrue(secondClickedClickIds.count == 1);
300+
XCTAssertEqual(1, secondClickedClickIds.count);
301301
NSString *secondClickedId = [[secondClickedClickIds allObjects] objectAtIndex:0];
302302

303303
XCTAssertEqual(action.clickId, secondClickedId);
304-
XCTAssertEqual(1, [message getClickedClickIds].count);
304+
XCTAssertEqual(1, message.getClickedClickIds.count);
305305
XCTAssertEqual(action.clickId, [[message.getClickedClickIds allObjects] objectAtIndex:0]);
306306
}
307307

@@ -310,17 +310,17 @@ - (void)testRemoveTriggers {
310310
[UnitTestCommonMethods initOneSignalAndThreadWait];
311311

312312
[OneSignal addTrigger:@"test1" withValue:@"value1"];
313-
XCTAssertTrue([OneSignal getTriggers].count == 1);
313+
XCTAssertEqual(1, [OneSignal getTriggers].count);
314314

315315
[OneSignal addTriggers:@{@"test2" : @33}];
316316
XCTAssertEqualObjects(OneSignal.getTriggers[@"test2"], @33);
317-
XCTAssertTrue([OneSignal getTriggers].count == 2);
317+
XCTAssertEqual(2, [OneSignal getTriggers].count);
318318

319319
[OneSignal addTriggers:@{@"test2" : @"44"}];
320-
XCTAssertTrue([OneSignal getTriggers].count == 2);
320+
XCTAssertEqual(2, [OneSignal getTriggers].count);
321321

322322
[OneSignal addTriggers:@{@"test3" : @""}];
323-
XCTAssertTrue([OneSignal getTriggers].count == 3);
323+
XCTAssertEqual(3, [OneSignal getTriggers].count);
324324

325325
[OneSignal removeTriggerForKey:@"test1"];
326326
XCTAssertNil(OneSignal.getTriggers[@"test1"]);
@@ -332,7 +332,7 @@ - (void)testRemoveTriggers {
332332
[OneSignal removeTriggerForKey:@"test2"];
333333
[OneSignal removeTriggerForKey:@"test3"];
334334

335-
XCTAssertTrue([OneSignal getTriggers].count == 0);
335+
XCTAssertEqual(0, [OneSignal getTriggers].count);
336336
}
337337

338338
//FINISH TEST MAKE DOC OF QUESTIONS
@@ -370,11 +370,11 @@ - (void)testNoTriggersDisplayOnePerSession_MessageWithRedisplay {
370370
}];
371371
[self initOneSignalWithInAppMessage:message];
372372

373-
XCTAssertTrue(OSMessagingControllerOverrider.messagesForRedisplay.count == 1);
373+
XCTAssertEqual(1, OSMessagingControllerOverrider.messagesForRedisplay.count);
374374
// IAM should be shown instantly and be within the messageDisplayQueue
375-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 1);
375+
XCTAssertEqual(1, OSMessagingControllerOverrider.messageDisplayQueue.count);
376376
[OSMessagingControllerOverrider dismissCurrentMessage];
377-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 0);
377+
XCTAssertEqual(0, OSMessagingControllerOverrider.messageDisplayQueue.count);
378378

379379
// Time travel for delay
380380
comps.minute = 1 + delay/60; // delay/60 -> minutes
@@ -388,7 +388,7 @@ - (void)testNoTriggersDisplayOnePerSession_MessageWithRedisplay {
388388
// Add trigger to call evaluateInAppMessage
389389
[OneSignal addTrigger:@"prop1" withValue:@2];
390390
// IAM shouldn't display again because It don't have triggers
391-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 0);
391+
XCTAssertEqual(0, OSMessagingControllerOverrider.messageDisplayQueue.count);
392392
}
393393

394394
- (void)testRemoveTriggersMakesRedisplay_MessageWithRedisplay {
@@ -416,18 +416,18 @@ - (void)testRemoveTriggersMakesRedisplay_MessageWithRedisplay {
416416
return firstInterval;
417417
}];
418418

419-
XCTAssertTrue(OSMessagingControllerOverrider.messagesForRedisplay.count == 0);
419+
XCTAssertEqual(0, OSMessagingControllerOverrider.messagesForRedisplay.count);
420420
[OneSignal removeTriggerForKey:@"prop1"];
421421

422422
// IAM should be shown instantly and be within the messageDisplayQueue
423-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 1);
423+
XCTAssertEqual(1, OSMessagingControllerOverrider.messageDisplayQueue.count);
424424

425425
let iamDisplayed = [OSMessagingControllerOverrider.messageDisplayQueue objectAtIndex:0];
426-
XCTAssertTrue(iamDisplayed.displayStats.lastDisplayTime == -1);
426+
XCTAssertEqual(-1, iamDisplayed.displayStats.lastDisplayTime);
427427

428428
[OSMessagingControllerOverrider dismissCurrentMessage];
429429

430-
XCTAssertTrue(OSMessagingControllerOverrider.messagesForRedisplay.count == 1);
430+
XCTAssertEqual(1, OSMessagingControllerOverrider.messagesForRedisplay.count);
431431

432432
OSInAppMessage *dismissedMessage = [[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId];
433433
let lastDisplayTime = dismissedMessage.displayStats.lastDisplayTime;
@@ -444,13 +444,13 @@ - (void)testRemoveTriggersMakesRedisplay_MessageWithRedisplay {
444444
}];
445445

446446
[OneSignal addTrigger:@"prop1" withValue:@2];
447-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 0);
447+
XCTAssertEqual(0, OSMessagingControllerOverrider.messageDisplayQueue.count);
448448
[OneSignal removeTriggerForKey:@"prop1"];
449-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 1);
449+
XCTAssertEqual(1, OSMessagingControllerOverrider.messageDisplayQueue.count);
450450

451451
[OSMessagingControllerOverrider dismissCurrentMessage];
452452

453-
XCTAssertTrue([[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId] != nil);
453+
XCTAssertNotNil([[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId]);
454454
OSInAppMessage *secondDismissedMessage = [[OSMessagingControllerOverrider messagesForRedisplay] objectForKey:message.messageId];
455455
let secondLastDisplayTime = secondDismissedMessage.displayStats.lastDisplayTime;
456456
XCTAssertEqual(2, secondDismissedMessage.displayStats.displayQuantity);
@@ -475,7 +475,7 @@ - (void)testRemoveMessagesFromCache_MessageWithRedisplay {
475475
return firstInterval;
476476
}];
477477

478-
let sixMonthsInSeconds = 6 * 30 * 24 * 60 * 60;
478+
let maxCacheTime = 6 * 30 * 24 * 60 * 60; // Six month in seconds
479479
let standardUserDefaults = OneSignalUserDefaults.initStandard;
480480

481481
[OSMessagingController.sharedInstance setTriggerWithName:@"prop1" withValue:@2];
@@ -485,9 +485,9 @@ - (void)testRemoveMessagesFromCache_MessageWithRedisplay {
485485

486486
let message = [OSInAppMessageTestHelper testMessageWithTriggers:@[@[firstTrigger]] withRedisplayLimit:limit delay:@(delay)];
487487
let message1 = [OSInAppMessageTestHelper testMessageWithTriggers:@[@[firstTrigger]] withRedisplayLimit:limit delay:@(delay)];
488-
message1.displayStats.lastDisplayTime = firstInterval - sixMonthsInSeconds + 1;
488+
message1.displayStats.lastDisplayTime = firstInterval - maxCacheTime + 1;
489489
let message2 = [OSInAppMessageTestHelper testMessageWithTriggers:@[@[firstTrigger]] withRedisplayLimit:limit delay:@(delay)];
490-
message2.displayStats.lastDisplayTime = firstInterval - sixMonthsInSeconds - 1;
490+
message2.displayStats.lastDisplayTime = firstInterval - maxCacheTime - 1;
491491

492492
NSMutableDictionary <NSString *, OSInAppMessage *> * redisplayedInAppMessages = [NSMutableDictionary new];
493493
[redisplayedInAppMessages setObject:message1 forKey:message1.messageId];
@@ -514,7 +514,7 @@ - (void)testTimeSinceLastInAppMessageTrigger_withNoPreviousInAppMessages {
514514
XCTAssertFalse(NSTimerOverrider.hasScheduledTimer);
515515

516516
// IAM should be shown instantly and be within the messageDisplayQueue
517-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 1);
517+
XCTAssertEqual(1, OSMessagingControllerOverrider.messageDisplayQueue.count);
518518
}
519519

520520
// If a message is scheduled to be displayed in the past, it should not be shown at all.
@@ -529,7 +529,7 @@ - (void)testExpiredExactTimeTrigger {
529529
XCTAssertFalse(NSTimerOverrider.hasScheduledTimer);
530530

531531
// IAM should be shown instantly and be within the messageDisplayQueue essentially ignoring the negative number in seconds
532-
XCTAssertTrue(OSMessagingControllerOverrider.messageDisplayQueue.count == 1);
532+
XCTAssertEqual(1, OSMessagingControllerOverrider.messageDisplayQueue.count);
533533
}
534534

535535
// This test checks to make sure that if you are using the > operator for an exact time trigger,

0 commit comments

Comments
 (0)