MutableListTest   A
last analyzed

Complexity

Total Complexity 15

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 67
rs 10
wmc 15

15 Methods

Rating   Name   Duplication   Size   Complexity  
A tearDown() 0 2 1
A test_remove() 0 4 1
A test_setstate() 0 5 1
A test_getstate() 0 3 1
A test_coerce_list() 0 3 1
A test_extend() 0 4 1
A test_sort() 0 4 1
A test_coerce_other() 0 2 1
A test_pop() 0 4 1
A test_append() 0 4 1
A test_pop_index() 0 4 1
A setUp() 0 2 1
A test_insert() 0 4 1
A test_coerce_mutable() 0 3 1
A test_reverse() 0 4 1
1
# -*- coding: utf-8 -*-
2
import unittest
3
from oe_utils.data.data_types import MutableList
4
5
try:
6
    from unittest.mock import Mock, patch
7
except ImportError:
8
    from mock import Mock, patch
9
10
11
class MutableListTest(unittest.TestCase):
12
    def setUp(self):
13
        self.mutable_list = MutableList([5, 6])
14
15
    def tearDown(self):
16
        del self.mutable_list
17
18
    @patch('oe_utils.data.data_types.Mutable.changed')
19
    def test_append(self, changed_mock):
20
        self.mutable_list.append("test")
21
        self.assertEqual(1, changed_mock.call_count)
22
23
    @patch('oe_utils.data.data_types.Mutable.changed')
24
    def test_extend(self, changed_mock):
25
        self.mutable_list.extend([1, 2, 3])
26
        self.assertEqual(1, changed_mock.call_count)
27
28
    @patch('oe_utils.data.data_types.Mutable.changed')
29
    def test_insert(self, changed_mock):
30
        self.mutable_list.insert(0, "test")
31
        self.assertEqual(1, changed_mock.call_count)
32
33
    @patch('oe_utils.data.data_types.Mutable.changed')
34
    def test_pop(self, changed_mock):
35
        self.mutable_list.pop()
36
        self.assertEqual(1, changed_mock.call_count)
37
38
    @patch('oe_utils.data.data_types.Mutable.changed')
39
    def test_pop_index(self, changed_mock):
40
        self.mutable_list.pop(index=1)
41
        self.assertEqual(1, changed_mock.call_count)
42
43
    @patch('oe_utils.data.data_types.Mutable.changed')
44
    def test_remove(self, changed_mock):
45
        self.mutable_list.remove(5)
46
        self.assertEqual(1, changed_mock.call_count)
47
48
    @patch('oe_utils.data.data_types.Mutable.changed')
49
    def test_reverse(self, changed_mock):
50
        self.mutable_list.reverse()
51
        self.assertEqual(1, changed_mock.call_count)
52
53
    @patch('oe_utils.data.data_types.Mutable.changed')
54
    def test_sort(self, changed_mock):
55
        self.mutable_list.sort()
56
        self.assertEqual(1, changed_mock.call_count)
57
58
    def test_getstate(self):
59
        res = self.mutable_list.__getstate__()
60
        self.assertIsInstance(res, list)
61
62
    def test_setstate(self):
63
        self.mutable_list.__setstate__([55])
64
        res = self.mutable_list.__getstate__()
65
        self.assertIsInstance(res, list)
66
        self.assertIn(55, res)
67
68
    def test_coerce_mutable(self):
69
        res = self.mutable_list.coerce("test", MutableList())
70
        self.assertIsInstance(res, MutableList)
71
72
    def test_coerce_list(self):
73
        res = self.mutable_list.coerce("test", [2, 3, 6])
74
        self.assertIsInstance(res, MutableList)
75
76
    def test_coerce_other(self):
77
        self.assertRaises(ValueError, self.mutable_list.coerce, "test", "test")
78