1 import unittest
2 import util.Config as Config
3 import pdb
4 from xml.etree.ElementTree import *
5 import filecmp
6 import xml
10
13
15 parent = ElementTree()
16 overrider = ElementTree()
17
18 parent.parse('tests/testdata/parent.xml')
19 overrider.parse('tests/testdata/override.xml')
20
21 result = Config.compositeXMLTrees(parent,overrider)
22 result = ElementTree(result)
23 result.write('tests/testdata/compositeTESTout.xml')
24 assert filecmp.cmp('tests/testdata/compositeTESTout.xml','tests/testdata/compositeTRUTH.xml')
25
27 result = Config.loadConfigFile('tests/testdata/inheritanceTEST.xml')
28
29 result.write('tests/testdata/inheritanceTESTout.xml')
30 assert filecmp.cmp('tests/testdata/inheritanceTESTout.xml',\
31 'tests/testdata/inheritanceTRUTH.xml')
32
34 assert Config.attemptEval('5') == 5
35 assert Config.attemptEval('{5:10, 12:15}') == {5:10, 12:15}
36 singleLayerLambda = Config.attemptEval('${Val}$*5')
37 assert singleLayerLambda({'Val':2}) == 10
38 doubleLayerLambda = Config.attemptEval("${Val1}$*'${Val2}$'")
39 assert doubleLayerLambda({'Val1':3})({'Val2':7}) == 21
40
41 conditional = Config.attemptEval("${Val1}$*5=='${Val2}$'")
42 assert conditional({'Val1':5})({'Val2':25}) == True
43 assert conditional({'Val1':5})({'Val2':26}) == False
44
45 onlyDouble = Config.attemptEval("'${Val1}$'*'${Val2}$'")
46 assert onlyDouble({})({'Val1':3, 'Val2':7}) == 21
47 if __name__ == '__main__':
48 unittest.main()
49