@@ -45,23 +45,13 @@ - (void)setUp {
45
45
46
46
- (void )tearDown {
47
47
self.queue = nil ;
48
- self.testData1 = nil ;
49
- self.testData2 = nil ;
50
- self.testData3 = nil ;
51
- self.testData4 = nil ;
52
48
[super tearDown ];
53
49
}
54
50
55
- - (void )testQueueInit
56
- {
57
- OPTLYQueue *queue = [OPTLYQueue new ];
58
- XCTAssert (queue.maxQueueSize == OPTLYQueueDefaultMaxSize, @" Invalid max queue size for default queue initialization." );
59
- }
60
-
61
51
- (void )testQueueInitWithQueueSize {
62
52
XCTAssertNotNil (self.queue );
63
53
NSInteger queueCapacity = [self .queue maxQueueSize ];
64
- XCTAssert (queueCapacity == kMaxQueueSize , @" Incorrect max queue size" );
54
+ XCTAssert (queueCapacity == kMaxQueueSize , @" incorrect max queue size" );
65
55
}
66
56
67
57
// queue insertion should cap off at max size
@@ -72,7 +62,7 @@ - (void)testEnqueueAndSize
72
62
}
73
63
74
64
// dequeue'd value should be the oldest
75
- // queue size should decrease
65
+ // queue size shoudl decrease
76
66
- (void )testDequeue
77
67
{
78
68
NSString *dequeuedData = [self .queue dequeue ];
@@ -81,13 +71,37 @@ - (void)testDequeue
81
71
XCTAssert (size == kMaxQueueSize -1 , @" Invalid queue size after dequeue." );
82
72
}
83
73
74
+ - (void )testDequeueNItems
75
+ {
76
+ NSInteger numberOfItems = 3 ;
77
+ NSArray *firstNItems = [self .queue dequeueNItems: numberOfItems];
78
+ XCTAssert ([firstNItems count ] == numberOfItems, @" Invalid number of items retrieved." );
79
+ XCTAssert ([firstNItems[0 ] isEqualToString: self .testData1], @" Invalid data dequeued." );
80
+ XCTAssert ([firstNItems[1 ] isEqualToString: self .testData2], @" Invalid data dequeued." );
81
+ XCTAssert ([firstNItems[2 ] isEqualToString: self .testData3], @" Invalid data dequeued." );
82
+ NSInteger size = [self .queue size ];
83
+ XCTAssert (size == 0 , @" Invalid queue size." );
84
+ }
85
+
84
86
// the front value should be the oldest
85
87
- (void )testFront
86
88
{
87
89
NSString *front = [self .queue front ];
88
90
XCTAssert ([front isEqualToString: self .testData1], @" Invalid data dequeued." );
89
91
NSInteger size = [self .queue size ];
90
- XCTAssert (size == kMaxQueueSize , @" Invalid queue size after dequeue." );
92
+ XCTAssert (size == kMaxQueueSize , @" Invalid queue size." );
93
+ }
94
+
95
+ - (void )testFirstNItems
96
+ {
97
+ NSInteger numberOfItems = 3 ;
98
+ NSArray *firstNItems = [self .queue firstNItems: numberOfItems];
99
+ XCTAssert ([firstNItems count ] == numberOfItems, @" Invalid number of items retrieved." );
100
+ XCTAssert ([firstNItems[0 ] isEqualToString: self .testData1], @" Invalid data dequeued." );
101
+ XCTAssert ([firstNItems[1 ] isEqualToString: self .testData2], @" Invalid data dequeued." );
102
+ XCTAssert ([firstNItems[2 ] isEqualToString: self .testData3], @" Invalid data dequeued." );
103
+ NSInteger size = [self .queue size ];
104
+ XCTAssert (size == kMaxQueueSize , @" Invalid queue size." );
91
105
}
92
106
93
107
- (void )testIsFull
0 commit comments