configurationengine/source/cone/public/tests/unittest_rules_simplecondition.py
author m2lahtel
Tue, 10 Aug 2010 14:29:28 +0300
changeset 3 e7e0ae78773e
parent 0 2e8eeb919028
permissions -rw-r--r--
ConE 1.2.11 release
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     1
#
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     2
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     3
# All rights reserved.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     4
# This component and the accompanying materials are made available
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     5
# under the terms of "Eclipse Public License v1.0"
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     6
# which accompanies this distribution, and is available
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     7
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     8
#
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     9
# Initial Contributors:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    10
# Nokia Corporation - initial contribution.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    11
#
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    12
# Contributors:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    13
#
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    14
# Description:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    15
#
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    16
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    17
import unittest
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    18
import os
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    19
import re
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    20
import logging
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    21
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    22
from cone.public import *
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    23
from cone.public.rules import DefaultContext, ASTInterpreter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    24
from cone.confml import model 
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    25
ROOT_PATH = os.path.dirname(os.path.abspath(__file__))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    26
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    27
class TestContext(DefaultContext):
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    28
    """ DefaultContext implements ConE specific context for handling rules
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    29
    """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    30
    def __init__(self, data):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    31
        self.data = data
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    32
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    33
    def eval(self, ast, expression, value):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    34
        pass
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    35
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    36
    def get_keys(self, refs):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    37
        return ASTInterpreter.extract_refs(refs)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    38
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    39
    def get_children_for_reference(self, reference):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    40
        # implement ConE specific children expansion
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    41
        pass
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    42
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    43
    def handle_terminal(self, expression):
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    44
        return self.data[expression]
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    45
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    46
class TestPluginCondition(unittest.TestCase):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    47
    
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    48
    def test_create_plugin_condition(self):
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    49
        condition = rules.SimpleCondition("${foo.bar}", "True")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    50
        self.assertTrue(isinstance(condition.left, rules.ReferenceTerminal))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    51
        self.assertEquals(str(condition),'(${foo.bar} => None) == True')
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    52
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    53
    def test_create_plugin_and_eval_booleans(self):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    54
        context = TestContext(None)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    55
        condition = rules.SimpleCondition("1", "True")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    56
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    57
        condition = rules.SimpleCondition("0", True)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    58
        self.assertFalse(condition.eval(context))
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    59
    
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    60
    def test_create_plugin_and_eval_none(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    61
        context = TestContext(None)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    62
        condition = rules.SimpleCondition("None", "None")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    63
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    64
        condition = rules.SimpleCondition("None", None)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    65
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    66
        condition = rules.SimpleCondition(None, "None")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    67
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    68
        condition = rules.SimpleCondition(None, None)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    69
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    70
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    71
        condition = rules.SimpleCondition("True", None)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    72
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    73
        condition = rules.SimpleCondition(None, "True")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    74
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    75
    
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    76
    def test_create_plugin_and_eval_none_from_ref(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    77
        context = TestContext({'Foo.Bar': None})
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    78
        condition = rules.SimpleCondition("${Foo.Bar}", None)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    79
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    80
    
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    81
    def test_create_plugin_and_eval_unicode(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    82
        context = TestContext({'Foo.Bar': u"foo\u20ac"})
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    83
        condition = rules.SimpleCondition("${Foo.Bar}", u"foo\u20ac")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    84
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    85
    
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    86
    def test_create_plugin_and_eval_number_against_string(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    87
        context = TestContext({'Foo.Int': 123,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    88
                               'Foo.Real': 123.4})
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    89
        condition = rules.SimpleCondition("${Foo.Int}", "foo")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    90
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    91
        condition = rules.SimpleCondition("${Foo.Real}", "foo")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    92
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    93
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    94
        condition = rules.SimpleCondition("${Foo.Int}", "123")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    95
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    96
        condition = rules.SimpleCondition("${Foo.Real}", "123.4")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    97
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    98
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
    99
    def xtest_selection_setting(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   100
        conf =  api.Configuration("test.confml", namespace="com.nokia.s60")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   101
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   102
        context = TestContext(None)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   103
        context.configuration = conf
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   104
        fea= api.Feature("foo")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   105
        fea.add_feature(api.Feature("child1",type='selection'))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   106
        fea.child1.create_option('one','1')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   107
        fea.child1.create_option('two','2')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   108
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   109
        conf.add_feature(fea)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   110
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   111
        fea.child1.add_data(api.Data(value="2"))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   112
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   113
        condition = rules.SimpleCondition("${fea.child1}", "2")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   114
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   115
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   116
    def test_sequence_setting(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   117
        context = plugin.GenerationContext()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   118
        context.configuration = api.Configuration()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   119
        fea = model.ConfmlSequenceSetting("test")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   120
        fea.add_feature(model.ConfmlIntSetting('child1'))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   121
        fea.add_feature(model.ConfmlIntSetting('child2'))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   122
        fea.add_feature(model.ConfmlIntSetting('child3'))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   123
        context.configuration.add_feature(fea)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   124
        seq = context.configuration.get_default_view().get_feature('test')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   125
        seq.add_sequence(['1','2','3'])
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   126
        seq.add_sequence(['4','5','6'])
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   127
        seq.add_sequence(['7','8','9'])
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   128
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   129
        condition = rules.SimpleCondition("${test}", [[1,2,3], [4,5,6], [7,8,9]])
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   130
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   131
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   132
        condition = rules.SimpleCondition("${test}", [['11','22','33'], ['44','55','66'], ['77','88','99']])
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   133
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   134
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   135
    def test_boolean_setting(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   136
        context = plugin.GenerationContext()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   137
        context.configuration = api.Configuration()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   138
        context.configuration.add_feature(model.ConfmlBooleanSetting("test"))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   139
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   140
        context.configuration.get_default_view().test.value = True
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   141
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   142
        condition = rules.SimpleCondition("${test}", True)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   143
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   144
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   145
        condition = rules.SimpleCondition("${test}", "zoobar")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   146
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   147
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   148
        condition = rules.SimpleCondition("${test}", "1")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   149
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   150
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   151
        condition = rules.SimpleCondition("${test}", "true")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   152
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   153
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   154
        condition = rules.SimpleCondition("${test}", "0")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   155
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   156
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   157
        condition = rules.SimpleCondition("${test}", "")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   158
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   159
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   160
        condition = rules.SimpleCondition("${test}", None)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   161
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   162
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   163
    def test_string_setting(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   164
        context = plugin.GenerationContext()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   165
        context.configuration = api.Configuration()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   166
        context.configuration.add_feature(model.ConfmlStringSetting("test"))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   167
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   168
        context.configuration.get_default_view().test.value = "foobar"
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   169
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   170
        condition = rules.SimpleCondition("${test}", "foobar")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   171
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   172
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   173
        condition = rules.SimpleCondition("${test}", "zoobar")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   174
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   175
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   176
        condition = rules.SimpleCondition("${test}", "1")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   177
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   178
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   179
        condition = rules.SimpleCondition("${test}", "true")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   180
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   181
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   182
        condition = rules.SimpleCondition("${test}", "false")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   183
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   184
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   185
        condition = rules.SimpleCondition("${test}", "0")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   186
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   187
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   188
        condition = rules.SimpleCondition("${test}", "")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   189
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   190
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   191
        condition = rules.SimpleCondition("${test}", None)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   192
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   193
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   194
    def test_int_setting(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   195
        context = plugin.GenerationContext()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   196
        context.configuration = api.Configuration()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   197
        context.configuration.add_feature(model.ConfmlIntSetting("test"))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   198
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   199
        context.configuration.get_default_view().test.value = "1"
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   200
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   201
        condition = rules.SimpleCondition("${test}", "1")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   202
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   203
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   204
        condition = rules.SimpleCondition("${test}", 2)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   205
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   206
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   207
        condition = rules.SimpleCondition("${test}", True)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   208
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   209
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   210
        condition = rules.SimpleCondition("${test}", False)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   211
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   212
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   213
        condition = rules.SimpleCondition("${test}", 0)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   214
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   215
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   216
        condition = rules.SimpleCondition("${test}", "zoobar")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   217
        try:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   218
            self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   219
            self.fail("Exception expected.")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   220
        except Exception:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   221
            pass
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   222
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   223
        condition = rules.SimpleCondition("${test}", "")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   224
        try:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   225
            self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   226
            self.fail("Exception expected.")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   227
        except Exception:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   228
            pass
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   229
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   230
        condition = rules.SimpleCondition("${test}", None)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   231
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   232
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   233
        context.configuration.get_default_view().test.value = "-1"
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   234
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   235
        condition = rules.SimpleCondition("${test}", -1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   236
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   237
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   238
        condition = rules.SimpleCondition("${test}", 0)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   239
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   240
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   241
    def test_selection_setting_true(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   242
        context = plugin.GenerationContext()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   243
        context.configuration = api.Configuration()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   244
        context.configuration.add_feature(model.ConfmlSelectionSetting("test"))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   245
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   246
        context.configuration.get_default_view().test.value = "True"
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   247
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   248
        condition = rules.SimpleCondition("${test}", "True")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   249
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   250
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   251
        condition = rules.SimpleCondition("${test}", True)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   252
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   253
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   254
        condition = rules.SimpleCondition("${test}", "1")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   255
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   256
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   257
    def test_selection_setting_false(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   258
        context = plugin.GenerationContext()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   259
        context.configuration = api.Configuration()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   260
        context.configuration.add_feature(model.ConfmlSelectionSetting("test"))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   261
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   262
        context.configuration.get_default_view().test.value = "False"
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   263
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   264
        condition = rules.SimpleCondition("${test}", False)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   265
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   266
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   267
        condition = rules.SimpleCondition("${test}", "False")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   268
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   269
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   270
        condition = rules.SimpleCondition("${test}", "0")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   271
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   272
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   273
        condition = rules.SimpleCondition("False", "0")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   274
        self.assertFalse(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   275
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   276
    def test_selection_setting_int(self):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   277
        context = plugin.GenerationContext()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   278
        context.configuration = api.Configuration()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   279
        context.configuration.add_feature(model.ConfmlSelectionSetting("test"))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   280
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   281
        context.configuration.get_default_view().test.value = "2"
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   282
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   283
        condition = rules.SimpleCondition("${test}", "2")
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   284
        self.assertTrue(condition.eval(context))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   285
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   286
        condition = rules.SimpleCondition("${test}", 2)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   287
        self.assertTrue(condition.eval(context))
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   288
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   289
    def test_create_plugin_and_eval_integers(self):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   290
        context = TestContext(None)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   291
        condition = rules.SimpleCondition("1", "2")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   292
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   293
        condition = rules.SimpleCondition("112", "2")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   294
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   295
        condition = rules.SimpleCondition("2", "2")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   296
        self.assertTrue(condition.eval(context))
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   297
        condition = rules.SimpleCondition("2", 2)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   298
        self.assertTrue(condition.eval(context))
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   299
        condition = rules.SimpleCondition(2, 2)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   300
        self.assertTrue(condition.eval(context))
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   301
        condition = rules.SimpleCondition("-2", -2)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   302
        self.assertTrue(condition.eval(context))
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   303
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   304
    def test_create_plugin_and_eval_string(self):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   305
        context = TestContext(None)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   306
        condition = plugin.rules.SimpleCondition("test", "foo")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   307
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   308
        condition = rules.SimpleCondition("test", "")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   309
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   310
        condition = rules.SimpleCondition("test foo", "test foo")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   311
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   312
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   313
    def test_create_plugin_and_eval_data_reference(self):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   314
        context = TestContext({'test' : 1, 'foo' : 2, 'bar' : True})
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   315
        condition = rules.SimpleCondition("${test}", 1)
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   316
        condition.eval(context)
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   317
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   318
        condition = rules.SimpleCondition("${test}", False)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   319
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   320
        condition = rules.SimpleCondition("${test}", "${foo}")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   321
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   322
        condition = rules.SimpleCondition("${test}", "${bar}")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   323
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   324
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   325
    def test_create_plugin_and_eval_data_reference_on_generation_context(self):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   326
        context = plugin.GenerationContext()
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   327
        context.configuration = api.Configuration()
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   328
        context.configuration.add_feature(api.Feature("test"))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   329
        context.configuration.add_feature(api.Feature("stringsub"),"test")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   330
        context.configuration.add_feature(api.Feature("intsub"),"test")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   331
        condition = rules.SimpleCondition("${test}", None)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   332
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   333
        condition = rules.SimpleCondition("${test.stringsub}", "None")
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   334
        condition.eval(context)
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   335
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   336
        condition = rules.SimpleCondition("${test.intsub}", "None")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   337
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   338
        context.configuration.get_default_view().test.value = True
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   339
        context.configuration.get_default_view().test.stringsub.value = "stringval"
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   340
        context.configuration.get_default_view().test.intsub.value = 2
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   341
        condition = rules.SimpleCondition("${test}", "true")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   342
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   343
        condition = rules.SimpleCondition("${test}", "false")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   344
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   345
        condition = rules.SimpleCondition("${test.stringsub}", "tes")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   346
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   347
        condition = rules.SimpleCondition("${test.stringsub}", "stringval")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   348
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   349
        condition = rules.SimpleCondition("${test.intsub}", "1")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   350
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   351
        condition = rules.SimpleCondition("${test.intsub}", "2")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   352
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   353
        condition = rules.SimpleCondition("${test.intsub}", 2)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   354
        self.assertTrue(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   355
        condition = rules.SimpleCondition("${test.intsub}", 1)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   356
        self.assertFalse(condition.eval(context))
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   357
        try:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   358
            condition = rules.SimpleCondition("${boo}", "false")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   359
            self.fail("access of non existing elements succeds?")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   360
        except:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   361
            pass
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   362
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   363
if __name__ == '__main__':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   364
    unittest.main()