MCPcopy Create free account
hub / github.com/pybind/pybind11 / test_iterator_referencing

Function test_iterator_referencing

tests/test_sequences_and_iterators.py:83–104  ·  view source on GitHub ↗

Test that iterators reference rather than copy their referents.

()

Source from the content-addressed store, hash-verified

81
82
83def test_iterator_referencing():
84 """Test that iterators reference rather than copy their referents."""
85 vec = m.VectorNonCopyableInt()
86 vec.append(3)
87 vec.append(5)
88 assert [int(x) for x in vec] == [3, 5]
89 # Increment everything to make sure the referents can be mutated
90 for x in vec:
91 x.set(int(x) + 1)
92 assert [int(x) for x in vec] == [4, 6]
93
94 vec = m.VectorNonCopyableIntPair()
95 vec.append([3, 4])
96 vec.append([5, 7])
97 assert [int(x) for x in vec.keys()] == [3, 5]
98 assert [int(x) for x in vec.values()] == [4, 7]
99 for x in vec.keys():
100 x.set(int(x) + 1)
101 for x in vec.values():
102 x.set(int(x) + 10)
103 assert [int(x) for x in vec.keys()] == [4, 6]
104 assert [int(x) for x in vec.values()] == [14, 17]
105
106
107def test_sliceable():

Callers

nothing calls this directly

Calls 3

valuesMethod · 0.80
appendMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected