|
|
@@ -205,4 +205,26 @@ final class MetadataTests: XCTestCase {
|
|
|
XCTAssertEqual(stringIterator.next(), "value2")
|
|
|
XCTAssertNil(stringIterator.next())
|
|
|
}
|
|
|
+
|
|
|
+ func testRemoveAllWhere() {
|
|
|
+ let metadata: Metadata = [
|
|
|
+ "testKey1": "value1",
|
|
|
+ "testKey2": "value2",
|
|
|
+ "testKey3": "value1",
|
|
|
+ ]
|
|
|
+
|
|
|
+ var metadata1 = metadata
|
|
|
+ metadata1.removeAll { _, value in
|
|
|
+ value == "value1"
|
|
|
+ }
|
|
|
+
|
|
|
+ XCTAssertEqual(metadata1, ["testKey2": "value2"])
|
|
|
+
|
|
|
+ var metadata2 = metadata
|
|
|
+ metadata2.removeAll { key, _ in
|
|
|
+ key == "testKey2"
|
|
|
+ }
|
|
|
+
|
|
|
+ XCTAssertEqual(metadata2, ["testKey1": "value1", "testKey3": "value1"])
|
|
|
+ }
|
|
|
}
|