def test_single_if_statement(self): """ Test a single conditional statement """ tests = [\ (""" [...] ## if (TestVar) { A ## } else { B ## } [...] """.split('\n'), """ [...] A [...] """.split('\n'), {'TestVar':True}), (""" [...] ## if (not TestVar) { A ## } else { B ## } [...] """.split('\n'), """ [...] B [...] """.split('\n'), {'TestVar':True}), (""" [...] ## if (TestVar) { A ## } else { B ## } [...] """.split('\n'), """ [...] B [...] """.split('\n'), {'TestVar':False}), ] for tested_text, goal, context in tests: res = writers.FileWriter('tmp').preprocess_template(tested_text, context=context) self.assertEqual(res,goal)
def test_multiple_if_statement(self): """ Test multiple entangle conditional statement """ test_text = \ """ [...] ## if (TestVar1) { A ## if (TestVar2) { B ## if (TestVar3) { C ## } else { D ## } E ## if (TestVar4) { F ## } G ## } H ## } else { I ## } [...] """.split('\n') test_goals = \ [ (""" [...] A B C E F G H [...] """.split('\n'), {'TestVar1':True,'TestVar2':True,'TestVar3':True,'TestVar4':True}), (""" [...] A B C E G H [...] """.split('\n'), {'TestVar1':True,'TestVar2':True,'TestVar3':True,'TestVar4':False}), (""" [...] A H [...] """.split('\n'), {'TestVar1':True,'TestVar2':False,'TestVar3':True,'TestVar4':False}), (""" [...] I [...] """.split('\n'), {'TestVar1':False,'TestVar2':True,'TestVar3':True,'TestVar4':True}) ] for goal, context in test_goals: res = writers.FileWriter('tmp').preprocess_template(test_text, context=context) self.assertEqual(res,goal)