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