Coverage for tests/unit/conf/test_config.py: 100%

23 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-03-20 05:56 +0000

1import os 

2import tempfile 

3import unittest 

4 

5from tatlin.conf.config import Config 

6 

7 

8class ConfigTest(unittest.TestCase): 

9 def test_read(self): 

10 with tempfile.NamedTemporaryFile("w") as fp: 

11 fp.write( 

12 """[general] 

13test = 1 

14 

15[ui] 

16window_w = 640 

17window_h = 480 

18gcodes_2d = 0 

19 

20[machine] 

21platform_w = 120 

22platform_d = 100 

23 """ 

24 ) 

25 fp.seek(0) 

26 

27 config = Config(fp.name) 

28 

29 self.assertEqual(config.read("general.test"), "1") 

30 self.assertEqual(config.read("test"), "1") 

31 

32 self.assertEqual(config.read("ui.recent_files"), None) 

33 self.assertEqual(config.read("ui.window_w"), "640") 

34 self.assertEqual(config.read("ui.window_h"), "480") 

35 self.assertEqual(config.read("ui.gcode_2d"), False) 

36 

37 def test_write(self): 

38 config = Config(os.path.join(tempfile.gettempdir(), "tatlin.conf")) 

39 config.write("new_section.window_w", 640) 

40 config.commit() 

41 

42 with open(config.fname, "r") as fp: 

43 self.assertEqual( 

44 fp.read().strip(), 

45 "[new_section]\nwindow_w = 640", 

46 ) 

47 

48 os.remove(config.fname)