1# Copyright David Abrahams 2004. Distributed under the Boost 2# Software License, Version 1.0. (See accompanying 3# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4''' 5>>> from data_members_ext import * 6 7 ---- Test static data members --- 8 9>>> v = Var('slim shady') 10 11>>> Var.ro2a.x 120 13>>> Var.ro2b.x 140 15>>> Var.rw2a.x 160 17>>> Var.rw2b.x 180 19>>> v.ro2a.x 200 21>>> v.ro2b.x 220 23>>> v.rw2a.x 240 25>>> v.rw2b.x 260 27>>> Var.rw2a.x = 777 28>>> Var.ro2a.x 29777 30>>> Var.ro2b.x 31777 32>>> Var.rw2a.x 33777 34>>> Var.rw2b.x 35777 36>>> v.ro2a.x 37777 38>>> v.ro2b.x 39777 40>>> v.rw2a.x 41777 42>>> v.rw2b.x 43777 44>>> Var.rw2b = Y(888) 45 46>>> y = Y(99) 47>>> y.q = True 48>>> y.q 49True 50>>> y.q = False 51>>> y.q 52False 53 54>>> Var.ro2a.x 55888 56>>> Var.ro2b.x 57888 58>>> Var.rw2a.x 59888 60>>> Var.rw2b.x 61888 62>>> v.ro2a.x 63888 64>>> v.ro2b.x 65888 66>>> v.rw2a.x 67888 68>>> v.rw2b.x 69888 70>>> v.rw2b.x = 999 71>>> Var.ro2a.x 72999 73>>> Var.ro2b.x 74999 75>>> Var.rw2a.x 76999 77>>> Var.rw2b.x 78999 79>>> v.ro2a.x 80999 81>>> v.ro2b.x 82999 83>>> v.rw2a.x 84999 85>>> v.rw2b.x 86999 87 88 89>>> Var.ro1a 900 91>>> Var.ro1b 920 93>>> Var.rw1a 940 95>>> Var.rw1b 960 97>>> v.ro1a 980 99>>> v.ro1b 1000 101>>> v.rw1a 1020 103>>> v.rw1b 1040 105>>> Var.rw1a = 777 106>>> Var.ro1a 107777 108>>> Var.ro1b 109777 110>>> Var.rw1a 111777 112>>> Var.rw1b 113777 114>>> v.ro1a 115777 116>>> v.ro1b 117777 118>>> v.rw1a 119777 120>>> v.rw1b 121777 122>>> Var.rw1b = 888 123>>> Var.ro1a 124888 125>>> Var.ro1b 126888 127>>> Var.rw1a 128888 129>>> Var.rw1b 130888 131>>> v.ro1a 132888 133>>> v.ro1b 134888 135>>> v.rw1a 136888 137>>> v.rw1b 138888 139>>> v.rw1b = 999 140>>> Var.ro1a 141999 142>>> Var.ro1b 143999 144>>> Var.rw1a 145999 146>>> Var.rw1b 147999 148>>> v.ro1a 149999 150>>> v.ro1b 151999 152>>> v.rw1a 153999 154>>> v.rw1b 155999 156 157 158 159 ----------------- 160 161>>> x = X(42) 162>>> x.x 16342 164>>> try: x.x = 77 165... except AttributeError: pass 166... else: print('no error') 167 168>>> x.fair_value 16942.0 170>>> y = Y(69) 171>>> y.x 17269 173>>> y.x = 77 174>>> y.x 17577 176 177>>> v = Var("pi") 178>>> v.value = 3.14 179>>> v.name 180'pi' 181>>> v.name2 182'pi' 183 184>>> v.get_name1() 185'pi' 186 187>>> v.get_name2() 188'pi' 189 190>>> v.y.x 1916 192>>> v.y.x = -7 193>>> v.y.x 194-7 195 196>>> v.name3 197'pi' 198 199 200''' 201 202def run(args = None): 203 import sys 204 import doctest 205 206 if args is not None: 207 sys.argv = args 208 return doctest.testmod(sys.modules.get(__name__)) 209 210if __name__ == '__main__': 211 print("running...") 212 import sys 213 status = run()[0] 214 if (status == 0): print("Done.") 215 sys.exit(status) 216