Extend SpareSet tests

This commit is contained in:
Christian Treffs 2018-09-29 18:41:49 +02:00
parent ee2810bb61
commit 444ec00224
2 changed files with 32 additions and 4 deletions

View File

@ -17,10 +17,6 @@ public class UnorderedSparseSet<Element> {
internal var dense: ContiguousArray<Entry>
internal var sparse: [Index: Key]
// TODO: implement
// a) RandomAccessCollection conformance
// b) subscript
public init() {
sparse = [Index: Key]()
dense = ContiguousArray<Entry>()
@ -148,6 +144,7 @@ extension UnorderedSparseSet: MutableCollection, RandomAccessCollection {
}
return element
}
set(newValue) {
insert(newValue, at: position)
}

View File

@ -508,4 +508,35 @@ class SparseSetTests: XCTestCase {
XCTAssertEqual(string, "Hello World")
}
func testSubscript() {
let characters = UnorderedSparseSet<Character>()
characters[4] = "H"
characters[13] = "e"
characters[44] = "l"
characters[123] = "l"
characters[89] = "o"
characters[66] = " "
characters[77] = "W"
characters[55] = "o"
characters[90] = "r"
characters[34] = "l"
characters[140] = "d"
XCTAssertEqual(characters.count, 11)
XCTAssertEqual(characters[4], "H")
XCTAssertEqual(characters[13], "e")
XCTAssertEqual(characters[44], "l")
XCTAssertEqual(characters[123], "l")
XCTAssertEqual(characters[89], "o")
XCTAssertEqual(characters[66], " ")
XCTAssertEqual(characters[77], "W")
XCTAssertEqual(characters[55], "o")
XCTAssertEqual(characters[90], "r")
XCTAssertEqual(characters[34], "l")
XCTAssertEqual(characters[140], "d")
}
}