50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
import unittest
|
|
from mt5_correlation.config import Config
|
|
|
|
|
|
class TestConfig(unittest.TestCase):
|
|
def test_load_and_get(self):
|
|
config = Config()
|
|
config.load("testconfig.yaml")
|
|
val121 = config.get('test1.test1_2.val1_2_1')
|
|
self.assertEqual(val121, 'val1_2_1', "Get returned incorrect value.")
|
|
|
|
def test_set_and_save(self):
|
|
config = Config()
|
|
config.load("testconfig.yaml")
|
|
|
|
path = 'test1.test1_2.val1_2_1'
|
|
|
|
# Save new value, storing orig so we can restore later
|
|
orig_value = config.get(path)
|
|
config.set(path, "newval")
|
|
config.save()
|
|
|
|
# Reopen config and get value to see if it is previously saved value
|
|
config = Config()
|
|
config.load("testconfig.yaml")
|
|
saved_value = config.get(path)
|
|
self.assertEqual(saved_value, 'newval', "New value was not saved and returned.")
|
|
|
|
# Restore and save file
|
|
config.set(path, orig_value)
|
|
config.save()
|
|
|
|
def test_get_root_nodes(self):
|
|
config = Config()
|
|
config.load("testconfig.yaml")
|
|
|
|
# Get root nodes
|
|
root_nodes = config.get_root_nodes()
|
|
|
|
# There should be 2
|
|
self.assertTrue(len(root_nodes) == 2, "There should be 2 root nodes.")
|
|
|
|
# The first should be test1 and the second should be test2
|
|
self.assertEqual(root_nodes[0], 'test1', "First root node should be 'test1'.")
|
|
self.assertEqual(root_nodes[1], 'test2', "Second root node should be 'test2'.")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|