Пример #1
0
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 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
Пример #4
0
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()
Пример #5
0
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()
Пример #6
0
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'
Пример #9
0
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__
Пример #10
0
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,
Пример #11
0
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(")
Пример #12
0
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'
Пример #13
0
 def getsource(func):
     return getimportable(func, byname=False, explicit=True)
Пример #14
0
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__