Skip to content

Commit 865853a

Browse files
committed
[cxx-interop] Add tests for std::map::erase and std::set::erase
We're going to need the ability to remove an element from a map to support mutation in `CxxDictionary.subscript`. rdar://105399019
1 parent 43e6e97 commit 865853a

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

test/Interop/Cxx/stdlib/use-std-map.swift

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,22 @@ StdMapTestSuite.test("UnorderedMap.subscript") {
3939
expectNil(m[5])
4040
}
4141

42+
StdMapTestSuite.test("Map.erase") {
43+
var m = initMap()
44+
expectNotNil(m[1])
45+
m.erase(1)
46+
expectNil(m[1])
47+
m.erase(1)
48+
expectNil(m[1])
49+
}
50+
51+
StdMapTestSuite.test("UnorderedMap.erase") {
52+
var m = initUnorderedMap()
53+
expectNotNil(m[2])
54+
m.erase(2)
55+
expectNil(m[2])
56+
m.erase(2)
57+
expectNil(m[2])
58+
}
59+
4260
runAllTests()

test/Interop/Cxx/stdlib/use-std-set.swift

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,22 @@ StdSetTestSuite.test("UnorderedSetOfCInt.insert") {
8989
}
9090
#endif
9191

92+
StdSetTestSuite.test("SetOfCInt.erase") {
93+
var s = initSetOfCInt()
94+
expectTrue(s.contains(1))
95+
s.erase(1)
96+
expectFalse(s.contains(1))
97+
s.erase(1)
98+
expectFalse(s.contains(1))
99+
}
100+
101+
StdSetTestSuite.test("UnorderedSetOfCInt.erase") {
102+
var s = initUnorderedSetOfCInt()
103+
expectTrue(s.contains(2))
104+
s.erase(2)
105+
expectFalse(s.contains(2))
106+
s.erase(2)
107+
expectFalse(s.contains(2))
108+
}
109+
92110
runAllTests()

0 commit comments

Comments
 (0)