mirror of https://github.com/swig/swig
105 lines
1.4 KiB
Python
105 lines
1.4 KiB
Python
from li_std_set import *
|
|
|
|
s = set_string()
|
|
|
|
s.append("a")
|
|
s.append("b")
|
|
s.append("c")
|
|
|
|
sum = ""
|
|
for i in s:
|
|
sum = sum + i
|
|
|
|
if sum != "abc":
|
|
raise RuntimeError
|
|
|
|
i = s.__iter__()
|
|
if next(i) != "a":
|
|
raise RuntimeError
|
|
if next(i) != "b":
|
|
raise RuntimeError
|
|
if next(i) != "c":
|
|
raise RuntimeError
|
|
|
|
|
|
b = s.begin()
|
|
e = s.end()
|
|
sum = ""
|
|
while (b != e):
|
|
sum = sum + next(b)
|
|
if sum != "abc":
|
|
raise RuntimeError
|
|
|
|
b = s.rbegin()
|
|
e = s.rend()
|
|
sum = ""
|
|
while (b != e):
|
|
sum = sum + next(b)
|
|
|
|
if sum != "cba":
|
|
raise RuntimeError
|
|
|
|
|
|
si = set_int()
|
|
|
|
si.append(1)
|
|
si.append(2)
|
|
si.append(3)
|
|
i = si.__iter__()
|
|
|
|
if next(i) != 1:
|
|
raise RuntimeError
|
|
if next(i) != 2:
|
|
raise RuntimeError
|
|
if next(i) != 3:
|
|
raise RuntimeError
|
|
|
|
if si[0] != 1:
|
|
raise RuntimeError
|
|
|
|
i = s.begin()
|
|
next(i)
|
|
s.erase(i)
|
|
|
|
b = s.begin()
|
|
e = s.end()
|
|
sum = ""
|
|
while (b != e):
|
|
sum = sum + next(b)
|
|
if sum != "ac":
|
|
raise RuntimeError
|
|
|
|
|
|
b = s.begin()
|
|
e = s.end()
|
|
if e - b != 2:
|
|
raise RuntimeError
|
|
|
|
m = b + 1
|
|
if m.value() != "c":
|
|
raise RuntimeError
|
|
|
|
|
|
s = pyset()
|
|
s.insert((1, 2))
|
|
s.insert(1)
|
|
s.insert("hello")
|
|
|
|
|
|
sum = ()
|
|
for i in s:
|
|
sum = sum + (i,)
|
|
|
|
if (len(sum) != 3 or (not 1 in sum) or (not "hello" in sum) or (not (1, 2) in sum)):
|
|
raise RuntimeError
|
|
|
|
# Create from Python set
|
|
s = set_string({"x", "y", "z"})
|
|
sum = ""
|
|
for i in s:
|
|
sum = sum + i
|
|
|
|
if sum != "xyz":
|
|
raise RuntimeError
|
|
|