123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- # 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 data_members_ext import *
- ---- Test static data members ---
- >>> v = Var('slim shady')
- >>> Var.ro2a.x
- 0
- >>> Var.ro2b.x
- 0
- >>> Var.rw2a.x
- 0
- >>> Var.rw2b.x
- 0
- >>> v.ro2a.x
- 0
- >>> v.ro2b.x
- 0
- >>> v.rw2a.x
- 0
- >>> v.rw2b.x
- 0
- >>> Var.rw2a.x = 777
- >>> Var.ro2a.x
- 777
- >>> Var.ro2b.x
- 777
- >>> Var.rw2a.x
- 777
- >>> Var.rw2b.x
- 777
- >>> v.ro2a.x
- 777
- >>> v.ro2b.x
- 777
- >>> v.rw2a.x
- 777
- >>> v.rw2b.x
- 777
- >>> Var.rw2b = Y(888)
- >>> y = Y(99)
- >>> y.q = True
- >>> y.q
- True
- >>> y.q = False
- >>> y.q
- False
- >>> Var.ro2a.x
- 888
- >>> Var.ro2b.x
- 888
- >>> Var.rw2a.x
- 888
- >>> Var.rw2b.x
- 888
- >>> v.ro2a.x
- 888
- >>> v.ro2b.x
- 888
- >>> v.rw2a.x
- 888
- >>> v.rw2b.x
- 888
- >>> v.rw2b.x = 999
- >>> Var.ro2a.x
- 999
- >>> Var.ro2b.x
- 999
- >>> Var.rw2a.x
- 999
- >>> Var.rw2b.x
- 999
- >>> v.ro2a.x
- 999
- >>> v.ro2b.x
- 999
- >>> v.rw2a.x
- 999
- >>> v.rw2b.x
- 999
- >>> Var.ro1a
- 0
- >>> Var.ro1b
- 0
- >>> Var.rw1a
- 0
- >>> Var.rw1b
- 0
- >>> v.ro1a
- 0
- >>> v.ro1b
- 0
- >>> v.rw1a
- 0
- >>> v.rw1b
- 0
- >>> Var.rw1a = 777
- >>> Var.ro1a
- 777
- >>> Var.ro1b
- 777
- >>> Var.rw1a
- 777
- >>> Var.rw1b
- 777
- >>> v.ro1a
- 777
- >>> v.ro1b
- 777
- >>> v.rw1a
- 777
- >>> v.rw1b
- 777
- >>> Var.rw1b = 888
- >>> Var.ro1a
- 888
- >>> Var.ro1b
- 888
- >>> Var.rw1a
- 888
- >>> Var.rw1b
- 888
- >>> v.ro1a
- 888
- >>> v.ro1b
- 888
- >>> v.rw1a
- 888
- >>> v.rw1b
- 888
- >>> v.rw1b = 999
- >>> Var.ro1a
- 999
- >>> Var.ro1b
- 999
- >>> Var.rw1a
- 999
- >>> Var.rw1b
- 999
- >>> v.ro1a
- 999
- >>> v.ro1b
- 999
- >>> v.rw1a
- 999
- >>> v.rw1b
- 999
- -----------------
-
- >>> x = X(42)
- >>> x.x
- 42
- >>> try: x.x = 77
- ... except AttributeError: pass
- ... else: print('no error')
- >>> x.fair_value
- 42.0
- >>> y = Y(69)
- >>> y.x
- 69
- >>> y.x = 77
- >>> y.x
- 77
- >>> v = Var("pi")
- >>> v.value = 3.14
- >>> v.name
- 'pi'
- >>> v.name2
- 'pi'
- >>> v.get_name1()
- 'pi'
- >>> v.get_name2()
- 'pi'
- >>> v.y.x
- 6
- >>> v.y.x = -7
- >>> v.y.x
- -7
- >>> v.name3
- 'pi'
- '''
- 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)
|