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) 4from __future__ import print_function 5r'''>>> import pickle3_ext 6 >>> import pickle 7 >>> pickle3_ext.world.__module__ 8 'pickle3_ext' 9 >>> pickle3_ext.world.__safe_for_unpickling__ 10 1 11 >>> pickle3_ext.world.__getstate_manages_dict__ 12 1 13 >>> pickle3_ext.world.__name__ 14 'world' 15 >>> pickle3_ext.world('Hello').__reduce__() 16 (<class 'pickle3_ext.world'>, ('Hello',), ({}, 0)) 17 >>> for number in (24, 42): 18 ... wd = pickle3_ext.world('California') 19 ... wd.set_secret_number(number) 20 ... wd.x = 2 * number 21 ... wd.y = 'y' * number 22 ... wd.z = 3. * number 23 ... pstr = pickle.dumps(wd) 24 ... wl = pickle.loads(pstr) 25 ... print(wd.greet(), wd.get_secret_number(), wd.x, wd.y, wd.z) 26 ... print(wl.greet(), wl.get_secret_number(), wl.x, wl.y, wl.z) 27 Hello from California! 24 48 yyyyyyyyyyyyyyyyyyyyyyyy 72.0 28 Hello from California! 24 48 yyyyyyyyyyyyyyyyyyyyyyyy 72.0 29 Hello from California! 42 84 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy 126.0 30 Hello from California! 0 84 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy 126.0 31''' 32 33def run(args = None): 34 import sys 35 import doctest 36 37 if args is not None: 38 sys.argv = args 39 return doctest.testmod(sys.modules.get(__name__)) 40 41if __name__ == '__main__': 42 print("running...") 43 import sys 44 status = run()[0] 45 if (status == 0): print("Done.") 46 sys.exit(status) 47