diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-10-27 00:24:43 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-10-27 00:24:43 +0000 |
commit | 4127d2219660362f8664165e5e381b003a22dad2 (patch) | |
tree | 82f9e51eb4cdfff55fd7270bd2ca42571ba52788 /test/base/utils.py | |
parent | d6568b482966f99e2df0a96d893f7b8e6f639706 (diff) | |
download | sqlalchemy-4127d2219660362f8664165e5e381b003a22dad2.tar.gz |
- fixed clear_mappers() behavior to better clean up after itself
Diffstat (limited to 'test/base/utils.py')
-rw-r--r-- | test/base/utils.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/base/utils.py b/test/base/utils.py index 8df3a2b97..28258e9c3 100644 --- a/test/base/utils.py +++ b/test/base/utils.py @@ -1,4 +1,5 @@ import testbase +import unittest from sqlalchemy import util, sql, exceptions from testlib import * @@ -61,6 +62,27 @@ class ColumnCollectionTest(PersistTest): cc3.add(c3) assert (cc1==cc2).compare(c1 == c2) assert not (cc1==cc3).compare(c2 == c3) + +class ArgSingletonTest(unittest.TestCase): + def test_cleanout(self): + util.ArgSingleton.instances.clear() + + class MyClass(object): + __metaclass__ = util.ArgSingleton + def __init__(self, x, y): + self.x = x + self.y = y + + m1 = MyClass(3, 4) + m2 = MyClass(1, 5) + m3 = MyClass(3, 4) + assert m1 is m3 + assert m2 is not m3 + assert len(util.ArgSingleton.instances) == 2 + + m1 = m2 = m3 = None + MyClass.dispose(MyClass) + assert len(util.ArgSingleton.instances) == 0 if __name__ == "__main__": |