summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/python/test/keywords_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/python/test/keywords_test.py')
-rw-r--r--src/boost/libs/python/test/keywords_test.py106
1 files changed, 106 insertions, 0 deletions
diff --git a/src/boost/libs/python/test/keywords_test.py b/src/boost/libs/python/test/keywords_test.py
new file mode 100644
index 000000000..bac7d17c1
--- /dev/null
+++ b/src/boost/libs/python/test/keywords_test.py
@@ -0,0 +1,106 @@
+# Copyright David Abrahams 2004. 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 keywords import *
+>>> f = Foo()
+>>> f.a(), f.b(), f.n()
+(0, 0.0, '')
+>>> f = Foo(1)
+>>> f.a(), f.b(), f.n()
+(1, 0.0, '')
+>>> f = Foo(1,1.0)
+>>> f.a(), f.b(), f.n()
+(1, 1.0, '')
+>>> f = Foo(1,1.0,"1")
+>>> f.a(), f.b(), f.n()
+(1, 1.0, '1')
+>>> f = Foo(a=1)
+>>> f.a(), f.b(), f.n()
+(1, 0.0, '')
+>>> f = Foo(b=1)
+>>> f.a(), f.b(), f.n()
+(0, 1.0, '')
+>>> f = Foo(n="1")
+>>> f.a(), f.b(), f.n()
+(0, 0.0, '1')
+>>> f = Foo(1,n="1")
+>>> f.a(), f.b(), f.n()
+(1, 0.0, '1')
+>>> f.set()
+>>> f.a(), f.b(), f.n()
+(0, 0.0, '')
+>>> f.set(1)
+>>> f.a(), f.b(), f.n()
+(1, 0.0, '')
+>>> f.set(1,1.0)
+>>> f.a(), f.b(), f.n()
+(1, 1.0, '')
+>>> f.set(1,1.0,"1")
+>>> f.a(), f.b(), f.n()
+(1, 1.0, '1')
+>>> f.set(a=1)
+>>> f.a(), f.b(), f.n()
+(1, 0.0, '')
+>>> f.set(b=1)
+>>> f.a(), f.b(), f.n()
+(0, 1.0, '')
+>>> f.set(n="1")
+>>> f.a(), f.b(), f.n()
+(0, 0.0, '1')
+>>> f.set(1,n="1")
+>>> f.a(), f.b(), f.n()
+(1, 0.0, '1')
+>>> f.set2(b=2.0,n="2",a=2)
+>>> f.a(), f.b(), f.n()
+(2, 2.0, '2')
+
+# lets see how badly we've broken the 'regular' functions
+>>> f = Bar()
+>>> f.a(), f.b(), f.n()
+(0, 0.0, '')
+>>> f = Bar(1)
+>>> f.a(), f.b(), f.n()
+(1, 0.0, '')
+>>> f = Bar(1,1.0)
+>>> f.a(), f.b(), f.n()
+(1, 1.0, '')
+>>> f = Bar(1,1.0,"1")
+>>> f.a(), f.b(), f.n()
+(1, 1.0, '1')
+>>> f.set()
+>>> f.a(), f.b(), f.n()
+(0, 0.0, '')
+>>> f.set(1)
+>>> f.a(), f.b(), f.n()
+(1, 0.0, '')
+>>> f.set(1,1.0)
+>>> f.a(), f.b(), f.n()
+(1, 1.0, '')
+>>> f.set(1,1.0,"1")
+>>> f.a(), f.b(), f.n()
+(1, 1.0, '1')
+>>> f.set2.__doc__.splitlines()[1]
+'set2( (Bar)arg1 [, (int)arg2 [, (float)arg3 [, (str)arg4]]]) -> None :'
+>>> f.set2.__doc__.splitlines()[2]
+" set2's docstring"
+'''
+
+
+
+
+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)
+