~ubuntu-branches/ubuntu/maverick/python3.1/maverick

« back to all changes in this revision

Viewing changes to Lib/test/test_dictviews.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-03-23 00:01:27 UTC
  • Revision ID: james.westby@ubuntu.com-20090323000127-5fstfxju4ufrhthq
Tags: upstream-3.1~a1+20090322
ImportĀ upstreamĀ versionĀ 3.1~a1+20090322

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import unittest
 
2
from test import support
 
3
 
 
4
class DictSetTest(unittest.TestCase):
 
5
 
 
6
    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
 
 
17
    def test_dict_keys(self):
 
18
        d = {1: 10, "a": "ABC"}
 
19
        keys = d.keys()
 
20
        self.assertEqual(len(keys), 2)
 
21
        self.assertEqual(set(keys), {1, "a"})
 
22
        self.assertEqual(keys, {1, "a"})
 
23
        self.assertNotEqual(keys, {1, "a", "b"})
 
24
        self.assertNotEqual(keys, {1, "b"})
 
25
        self.assertNotEqual(keys, {1})
 
26
        self.assertNotEqual(keys, 42)
 
27
        self.assert_(1 in keys)
 
28
        self.assert_("a" in keys)
 
29
        self.assert_(10 not in keys)
 
30
        self.assert_("Z" not in keys)
 
31
        self.assertEqual(d.keys(), d.keys())
 
32
        e = {1: 11, "a": "def"}
 
33
        self.assertEqual(d.keys(), e.keys())
 
34
        del e["a"]
 
35
        self.assertNotEqual(d.keys(), e.keys())
 
36
 
 
37
    def test_dict_items(self):
 
38
        d = {1: 10, "a": "ABC"}
 
39
        items = d.items()
 
40
        self.assertEqual(len(items), 2)
 
41
        self.assertEqual(set(items), {(1, 10), ("a", "ABC")})
 
42
        self.assertEqual(items, {(1, 10), ("a", "ABC")})
 
43
        self.assertNotEqual(items, {(1, 10), ("a", "ABC"), "junk"})
 
44
        self.assertNotEqual(items, {(1, 10), ("a", "def")})
 
45
        self.assertNotEqual(items, {(1, 10)})
 
46
        self.assertNotEqual(items, 42)
 
47
        self.assert_((1, 10) in items)
 
48
        self.assert_(("a", "ABC") in items)
 
49
        self.assert_((1, 11) not in items)
 
50
        self.assert_(1 not in items)
 
51
        self.assert_(() not in items)
 
52
        self.assert_((1,) not in items)
 
53
        self.assert_((1, 2, 3) not in items)
 
54
        self.assertEqual(d.items(), d.items())
 
55
        e = d.copy()
 
56
        self.assertEqual(d.items(), e.items())
 
57
        e["a"] = "def"
 
58
        self.assertNotEqual(d.items(), e.items())
 
59
 
 
60
    def test_dict_mixed_keys_items(self):
 
61
        d = {(1, 1): 11, (2, 2): 22}
 
62
        e = {1: 1, 2: 2}
 
63
        self.assertEqual(d.keys(), e.items())
 
64
        self.assertNotEqual(d.items(), e.keys())
 
65
 
 
66
    def test_dict_values(self):
 
67
        d = {1: 10, "a": "ABC"}
 
68
        values = d.values()
 
69
        self.assertEqual(set(values), {10, "ABC"})
 
70
        self.assertEqual(len(values), 2)
 
71
 
 
72
def test_main():
 
73
    support.run_unittest(DictSetTest)
 
74
 
 
75
if __name__ == "__main__":
 
76
    test_main()