def test_numpy(): try: from numpy import array x = array([1,2,3]) assert getimportable(x) == 'from numpy import array\narray([1, 2, 3])\n' assert getimportable(array) == 'from numpy.core.multiarray import array\n' assert getimportable(x, byname=False) == 'from numpy import array\narray([1, 2, 3])\n' assert getimportable(array, byname=False) == 'from numpy.core.multiarray import array\n' except ImportError: pass
def test_numpy(): try: from numpy import array x = array([1,2,3]) assert getimportable(x) == 'from numpy import array\narray([1, 2, 3])\n' assert getimportable(array) == 'from %s import array\n' % array.__module__ assert getimportable(x, byname=False) == 'from numpy import array\narray([1, 2, 3])\n' assert getimportable(array, byname=False) == 'from %s import array\n' % array.__module__ except ImportError: pass
def run_source(obj): _obj = source._wrap(obj) assert _obj(1.57) == obj(1.57) src = source.getimportable(obj, alias='_f') exec(src, globals()) assert _f(1.57) == obj(1.57) name = source.getname(obj) assert name == obj.__name__ or src.split("=",1)[0].strip()
def test_source(obj): _obj = source._wrap(obj) assert _obj(1.57) == obj(1.57) src = source.getimportable(obj, alias='_f') exec src in globals(), locals() assert _f(1.57) == obj(1.57) name = source.getname(obj) assert name == obj.__name__ or src.split("=",1)[0].strip()
def run_source(obj): _obj = source._wrap(obj) assert _obj(1.57) == obj(1.57) src = source.getimportable(obj, alias="_f") exec(src, globals()) assert _f(1.57) == obj(1.57) name = source.getname(obj) assert name == obj.__name__ or src.split("=", 1)[0].strip()
def test_foo(): assert getimportable(_foo, byname=False).startswith( "import dill\nclass Foo(object):\n def bar(self, x):\n return x*x+x\ndill.loads(" )
def test_importable(): assert getimportable(add) == 'from %s import add\n' % __name__ assert getimportable(squared) == 'from %s import squared\n' % __name__ assert getimportable(Foo) == 'from %s import Foo\n' % __name__ assert getimportable(Foo.bar) == 'from %s import bar\n' % __name__ assert getimportable(_foo.bar) == 'from %s import bar\n' % __name__ assert getimportable(None) == 'None\n' assert getimportable(100) == '100\n' assert getimportable(add, byname=False) == 'def add(x,y):\n return x+y\n' assert getimportable(squared, byname=False) == 'squared = lambda x:x**2\n' assert getimportable(None, byname=False) == 'None\n' assert getimportable(Bar, byname=False) == 'class Bar:\n pass\n' assert getimportable( Foo, byname=False ) == 'class Foo(object):\n def bar(self, x):\n return x*x+x\n' assert getimportable(Foo.bar, byname=False) == 'def bar(self, x):\n return x*x+x\n' assert getimportable(Foo.bar, byname=True) == 'from %s import bar\n' % __name__ assert getimportable( Foo.bar, alias='memo', byname=True) == 'from %s import bar as memo\n' % __name__ assert getimportable( Foo, alias='memo', byname=True) == 'from %s import Foo as memo\n' % __name__ assert getimportable( squared, alias='memo', byname=True) == 'from %s import squared as memo\n' % __name__ assert getimportable(squared, alias='memo', byname=False) == 'memo = squared = lambda x:x**2\n' assert getimportable( add, alias='memo', byname=False) == 'def add(x,y):\n return x+y\n\nmemo = add\n' assert getimportable(None, alias='memo', byname=False) == 'memo = None\n' assert getimportable(100, alias='memo', byname=False) == 'memo = 100\n' assert getimportable(add, explicit=True) == 'from %s import add\n' % __name__ assert getimportable( squared, explicit=True) == 'from %s import squared\n' % __name__ assert getimportable(Foo, explicit=True) == 'from %s import Foo\n' % __name__ assert getimportable(Foo.bar, explicit=True) == 'from %s import bar\n' % __name__ assert getimportable(_foo.bar, explicit=True) == 'from %s import bar\n' % __name__ assert getimportable(None, explicit=True) == 'None\n' assert getimportable(100, explicit=True) == '100\n'
assert getsource(g) == 'def g(x): return f(x) - x\n' assert getsource(h) == 'def h(x):\n def g(x): return x\n return g(x) - x \n' assert getname(f) == 'f' assert getname(g) == 'g' assert getname(h) == 'h' assert _wrap(f)(4) == 16 assert _wrap(g)(4) == 12 assert _wrap(h)(4) == 0 assert getname(Foo) == 'Foo' assert getname(Bar) == 'Bar' assert getsource(Bar) == 'class Bar:\n pass\n' assert getsource(Foo) == 'class Foo(object):\n def bar(self, x):\n return x*x+x\n' #XXX: add getsource for _foo, _bar assert getimportable(add) == 'from %s import add\n' % __name__ assert getimportable(squared) == 'from %s import squared\n' % __name__ assert getimportable(Foo) == 'from %s import Foo\n' % __name__ assert getimportable(Foo.bar) == 'from %s import bar\n' % __name__ assert getimportable(_foo.bar) == 'from %s import bar\n' % __name__ assert getimportable(None) == 'None\n' assert getimportable(100) == '100\n' assert getimportable(add, byname=False) == 'def add(x,y):\n return x+y\n' assert getimportable(squared, byname=False) == 'squared = lambda x:x**2\n' assert getimportable(None, byname=False) == 'None\n' assert getimportable(Bar, byname=False) == 'class Bar:\n pass\n' assert getimportable(Foo, byname=False) == 'class Foo(object):\n def bar(self, x):\n return x*x+x\n' assert getimportable(Foo.bar, byname=False) == 'def bar(self, x):\n return x*x+x\n' assert getimportable(Foo.bar, byname=True) == 'from %s import bar\n' % __name__ assert getimportable(Foo.bar, alias='memo', byname=True) == 'from %s import bar as memo\n' % __name__
assert getsource(h) == 'def h(x):\n def g(x): return x\n return g(x) - x \n' assert getname(f) == 'f' assert getname(g) == 'g' assert getname(h) == 'h' assert _wrap(f)(4) == 16 assert _wrap(g)(4) == 12 assert _wrap(h)(4) == 0 assert getname(Foo) == 'Foo' assert getname(Bar) == 'Bar' assert getsource(Bar) == 'class Bar:\n pass\n' assert getsource( Foo) == 'class Foo(object):\n def bar(self, x):\n return x*x+x\n' #XXX: add getsource for _foo, _bar assert getimportable(add) == 'from %s import add\n' % __name__ assert getimportable(squared) == 'from %s import squared\n' % __name__ assert getimportable(Foo) == 'from %s import Foo\n' % __name__ assert getimportable(Foo.bar) == 'from %s import bar\n' % __name__ assert getimportable(_foo.bar) == 'from %s import bar\n' % __name__ assert getimportable(None) == 'None\n' assert getimportable(100) == '100\n' assert getimportable(add, byname=False) == 'def add(x,y):\n return x+y\n' assert getimportable(squared, byname=False) == 'squared = lambda x:x**2\n' assert getimportable(None, byname=False) == 'None\n' assert getimportable(Bar, byname=False) == 'class Bar:\n pass\n' assert getimportable( Foo, byname=False ) == 'class Foo(object):\n def bar(self, x):\n return x*x+x\n' assert getimportable(Foo.bar,
def test_foo(): assert getimportable(_foo, byname=False).startswith("import dill\nclass Foo(object):\n def bar(self, x):\n return x*x+x\ndill.loads(")
def test_importable(): assert getimportable(add) == 'from %s import add\n' % __name__ assert getimportable(squared) == 'from %s import squared\n' % __name__ assert getimportable(Foo) == 'from %s import Foo\n' % __name__ assert getimportable(Foo.bar) == 'from %s import bar\n' % __name__ assert getimportable(_foo.bar) == 'from %s import bar\n' % __name__ assert getimportable(None) == 'None\n' assert getimportable(100) == '100\n' assert getimportable(add, byname=False) == 'def add(x,y):\n return x+y\n' assert getimportable(squared, byname=False) == 'squared = lambda x:x**2\n' assert getimportable(None, byname=False) == 'None\n' assert getimportable(Bar, byname=False) == 'class Bar:\n pass\n' assert getimportable(Foo, byname=False) == 'class Foo(object):\n def bar(self, x):\n return x*x+x\n' assert getimportable(Foo.bar, byname=False) == 'def bar(self, x):\n return x*x+x\n' assert getimportable(Foo.bar, byname=True) == 'from %s import bar\n' % __name__ assert getimportable(Foo.bar, alias='memo', byname=True) == 'from %s import bar as memo\n' % __name__ assert getimportable(Foo, alias='memo', byname=True) == 'from %s import Foo as memo\n' % __name__ assert getimportable(squared, alias='memo', byname=True) == 'from %s import squared as memo\n' % __name__ assert getimportable(squared, alias='memo', byname=False) == 'memo = squared = lambda x:x**2\n' assert getimportable(add, alias='memo', byname=False) == 'def add(x,y):\n return x+y\n\nmemo = add\n' assert getimportable(None, alias='memo', byname=False) == 'memo = None\n' assert getimportable(100, alias='memo', byname=False) == 'memo = 100\n' assert getimportable(add, explicit=True) == 'from %s import add\n' % __name__ assert getimportable(squared, explicit=True) == 'from %s import squared\n' % __name__ assert getimportable(Foo, explicit=True) == 'from %s import Foo\n' % __name__ assert getimportable(Foo.bar, explicit=True) == 'from %s import bar\n' % __name__ assert getimportable(_foo.bar, explicit=True) == 'from %s import bar\n' % __name__ assert getimportable(None, explicit=True) == 'None\n' assert getimportable(100, explicit=True) == '100\n'
def getsource(func): return getimportable(func, byname=False, explicit=True)
assert getsource(g) == "def g(x): return f(x) - x\n" assert getsource(h) == "def h(x):\n def g(x): return x\n return g(x) - x \n" assert getname(f) == "f" assert getname(g) == "g" assert getname(h) == "h" assert _wrap(f)(4) == 16 assert _wrap(g)(4) == 12 assert _wrap(h)(4) == 0 assert getname(Foo) == "Foo" assert getname(Bar) == "Bar" assert getsource(Bar) == "class Bar:\n pass\n" assert getsource(Foo) == "class Foo(object):\n def bar(self, x):\n return x*x+x\n" # XXX: add getsource for _foo, _bar assert getimportable(add) == "from %s import add\n" % __name__ assert getimportable(squared) == "from %s import squared\n" % __name__ assert getimportable(Foo) == "from %s import Foo\n" % __name__ assert getimportable(Foo.bar) == "from %s import bar\n" % __name__ assert getimportable(_foo.bar) == "from %s import bar\n" % __name__ assert getimportable(None) == "None\n" assert getimportable(100) == "100\n" assert getimportable(add, byname=False) == "def add(x,y):\n return x+y\n" assert getimportable(squared, byname=False) == "squared = lambda x:x**2\n" assert getimportable(None, byname=False) == "None\n" assert getimportable(Bar, byname=False) == "class Bar:\n pass\n" assert getimportable(Foo, byname=False) == "class Foo(object):\n def bar(self, x):\n return x*x+x\n" assert getimportable(Foo.bar, byname=False) == "def bar(self, x):\n return x*x+x\n" assert getimportable(Foo.bar, byname=True) == "from %s import bar\n" % __name__ assert getimportable(Foo.bar, alias="memo", byname=True) == "from %s import bar\nmemo = bar\n" % __name__