From 6b806036d272d2dcfe8e6b8851f8656890414301 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Sat, 2 Oct 2021 16:50:22 +0200 Subject: [PATCH] Improved `KeylistDict` tests. --- tests/dicts/keylist/test_keylist_dict.py | 58 ++++++++++++++++++++---- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/tests/dicts/keylist/test_keylist_dict.py b/tests/dicts/keylist/test_keylist_dict.py index 1aae989..9bc68c0 100644 --- a/tests/dicts/keylist/test_keylist_dict.py +++ b/tests/dicts/keylist/test_keylist_dict.py @@ -8,24 +8,62 @@ import unittest class keylist_dict_test_case(unittest.TestCase): def test_contains(self): - # TODO - pass + d = KeylistDict() + d['a'] = {} + d['a']['b'] = True + self.assertTrue(['a', 'b'] in d) + self.assertFalse(['a', 'b', 'c'] in d) + # with keys as tuple + self.assertTrue(('a', 'b', ) in d) + self.assertFalse(('a', 'b', 'c', ) in d) def test_delitem(self): - # TODO - pass + d = KeylistDict() + d['a'] = {} + d['a']['b'] = {} + d['a']['b']['c'] = True + self.assertEqual(d.get(['a', 'b', 'c']), True) + del d[['a', 'b', 'c']] + self.assertFalse(['a', 'b', 'c'] in d) + self.assertTrue(['a', 'b'] in d) + # with keys as tuple + del d[('a', 'b', )] + self.assertFalse(['a', 'b'] in d) + self.assertTrue(['a'] in d) def test_get(self): - # TODO - pass + d = KeylistDict() + d['a'] = {} + d['a']['b'] = True + self.assertEqual(d.get(['a', 'b']), True) + self.assertEqual(d.get(['a', 'b']), True) + # with keys as tuple + self.assertEqual(d.get(('a', 'b', )), True) + self.assertEqual(d.get(('a', 'b', )), True) def test_getitem(self): - # TODO - pass + d = KeylistDict() + d['a'] = {} + d['a']['b'] = True + self.assertEqual(d[['a', 'b']], True) + self.assertEqual(d[['a', 'b']], True) + # with keys as tuple + self.assertEqual(d[('a', 'b', )], True) + self.assertEqual(d[('a', 'b', )], True) def test_pop(self): - # TODO - pass + d = KeylistDict() + d['a'] = {} + d['a']['b'] = {} + d['a']['b']['c'] = True + self.assertEqual(d.get(['a', 'b', 'c']), True) + d.pop(['a', 'b', 'c']) + self.assertFalse(['a', 'b', 'c'] in d) + self.assertTrue(['a', 'b'] in d) + # with keys as tuple + d.pop(('a', 'b', )) + self.assertFalse(['a', 'b'] in d) + self.assertTrue(['a'] in d) def test_set(self): # TODO