Completed
Pull Request — master (#2609)
by Udayan
02:12
created

FileproxyTest.test_hashing()   A

Complexity

Conditions 3

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
c 1
b 0
f 0
dl 0
loc 9
rs 9.6666
1
import unittest
2
import os
3
4
from coalib.files.Fileproxy import Fileproxy
5
6
7
class FileproxyTest(unittest.TestCase):
8
9
    def setUp(self):
10
        fileproxy_test_dir = os.path.join(os.path.split(__file__)[0],
11
                                          'FileproxyTestFiles')
12
13
        self.testfile = os.path.join(fileproxy_test_dir, 'testfile.txt')
14
        self.fileproxyobject = Fileproxy(self.testfile)
15
16
    def test_str(self):
17
        self.assertEqual(str(self.fileproxyobject),
18
                         open(self.testfile).read())
19
20
    def test_equal(self):
21
        with open(self.testfile, 'a+') as file:
22
            file.write("New line")
23
            self.assertEqual(self.fileproxyobject, Fileproxy(self.testfile))
24
            lines = file.readlines()
25
26
        with open(self.testfile, 'w') as file:
27
            file.writelines(lines[:-1])
28
29
    def test_iter(self):
30
        with open(self.testfile, 'r') as file:
31
            self.assertEqual(tuple(self.fileproxyobject),
32
                             tuple(file.readlines()))
33
34
    def test_hashing(self):
35
        with open(self.testfile, 'a+') as file:
36
            file.write("New line")
37
            self.assertEqual(hash(self.fileproxyobject),
38
                             hash(Fileproxy(self.testfile)))
39
            lines = file.readlines()
40
41
        with open(self.testfile, 'w') as file:
42
            file.writelines(lines[:-1])
43