diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2015-02-23 21:29:09 +0100 |
|---|---|---|
| committer | serpilliere <serpilliere@users.noreply.github.com> | 2015-02-23 21:29:09 +0100 |
| commit | dd0ecf0380c42d8eecdaa5f91dbac401994a4173 (patch) | |
| tree | 515821cff8cdac2143f5c4759be6f68611789f70 /test/core/utils.py | |
| parent | cc21187b2844413822ab0179af8d6464e12cf8d5 (diff) | |
| parent | 59a7c6f3d153abedd12c4a1ab9700230ad8b8002 (diff) | |
| download | miasm-dd0ecf0380c42d8eecdaa5f91dbac401994a4173.tar.gz miasm-dd0ecf0380c42d8eecdaa5f91dbac401994a4173.zip | |
Merge pull request #85 from commial/bounded-dict
Bounded dict
Diffstat (limited to '')
| -rw-r--r-- | test/core/utils.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/core/utils.py b/test/core/utils.py new file mode 100644 index 00000000..bf14df68 --- /dev/null +++ b/test/core/utils.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +import unittest + + +class TestUtils(unittest.TestCase): + + def test_boundedDict(self): + from miasm2.core.utils import BoundedDict + + # Use a callback + def logger(key): + print "DELETE", key + + # Create a 5/2 dictionnary + bd = BoundedDict(5, 2, initialdata={"element": "value"}, + delete_cb=logger) + bd["element2"] = "value2" + assert("element" in bd) + assert("element2" in bd) + self.assertEqual(bd["element"], "value") + self.assertEqual(bd["element2"], "value2") + + # Increase 'element2' use + _ = bd["element2"] + + for i in xrange(6): + bd[i] = i + print "Insert %d -> %s" % (i, bd) + + assert(len(bd) == 2) + + assert("element2" in bd) + self.assertEqual(bd["element2"], "value2") + + +if __name__ == '__main__': + testsuite = unittest.TestLoader().loadTestsFromTestCase(TestUtils) + report = unittest.TextTestRunner(verbosity=2).run(testsuite) + exit(len(report.errors + report.failures)) |