This commit is contained in:
zeus
2025-01-28 12:28:03 +08:00
parent 738c373a77
commit ec96756800
2534 changed files with 486292 additions and 0 deletions
@@ -0,0 +1,56 @@
import XCTest
import GRDB
class FlattenCursorTests: GRDBTestCase {
func testFlatMapOfSequence() {
let cursor = AnyCursor([1, 2]).flatMap { [$0, $0+1] }
XCTAssertEqual(try cursor.next()!, 1)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 3)
XCTAssertTrue(try cursor.next() == nil) // end
XCTAssertTrue(try cursor.next() == nil) // past the end
}
func testFlatMapOfCursor() {
let cursor = AnyCursor([1, 2]).flatMap { AnyCursor([$0, $0+1]) }
XCTAssertEqual(try cursor.next()!, 1)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 3)
XCTAssertTrue(try cursor.next() == nil) // end
XCTAssertTrue(try cursor.next() == nil) // past the end
}
func testSequenceFlatMapOfCursor() {
let cursor = [1, 2].flatMap { AnyCursor([$0, $0+1]) }
XCTAssertEqual(try cursor.next()!, 1)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 3)
XCTAssertTrue(try cursor.next() == nil) // end
XCTAssertTrue(try cursor.next() == nil) // past the end
}
func testJoinedSequences() {
let cursor = AnyCursor([[1, 2], [2, 3]]).joined()
XCTAssertEqual(try cursor.next()!, 1)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 3)
XCTAssertTrue(try cursor.next() == nil) // end
XCTAssertTrue(try cursor.next() == nil) // past the end
}
func testJoinedCursors() {
let cursor = AnyCursor([AnyCursor([1, 2]), AnyCursor([2, 3])]).joined()
XCTAssertEqual(try cursor.next()!, 1)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 2)
XCTAssertEqual(try cursor.next()!, 3)
XCTAssertTrue(try cursor.next() == nil) // end
XCTAssertTrue(try cursor.next() == nil) // past the end
}
}