Skip to content

Commit faaf8b7

Browse files
committed
Creating test_freeze module, hashlib tests
Signed-off-by: Matthew A Johnson <matjoh@microsoft.com>
1 parent 697d3b1 commit faaf8b7

8 files changed

Lines changed: 657 additions & 0 deletions

File tree

Lib/test/test_freeze/__init__.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import os
2+
from test.support import load_package_tests
3+
import unittest
4+
5+
6+
def load_tests(*args):
7+
return load_package_tests(os.path.dirname(__file__), *args)
8+
9+
10+
class BaseObjectTest(unittest.TestCase):
11+
def __init__(self, *args, obj=None, **kwargs):
12+
unittest.TestCase.__init__(self, *args, **kwargs)
13+
self.obj = obj
14+
15+
def setUp(self):
16+
freeze(self.obj)
17+
18+
def test_immutable(self):
19+
self.assertTrue(isimmutable(self.obj))
20+
21+
def test_add_attribute(self):
22+
freeze(self.obj)
23+
with self.assertRaises(NotWriteableError):
24+
self.obj.new_attribute = 'value'
25+
26+
def test_type_immutable(self):
27+
self.assertTrue(isimmutable(type(self.obj)))

Lib/test/test_freeze/__main__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from . import load_tests
2+
import unittest
3+
4+
unittest.main()

Lib/test/test_freeze/test_array.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
from array import array
2+
from . import BaseObjectTest
3+
4+
5+
class TestArray(BaseObjectTest):
6+
def __init__(self, *args, **kwargs):
7+
obj = array('i', [1, 2, 3, 4])
8+
BaseObjectTest.__init__(self, *args, obj=obj, **kwargs)
9+
10+
def test_set_item(self):
11+
with self.assertRaises(NotWriteableError):
12+
self.obj[0] = 5
13+
14+
def test_set_slice(self):
15+
with self.assertRaises(NotWriteableError):
16+
self.obj[1:3] = [6, 7]
17+
18+
def test_append(self):
19+
with self.assertRaises(NotWriteableError):
20+
self.obj.append(8)
21+
22+
def test_extend(self):
23+
with self.assertRaises(NotWriteableError):
24+
self.obj.extend(array('i', [9]))
25+
26+
def test_insert(self):
27+
with self.assertRaises(NotWriteableError):
28+
self.obj.insert(0, 10)
29+
30+
def test_pop(self):
31+
with self.assertRaises(NotWriteableError):
32+
self.obj.pop()
33+
34+
def test_remove(self):
35+
with self.assertRaises(NotWriteableError):
36+
self.obj.remove(1)
37+
38+
def test_delete(self):
39+
with self.assertRaises(NotWriteableError):
40+
del self.obj[0]
41+
42+
def test_reverse(self):
43+
with self.assertRaises(NotWriteableError):
44+
self.obj.reverse()
45+
46+
def test_inplace_repeat(self):
47+
with self.assertRaises(NotWriteableError):
48+
self.obj *= 2
49+
50+
def test_inplace_concat(self):
51+
with self.assertRaises(NotWriteableError):
52+
self.obj += array('i', [11])
53+
54+
def test_byteswap(self):
55+
with self.assertRaises(NotWriteableError):
56+
self.obj.byteswap()
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
from collections import deque
2+
3+
from . import BaseObjectTest
4+
5+
class TestDeque(BaseObjectTest):
6+
class C:
7+
pass
8+
9+
def __init__(self, *args, **kwargs):
10+
obj = deque([self.C(), self.C(), 1, "two", None])
11+
BaseObjectTest.__init__(self, *args, obj=obj, **kwargs)
12+
13+
def test_set_item(self):
14+
with self.assertRaises(NotWriteableError):
15+
self.obj[0] = None
16+
17+
def test_append(self):
18+
with self.assertRaises(NotWriteableError):
19+
self.obj.append(TestDeque.C())
20+
21+
def test_appendleft(self):
22+
with self.assertRaises(NotWriteableError):
23+
self.obj.appendleft(TestDeque.C())
24+
25+
def test_extend(self):
26+
with self.assertRaises(NotWriteableError):
27+
self.obj.extend([TestDeque.C()])
28+
29+
def test_extendleft(self):
30+
with self.assertRaises(NotWriteableError):
31+
self.obj.extendleft([TestDeque.C()])
32+
33+
def test_insert(self):
34+
with self.assertRaises(NotWriteableError):
35+
self.obj.insert(0, TestDeque.C())
36+
37+
def test_pop(self):
38+
with self.assertRaises(NotWriteableError):
39+
self.obj.pop()
40+
41+
def test_popleft(self):
42+
with self.assertRaises(NotWriteableError):
43+
self.obj.popleft()
44+
45+
def test_remove(self):
46+
with self.assertRaises(NotWriteableError):
47+
self.obj.remove(1)
48+
49+
def test_delete(self):
50+
with self.assertRaises(NotWriteableError):
51+
del self.obj[0]
52+
53+
def test_inplace_repeat(self):
54+
with self.assertRaises(NotWriteableError):
55+
self.obj *= 2
56+
57+
def test_inplace_concat(self):
58+
with self.assertRaises(NotWriteableError):
59+
self.obj += [TestDeque.C()]
60+
61+
def test_reverse(self):
62+
with self.assertRaises(NotWriteableError):
63+
self.obj.reverse()
64+
65+
def test_rotate(self):
66+
with self.assertRaises(NotWriteableError):
67+
self.obj.rotate(1)
68+
69+
def test_clear(self):
70+
with self.assertRaises(NotWriteableError):
71+
self.obj.clear()

0 commit comments

Comments
 (0)