Package SmootLight :: Package tests :: Module TestConfigLoaders'
[hide private]
[frames] | no frames]

Source Code for Module SmootLight.tests.TestConfigLoaders'

 1  import unittest 
 2  import util.Config as Config 
 3  import pdb 
 4  from xml.etree.ElementTree import * 
 5  import filecmp 
 6  import xml 
7 -class TestConfigLoaders(unittest.TestCase):
8 - def setUp(self):
9 pass
10
11 - def tearDown(self):
12 pass
13
14 - def test_composite(self):
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
26 - def test_inheritance(self):
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 #Tests our fancy new XML Eval Function
33 - def test_eval(self):
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