[Sqlalchemy-commits] sqlalchemy: remove WeakIdentityMapping tests
Brought to you by:
zzzeek
From: <co...@sq...> - 2012-06-24 06:29:27
|
details: http://hg.sqlalchemy.org/sqlalchemy/sqlalchemy/rev/8562209125e8 changeset: 8418:8562209125e8 user: Mike Bayer <mi...@zz...> date: Sun Jun 24 02:29:08 2012 -0400 description: remove WeakIdentityMapping tests diffstat: test/base/test_utils.py | 191 ------------------------------------------------ 1 files changed, 0 insertions(+), 191 deletions(-) diffs (201 lines): diff -r d9c374975ac9 -r 8562209125e8 test/base/test_utils.py --- a/test/base/test_utils.py Sun Jun 24 02:07:43 2012 -0400 +++ b/test/base/test_utils.py Sun Jun 24 02:29:08 2012 -0400 @@ -637,197 +637,6 @@ assert (sym1 | sym2) & (sym2 | sym4) -class WeakIdentityMappingTest(fixtures.TestBase): - class Data(object): - pass - - def _some_data(self, some=20): - return [self.Data() for _ in xrange(some)] - - def _fixture(self, some=20): - data = self._some_data() - wim = util.WeakIdentityMapping() - for idx, obj in enumerate(data): - wim[obj] = idx - return data, wim - - def test_delitem(self): - data, wim = self._fixture() - needle = data[-1] - - assert needle in wim - assert id(needle) in wim.by_id - eq_(wim[needle], wim.by_id[id(needle)]) - - del wim[needle] - - assert needle not in wim - assert id(needle) not in wim.by_id - eq_(len(wim), (len(data) - 1)) - - data.remove(needle) - - assert needle not in wim - assert id(needle) not in wim.by_id - eq_(len(wim), len(data)) - - def test_setitem(self): - data, wim = self._fixture() - - o1, oid1 = data[-1], id(data[-1]) - - assert o1 in wim - assert oid1 in wim.by_id - eq_(wim[o1], wim.by_id[oid1]) - id_keys = set(wim.by_id.keys()) - - wim[o1] = 1234 - assert o1 in wim - assert oid1 in wim.by_id - eq_(wim[o1], wim.by_id[oid1]) - eq_(set(wim.by_id.keys()), id_keys) - - o2 = self.Data() - oid2 = id(o2) - - wim[o2] = 5678 - assert o2 in wim - assert oid2 in wim.by_id - eq_(wim[o2], wim.by_id[oid2]) - - def test_pop(self): - data, wim = self._fixture() - needle = data[-1] - - needle = data.pop() - assert needle in wim - assert id(needle) in wim.by_id - eq_(wim[needle], wim.by_id[id(needle)]) - eq_(len(wim), (len(data) + 1)) - - wim.pop(needle) - assert needle not in wim - assert id(needle) not in wim.by_id - eq_(len(wim), len(data)) - - def test_pop_default(self): - data, wim = self._fixture() - needle = data[-1] - - value = wim[needle] - x = wim.pop(needle, 123) - ne_(x, 123) - eq_(x, value) - assert needle not in wim - assert id(needle) not in wim.by_id - eq_(len(data), (len(wim) + 1)) - - n2 = self.Data() - y = wim.pop(n2, 456) - eq_(y, 456) - assert n2 not in wim - assert id(n2) not in wim.by_id - eq_(len(data), (len(wim) + 1)) - - def test_popitem(self): - data, wim = self._fixture() - (needle, idx) = wim.popitem() - - assert needle in data - eq_(len(data), (len(wim) + 1)) - assert id(needle) not in wim.by_id - - def test_setdefault(self): - data, wim = self._fixture() - - o1 = self.Data() - oid1 = id(o1) - - assert o1 not in wim - - res1 = wim.setdefault(o1, 123) - assert o1 in wim - assert oid1 in wim.by_id - eq_(res1, 123) - id_keys = set(wim.by_id.keys()) - - res2 = wim.setdefault(o1, 456) - assert o1 in wim - assert oid1 in wim.by_id - eq_(res2, 123) - assert set(wim.by_id.keys()) == id_keys - - del wim[o1] - assert o1 not in wim - assert oid1 not in wim.by_id - ne_(set(wim.by_id.keys()), id_keys) - - res3 = wim.setdefault(o1, 789) - assert o1 in wim - assert oid1 in wim.by_id - eq_(res3, 789) - eq_(set(wim.by_id.keys()), id_keys) - - def test_clear(self): - data, wim = self._fixture() - - assert len(data) == len(wim) == len(wim.by_id) - wim.clear() - - eq_(wim, {}) - eq_(wim.by_id, {}) - - def test_update(self): - data, wim = self._fixture() - assert_raises(NotImplementedError, wim.update) - - def test_weak_clear(self): - data, wim = self._fixture() - - assert len(data) == len(wim) == len(wim.by_id) - - del data[:] - gc_collect() - - eq_(wim, {}) - eq_(wim.by_id, {}) - eq_(wim._weakrefs, {}) - - def test_weak_single(self): - data, wim = self._fixture() - - assert len(data) == len(wim) == len(wim.by_id) - - oid = id(data[0]) - del data[0] - gc_collect() - - assert len(data) == len(wim) == len(wim.by_id) - assert oid not in wim.by_id - - def test_weak_threadhop(self): - data, wim = self._fixture() - data = set(data) - - cv = threading.Condition() - - def empty(obj): - cv.acquire() - obj.clear() - cv.notify() - cv.release() - - th = threading.Thread(target=empty, args=(data,)) - - cv.acquire() - th.start() - cv.wait() - cv.release() - gc_collect() - - eq_(wim, {}) - eq_(wim.by_id, {}) - eq_(wim._weakrefs, {}) class TestFormatArgspec(fixtures.TestBase): |