Skip to content

Commit

Permalink
Unit test wrapping adjacent pairs sequence
Browse files Browse the repository at this point in the history
  • Loading branch information
Matt Zanchelli committed May 7, 2021
1 parent cc023db commit 9bc2c28
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions Tests/SwiftAlgorithmsTests/AdjacentPairsTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,55 @@ final class AdjacentPairsTests: XCTestCase {
XCTAssertEqualSequences(pairs, [], by: ==)
}

func testEmptySequenceWrapped() {
let pairs = (0...).prefix(0).adjacentPairs(wrapping: true)
XCTAssertEqualSequences(pairs, [], by: ==)
}

func testOneElementSequence() {
let pairs = (0...).prefix(1).adjacentPairs()
XCTAssertEqualSequences(pairs, [], by: ==)
}

func testOneElementSequenceWrapping() {
let pairs = (0...).prefix(1).adjacentPairs(wrapping: true)
XCTAssertEqualSequences(pairs, [(0, 0)], by: ==)
}

func testTwoElementSequence() {
let pairs = (0...).prefix(2).adjacentPairs()
XCTAssertEqualSequences(pairs, [(0, 1)], by: ==)
}

func testTwoElementSequenceWrapping() {
let pairs = (0...).prefix(2).adjacentPairs(wrapping: true)
XCTAssertEqualSequences(pairs, [(0, 1), (1, 0)], by: ==)
}

func testThreeElementSequence() {
let pairs = (0...).prefix(3).adjacentPairs()
XCTAssertEqualSequences(pairs, [(0, 1), (1, 2)], by: ==)
}

func testThreeElementSequenceWrapping() {
let pairs = (0...).prefix(3).adjacentPairs(wrapping: true)
XCTAssertEqualSequences(pairs, [(0, 1), (1, 2), (2, 0)], by: ==)
}

func testManySequences() {
for n in 4...100 {
let pairs = (0...).prefix(n).adjacentPairs()
XCTAssertEqualSequences(pairs, zip(0..., 1...).prefix(n - 1), by: ==)
}
}

func testManySequencesWrapping() {
for n in 4...100 {
let pairs = (0...).prefix(n).adjacentPairs(wrapping: true)
XCTAssertEqualSequences(pairs, chain(zip(0..., 1...).prefix(n - 1), [((n - 1), 0)]), by: ==)
}
}

func testZeroElements() {
let pairs = (0..<0).adjacentPairs()
XCTAssertEqual(pairs.startIndex, pairs.endIndex)
Expand Down

0 comments on commit 9bc2c28

Please sign in to comment.