summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/python/test/stl_iterator.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/python/test/stl_iterator.py')
-rw-r--r--src/boost/libs/python/test/stl_iterator.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/boost/libs/python/test/stl_iterator.py b/src/boost/libs/python/test/stl_iterator.py
new file mode 100644
index 000000000..4743ed632
--- /dev/null
+++ b/src/boost/libs/python/test/stl_iterator.py
@@ -0,0 +1,39 @@
+# Copyright Eric Niebler 2005. Distributed under the Boost
+# Software License, Version 1.0. (See accompanying
+# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+'''
+>>> from stl_iterator_ext import *
+>>> x = list_int()
+>>> x.assign(iter([1,2,3,4,5]))
+>>> for y in x:
+... print(y)
+1
+2
+3
+4
+5
+>>> def generator():
+... yield 1
+... yield 2
+... raise RuntimeError("oops")
+>>> try:
+... x.assign(iter(generator()))
+... print("NOT OK")
+... except RuntimeError:
+... print("OK")
+OK
+'''
+def run(args = None):
+ import sys
+ import doctest
+
+ if args is not None:
+ sys.argv = args
+ return doctest.testmod(sys.modules.get(__name__))
+
+if __name__ == '__main__':
+ print("running...")
+ import sys
+ status = run()[0]
+ if (status == 0): print("Done.")
+ sys.exit(status)