TestMain.setUp()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 4
Bugs 0 Features 0
Metric Value
c 4
b 0
f 0
dl 0
loc 2
rs 10
cc 1
1
import unittest
2
import sys
3
4
if sys.version_info[0] < 3:
5
    import mock
6
else:
7
    import unittest.mock as mock
8
from obdlib.obd.protocols.base import Base
9
10
11
class TestMain(unittest.TestCase):
12
    def setUp(self):
13
        self.pm = Base()
14
15
    def test_remove_searching(self):
16
        data = self.pm.remove_searching(['SEARCHING...'])
17
        self.assertEqual(data, [])
18
19
        data = self.pm.remove_searching(['SEARCHING...', '410000000000'])
20
        self.assertEqual(data, ['410000000000'])
21
22
        # Exception - ValueError
23
        data = self.pm.remove_searching(['410C34'])
24
        self.assertEqual(data, ['410C34'])
25
26
    def test_create_data(self):
27
        with self.assertRaises(NotImplementedError) as cm:
28
            self.pm.create_data([])
29
        self.assertIsInstance(cm.exception, NotImplementedError)
30
31
    def test_check_result(self):
32
        resp = self.pm.check_result(['NODATA'])
33
        self.assertFalse(resp)
34
35
        resp = self.pm.check_result(['410C7D'])
36
        self.assertTrue(resp)
37
38
    @mock.patch('sys.stdout')
39
    def test_check_error(self, mock_out):
40
        # if hasn't error
41
        resp = self.pm.check_error(['410C7D'])
42
        self.assertTrue(resp)
43
44
        # if some error appears
45
        resp = self.pm.check_error(['7F0112'])
46
        self.assertFalse(resp)
47
48
        resp = self.pm.check_error(['7F0188'])
49
        self.assertFalse(resp)
50
51
52
suite = unittest.TestLoader().loadTestsFromTestCase(TestMain)
53
unittest.TextTestRunner(verbosity=2).run(suite)
54