112 lines
2.2 KiB
Python
112 lines
2.2 KiB
Python
|
# coding: utf-8
|
||
|
import autopath
|
||
|
#from py.test import raises
|
||
|
|
||
|
from tiramisu.config import Config
|
||
|
from tiramisu.option import BoolOption, OptionDescription
|
||
|
import weakref
|
||
|
|
||
|
|
||
|
def test_deref_storage():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
c = Config(o)
|
||
|
w = weakref.ref(c.cfgimpl_get_values()._p_)
|
||
|
del(c)
|
||
|
assert w() is None
|
||
|
|
||
|
|
||
|
def test_deref_value():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
c = Config(o)
|
||
|
w = weakref.ref(c.cfgimpl_get_values())
|
||
|
del(c)
|
||
|
assert w() is None
|
||
|
|
||
|
|
||
|
def test_deref_setting():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
c = Config(o)
|
||
|
w = weakref.ref(c.cfgimpl_get_settings())
|
||
|
del(c)
|
||
|
assert w() is None
|
||
|
|
||
|
|
||
|
def test_deref_config():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
c = Config(o)
|
||
|
w = weakref.ref(c)
|
||
|
del(c)
|
||
|
assert w() is None
|
||
|
|
||
|
|
||
|
def test_deref_option():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
w = weakref.ref(b)
|
||
|
del(b)
|
||
|
assert w() is not None
|
||
|
del(o)
|
||
|
assert w() is None
|
||
|
|
||
|
|
||
|
def test_deref_optiondescription():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
w = weakref.ref(o)
|
||
|
del(b)
|
||
|
assert w() is not None
|
||
|
del(o)
|
||
|
assert w() is None
|
||
|
|
||
|
|
||
|
def test_deref_option_cache():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
o.impl_build_cache()
|
||
|
w = weakref.ref(b)
|
||
|
del(b)
|
||
|
assert w() is not None
|
||
|
del(o)
|
||
|
assert w() is None
|
||
|
|
||
|
|
||
|
def test_deref_optiondescription_cache():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
o.impl_build_cache()
|
||
|
w = weakref.ref(o)
|
||
|
del(b)
|
||
|
assert w() is not None
|
||
|
del(o)
|
||
|
assert w() is None
|
||
|
|
||
|
|
||
|
def test_deref_option_config():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
c = Config(o)
|
||
|
w = weakref.ref(b)
|
||
|
del(b)
|
||
|
assert w() is not None
|
||
|
del(o)
|
||
|
assert w() is not None
|
||
|
del(c)
|
||
|
assert w() is None
|
||
|
|
||
|
|
||
|
def test_deref_optiondescription_config():
|
||
|
b = BoolOption('b', '')
|
||
|
o = OptionDescription('od', '', [b])
|
||
|
c = Config(o)
|
||
|
w = weakref.ref(o)
|
||
|
del(b)
|
||
|
assert w() is not None
|
||
|
del(o)
|
||
|
assert w() is not None
|
||
|
del(c)
|
||
|
assert w() is None
|