Completed
Pull Request — master (#1160)
by Mischa
01:40
created

coalib.tests.bearlib.abstractions.CorrectionBasedBearTest.test_errors()   A

Complexity

Conditions 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 1
dl 0
loc 8
rs 9.4286
1
import subprocess
2
import sys
3
import unittest
4
from queue import Queue
5
6
sys.path.insert(0, ".")
7
from bears.tests.BearTestHelper import generate_skip_test
8
from bears.tests.LocalBearTestHelper import LocalBearTestHelper
9
from bears.c_languages.IndentBear import IndentBear
10
from coalib.settings.Section import Section
11
12
13
class CorrectionBasedBearTest(LocalBearTestHelper):
14
    """
15
    This test only covers corner cases. The basic functionality is tested in
16
    a more intuitive way in the IndentBearTest.
17
    """
18
19
    def setUp(self):
20
        self.section = Section('')
21
        self.queue = Queue()
22
        self.uut = IndentBear(self.section, self.queue)
23
24
    def test_errors(self):
25
        old_binary, self.uut.BINARY = self.uut.BINARY, "invalid_stuff_here"
26
27
        self.uut.execute(filename='', file=[])
28
        self.queue.get()
29
        self.assertRegex(str(self.queue.get()), r'\[WARNING\] .*')
30
31
        self.uut.BINARY = old_binary
32
33
    def test_missing_binary(self):
34
        old_binary = self.uut.BINARY
35
36
        self.uut.BINARY = "fdgskjfdgjdfgnlfdslk"
37
        self.assertEqual(self.uut.check_prerequisites(),
38
                         "fdgskjfdgjdfgnlfdslk is not installed.")
39
40
        self.uut.BINARY = old_binary
41
42
43
skip_test() = generate_skip_test(IndentBear)
44
45
46
if __name__ == '__main__':
47
    unittest.main(verbosity=2)
48