54 lines
1.2 KiB
Python
54 lines
1.2 KiB
Python
from bonobo.util.objects import Wrapper, get_name, ValueHolder
|
|
|
|
|
|
class foo:
|
|
pass
|
|
|
|
|
|
class bar:
|
|
__name__ = 'baz'
|
|
|
|
|
|
def test_get_name():
|
|
assert get_name(42) == 'int'
|
|
assert get_name('eat at joe.') == 'str'
|
|
assert get_name(str) == 'str'
|
|
assert get_name(object) == 'object'
|
|
assert get_name(get_name) == 'get_name'
|
|
assert get_name(foo) == 'foo'
|
|
assert get_name(foo()) == 'foo'
|
|
assert get_name(bar) == 'bar'
|
|
assert get_name(bar()) == 'baz'
|
|
|
|
|
|
def test_wrapper_name():
|
|
assert get_name(Wrapper(42)) == 'int'
|
|
assert get_name(Wrapper('eat at joe.')) == 'str'
|
|
assert get_name(Wrapper(str)) == 'str'
|
|
assert get_name(Wrapper(object)) == 'object'
|
|
assert get_name(Wrapper(foo)) == 'foo'
|
|
assert get_name(Wrapper(foo())) == 'foo'
|
|
assert get_name(Wrapper(bar)) == 'bar'
|
|
assert get_name(Wrapper(bar())) == 'baz'
|
|
assert get_name(Wrapper(get_name)) == 'get_name'
|
|
|
|
|
|
def test_valueholder():
|
|
x = ValueHolder(42)
|
|
assert x == 42
|
|
x += 1
|
|
assert x == 43
|
|
assert x + 1 == 44
|
|
assert x == 43
|
|
|
|
y = ValueHolder(44)
|
|
assert y == 44
|
|
y -= 1
|
|
assert y == 43
|
|
assert y - 1 == 42
|
|
assert y == 43
|
|
|
|
assert y == x
|
|
assert y is not x
|
|
assert repr(x) == repr(y) == repr(43)
|