Completed
Pull Request — master (#22)
by Jerome
25s
created

TestBackedUpDict   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 14
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A test_add() 0 13 1
1
import os
2
import unittest
3
from msquaredc.persistence import count
4
from msquaredc.persistence import obtain
5
from msquaredc.persistence import persist
6
from msquaredc.persistence import BackedUpDict
7
8
9
class TestPersistence(unittest.TestCase):
10
    def test_all(self):
11
        samples = [
12
            {"x":1,"y":2,"z":3},
13
            {"x":4,"y":5,"z":""},
14
        ]
15
        try:
16
            persist("test.txt",samples[0],"w+")
17
            persist("test.txt",samples[1],"a+")
18
            self.assertIn("test.txt",os.listdir(os.getcwd()))
19
            res = obtain("test.txt")
20
            #assert count("test.txt") == 3
21
        finally:
22
            if "test.txt" in os.listdir(os.getcwd()):
23
                os.remove("test.txt")
24
25
        self.assertEqual(len(res),len(samples))
26
        for i in range(len(samples)):
27
            for j in samples[i].keys():
28
                self.assertIn(j,res[i].keys())
29
                self.assertEqual(str(samples[i][j]),res[i][j],j+str(samples)+str(res))
30
31
32
class TestBackedUpDict(unittest.TestCase):
33
    def test_add(self):
34
        p = BackedUpDict(":memory:")
35
        p["bla"] = "blupp"
36
        self.assertEqual(p["bla"],"blupp")
37
        p[1] = 2
38
        self.assertEqual(p[1],2)
39
        p[1] = "mahalo"
40
        self.assertEqual(p[1],"mahalo")
41
        self.assertIn(1,p.keys())
42
        self.assertIn("bla",p.keys())
43
        self.assertEqual(len(p),2)
44
        p["1"] = "2"
45
        self.assertEqual(p[1],"mahalo")
46