mirror of https://github.com/swig/swig
61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
import cpp11_hash_tables
|
|
|
|
def swig_assert_equal(a, b):
|
|
if a != b:
|
|
raise RuntimeError(str(a) + " != " + str(b))
|
|
|
|
for x in [cpp11_hash_tables.MapIntInt({1:7}),
|
|
cpp11_hash_tables.MultiMapIntInt({1:7}),
|
|
cpp11_hash_tables.UnorderedMapIntInt({1:7}),
|
|
cpp11_hash_tables.UnorderedMultiMapIntInt({1:7})
|
|
]:
|
|
|
|
swig_assert_equal([(k, v) for k, v in x.items()], [(1, 7)])
|
|
swig_assert_equal(list(x.keys()), [1])
|
|
swig_assert_equal(list(x.values()), [7])
|
|
swig_assert_equal(list(x.items()), [(1, 7)])
|
|
swig_assert_equal([k for k in x], [1])
|
|
swig_assert_equal([i for i in x.keys()], [1])
|
|
swig_assert_equal([i for i in x.values()], [7])
|
|
swig_assert_equal([i for i in x.items()], [(1, 7)])
|
|
|
|
swig_assert_equal(x[1], 7)
|
|
swig_assert_equal(2 in x, False)
|
|
x[2] = 9
|
|
swig_assert_equal(x[2], 9)
|
|
del x[2]
|
|
swig_assert_equal(2 in x, False)
|
|
swig_assert_equal(x.empty(), False)
|
|
del x[1]
|
|
swig_assert_equal(x.empty(), True)
|
|
swig_assert_equal(1 in x, False)
|
|
|
|
for x in [cpp11_hash_tables.MultiMapIntInt({1:7}),
|
|
cpp11_hash_tables.UnorderedMultiMapIntInt({1:7})]:
|
|
x[1] = 9
|
|
swig_assert_equal(sorted([v for k, v in x.items()]), [7, 9])
|
|
swig_assert_equal(len(x), 2)
|
|
|
|
for x in [cpp11_hash_tables.SetInt([1]),
|
|
cpp11_hash_tables.MultiSetInt([1]),
|
|
cpp11_hash_tables.UnorderedSetInt([1]),
|
|
cpp11_hash_tables.UnorderedMultiSetInt([1])]:
|
|
|
|
swig_assert_equal([e for e in x], [1])
|
|
swig_assert_equal(x[0], 1)
|
|
|
|
swig_assert_equal(1 in x, True)
|
|
swig_assert_equal(2 in x, False)
|
|
x.append(2)
|
|
swig_assert_equal(2 in x, True)
|
|
x.erase(2)
|
|
swig_assert_equal(x.empty(), False)
|
|
x.erase(1)
|
|
swig_assert_equal(x.empty(), True)
|
|
|
|
for x in [cpp11_hash_tables.MultiSetInt([1]),
|
|
cpp11_hash_tables.UnorderedMultiSetInt([1])]:
|
|
x.append(1)
|
|
swig_assert_equal(x.count(1), 2)
|
|
swig_assert_equal(len(x), 2)
|