Coverage for test\test_configuration.py: 100%
53 statements
« prev ^ index » next coverage.py v7.6.3, created at 2024-10-15 19:33 +0000
« prev ^ index » next coverage.py v7.6.3, created at 2024-10-15 19:33 +0000
1import pytest
2from xml.dom.minidom import Document
3import sys
4from pathlib import Path
7sys.path.append(str(Path(__file__).parent.parent))
8from Configuration import Config
11# Test for increment_position
12def test_increment_position_valid():
13 config = Config()
14 assert config.increment_position("(0,0)") == "(1,1)"
15 assert config.increment_position("(2,3)") == "(3,4)"
16 assert config.increment_position("(5,5)") == "(6,6)"
19def test_increment_position_invalid_format():
20 config = Config()
21 with pytest.raises(AssertionError):
22 config.increment_position("0,0")
23 with pytest.raises(AssertionError):
24 config.increment_position("(0,0")
25 with pytest.raises(AssertionError):
26 config.increment_position("0,0)")
29def test_increment_position_negative_values():
30 config = Config()
31 with pytest.raises(AssertionError):
32 config.increment_position("(-1,0)")
33 with pytest.raises(AssertionError):
34 config.increment_position("(0,-1)")
37@pytest.fixture
38def config():
39 # Create instance
40 config = Config()
41 doc = Document()
43 # Crate stat set
44 statset = doc.createElement("ss")
45 statset.setAttribute("name", "hud_test")
47 stat = doc.createElement("stat")
48 stat.setAttribute("_rowcol", "(1,1)")
49 stat.setAttribute("_stat_name", "vpip")
51 statset.appendChild(stat)
53 doc.appendChild(statset)
55 config.doc = doc
56 return config
59def test_edit_hud(config):
60 # call function edit_hud with test data
61 config.edit_hud(
62 hud_name="hud_test",
63 position="(0,0)",
64 stat_name="pfr",
65 click="True",
66 hudcolor="#F44336",
67 hudprefix="P",
68 hudsuffix="S",
69 popup="default",
70 stat_hicolor="#000000",
71 stat_hith="high",
72 stat_locolor="#FFFFFF",
73 stat_loth="low",
74 tip="Some tip",
75 )
77 # Get modified node
78 statset_node = config.doc.getElementsByTagName("ss")[0]
79 stat_node = statset_node.getElementsByTagName("stat")[0]
81 # checks
82 assert stat_node.getAttribute("_stat_name") == "pfr"
83 assert stat_node.getAttribute("click") == "True"
84 assert stat_node.getAttribute("hudcolor") == "#F44336"
85 assert stat_node.getAttribute("hudprefix") == "P"
86 assert stat_node.getAttribute("hudsuffix") == "S"
87 assert stat_node.getAttribute("popup") == "default"
88 assert stat_node.getAttribute("stat_hicolor") == "#000000"
89 assert stat_node.getAttribute("stat_hith") == "high"
90 assert stat_node.getAttribute("stat_locolor") == "#FFFFFF"
91 assert stat_node.getAttribute("stat_loth") == "low"
92 assert stat_node.getAttribute("tip") == "Some tip"