|
@@ -30,58 +30,58 @@ class OverflowingBufferTest: XCTestCase {
|
|
|
// When a OverflowingBuffer receives less than its capacity, it outputs nothing and holds everything
|
|
|
func testShort() {
|
|
|
let buffer = OverflowingBuffer(capacity: 4)
|
|
|
- let data = Data(bytes: [1,2,3])
|
|
|
+ let data = Data([1,2,3])
|
|
|
let out = buffer.update(withData: data)
|
|
|
XCTAssert(out.count == 0)
|
|
|
- XCTAssertEqual(buffer.finalData(), Data(bytes: [1,2,3]))
|
|
|
+ XCTAssertEqual(buffer.finalData(), Data([1,2,3]))
|
|
|
}
|
|
|
|
|
|
// When a OverflowingBuffer receives exactly its capacity, it outputs nothing and holds everything
|
|
|
func testExactly() {
|
|
|
let buffer = OverflowingBuffer(capacity: 4)
|
|
|
- let data = Data(bytes: [1,2,3,4])
|
|
|
+ let data = Data([1,2,3,4])
|
|
|
let out = buffer.update(withData: data)
|
|
|
XCTAssert(out.count == 0)
|
|
|
- XCTAssertEqual(buffer.finalData(), Data(bytes: [1,2,3,4]))
|
|
|
+ XCTAssertEqual(buffer.finalData(), Data([1,2,3,4]))
|
|
|
}
|
|
|
|
|
|
// When a OverflowingBuffer receives more than its capacity, it outputs the earliest bytes and holds the rest
|
|
|
func testOverflow() {
|
|
|
let buffer = OverflowingBuffer(capacity: 4)
|
|
|
- let data = Data(bytes: [1,2,3,4,5])
|
|
|
+ let data = Data([1,2,3,4,5])
|
|
|
let out = buffer.update(withData: data)
|
|
|
- XCTAssertEqual(out, Data(bytes: [1]))
|
|
|
- XCTAssertEqual(buffer.finalData(), Data(bytes: [2,3,4,5]))
|
|
|
+ XCTAssertEqual(out, Data([1]))
|
|
|
+ XCTAssertEqual(buffer.finalData(), Data([2,3,4,5]))
|
|
|
}
|
|
|
|
|
|
// When a OverflowingBuffer receives less than its capacity in multiple writes, it outputs nothing and holds everything
|
|
|
func testMultiShort() {
|
|
|
let buffer = OverflowingBuffer(capacity: 4)
|
|
|
- let out = NSMutableData(data:buffer.update(withData: Data(bytes:[1])))
|
|
|
- out.append(buffer.update(withData: Data(bytes: [2,3])))
|
|
|
+ let out = NSMutableData(data:buffer.update(withData: Data([1])))
|
|
|
+ out.append(buffer.update(withData: Data([2,3])))
|
|
|
XCTAssert(out.length == 0)
|
|
|
- XCTAssertEqual(buffer.finalData(), Data(bytes: [1,2,3]))
|
|
|
+ XCTAssertEqual(buffer.finalData(), Data([1,2,3]))
|
|
|
}
|
|
|
|
|
|
// When a OverflowingBuffer receives more than its capacity in multiple writes, it outputs the earliest bytes and holds the rest
|
|
|
func testMultiOverflow() {
|
|
|
let buffer = OverflowingBuffer(capacity: 4)
|
|
|
- var out = buffer.update(withData: Data(bytes: [1,2,3]))
|
|
|
+ var out = buffer.update(withData: Data([1,2,3]))
|
|
|
XCTAssertEqual(out.count, 0)
|
|
|
|
|
|
- out.append(buffer.update(withData: Data(bytes: [4,5,6])))
|
|
|
- XCTAssertEqual(out, Data(bytes: [1,2]))
|
|
|
- XCTAssertEqual(buffer.finalData(), Data(bytes: [3,4,5,6]))
|
|
|
+ out.append(buffer.update(withData: Data([4,5,6])))
|
|
|
+ XCTAssertEqual(out, Data([1,2]))
|
|
|
+ XCTAssertEqual(buffer.finalData(), Data([3,4,5,6]))
|
|
|
}
|
|
|
|
|
|
// When a OverflowingBuffer receives more than its capacity when it already had elements, it outputs the earliest bytes and holds the rest
|
|
|
func testMultiMegaOverflow() {
|
|
|
let buffer = OverflowingBuffer(capacity: 4)
|
|
|
- var out = buffer.update(withData: Data(bytes:[1,2,3]))
|
|
|
+ var out = buffer.update(withData: Data([1,2,3]))
|
|
|
XCTAssertEqual(out.count, 0)
|
|
|
|
|
|
- out.append(buffer.update(withData: Data(bytes: [4,5,6,7,8,9])))
|
|
|
- XCTAssertEqual(out, Data(bytes: [1,2,3,4,5]))
|
|
|
- XCTAssertEqual(buffer.finalData(), Data(bytes: [6,7,8,9]))
|
|
|
+ out.append(buffer.update(withData: Data([4,5,6,7,8,9])))
|
|
|
+ XCTAssertEqual(out, Data([1,2,3,4,5]))
|
|
|
+ XCTAssertEqual(buffer.finalData(), Data([6,7,8,9]))
|
|
|
}
|
|
|
}
|