| # 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) |
| |