diff options
Diffstat (limited to 'src/boost/libs/python/test/keywords_test.py')
-rw-r--r-- | src/boost/libs/python/test/keywords_test.py | 106 |
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) + |