Beispiel #1
0
    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)
Beispiel #2
0
    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)