blob: 4c436f7eae2db143d478ebd7c44ed5d04a5d913f [file] [log] [blame]
Guido van Rossumb90c8482007-02-10 01:11:45 +00001import unittest
2from test import test_support
3
4class DictSetTest(unittest.TestCase):
5
Guido van Rossum3ac67412007-02-10 18:55:06 +00006 def test_constructors_not_callable(self):
7 kt = type({}.KEYS())
8 self.assertRaises(TypeError, kt, {})
9 self.assertRaises(TypeError, kt)
10 it = type({}.ITEMS())
11 self.assertRaises(TypeError, it, {})
12 self.assertRaises(TypeError, it)
13 vt = type({}.VALUES())
14 self.assertRaises(TypeError, vt, {})
15 self.assertRaises(TypeError, vt)
16
Guido van Rossumb90c8482007-02-10 01:11:45 +000017 def test_dict_keys(self):
18 d = {1: 10, "a": "ABC"}
19 keys = d.KEYS()
20 self.assertEqual(set(keys), {1, "a"})
Guido van Rossum83825ac2007-02-10 04:54:19 +000021 self.assertEqual(len(keys), 2)
Guido van Rossum3ac67412007-02-10 18:55:06 +000022 self.assert_(1 in keys)
23 self.assert_("a" in keys)
24 self.assert_(10 not in keys)
25 self.assert_("Z" not in keys)
Guido van Rossumb90c8482007-02-10 01:11:45 +000026
27 def test_dict_items(self):
28 d = {1: 10, "a": "ABC"}
29 items = d.ITEMS()
30 self.assertEqual(set(items), {(1, 10), ("a", "ABC")})
Guido van Rossum83825ac2007-02-10 04:54:19 +000031 self.assertEqual(len(items), 2)
Guido van Rossum3ac67412007-02-10 18:55:06 +000032 self.assert_((1, 10) in items)
33 self.assert_(("a", "ABC") in items)
34 self.assert_((1, 11) not in items)
35 self.assert_(1 not in items)
36 self.assert_(() not in items)
37 self.assert_((1,) not in items)
38 self.assert_((1, 2, 3) not in items)
Guido van Rossumb90c8482007-02-10 01:11:45 +000039
40 def test_dict_values(self):
41 d = {1: 10, "a": "ABC"}
42 values = d.VALUES()
43 self.assertEqual(set(values), {10, "ABC"})
Guido van Rossum83825ac2007-02-10 04:54:19 +000044 self.assertEqual(len(values), 2)
Guido van Rossumb90c8482007-02-10 01:11:45 +000045
46def test_main():
47 test_support.run_unittest(DictSetTest)
48
49if __name__ == "__main__":
50 test_main()