예제 #1
0
    def test_both_present(self):
        info = {'condition': 'foo'}
        gclient_eval.UpdateCondition(info, 'and', 'bar')
        self.assertEqual(info, {'condition': '(foo) and (bar)'})

        info = {'condition': 'foo'}
        gclient_eval.UpdateCondition(info, 'or', 'bar')
        self.assertEqual(info, {'condition': '(foo) or (bar)'})
예제 #2
0
    def test_one_present_and(self):
        # If one of info's condition or new_condition is present, and |op| == 'and'
        # then the the result must be the present condition.
        info = {'condition': 'foo'}
        gclient_eval.UpdateCondition(info, 'and', None)
        self.assertEqual(info, {'condition': 'foo'})

        info = {}
        gclient_eval.UpdateCondition(info, 'and', 'bar')
        self.assertEqual(info, {'condition': 'bar'})
예제 #3
0
    def test_or(self):
        # If one of info's condition and new_condition is not present, then there
        # shouldn't be a condition. An absent value is treated as implicitly True.
        info = {'condition': 'foo'}
        gclient_eval.UpdateCondition(info, 'or', None)
        self.assertEqual(info, {})

        info = {}
        gclient_eval.UpdateCondition(info, 'or', 'bar')
        self.assertEqual(info, {})

        info = {}
        gclient_eval.UpdateCondition(info, 'or', None)
        self.assertEqual(info, {})
예제 #4
0
 def test_both_absent_and(self):
     # Nothing happens
     info = {}
     gclient_eval.UpdateCondition(info, 'and', None)
     self.assertEqual(info, {})