示例#1
0
 def test_expression_with_allowed_values(self):
     expression = create_filter("${decision} == 'SATISFIABLE' or 'UNSATISFIABLE' == ${decision}")
     self.assertMatches(self._data_1, expression)
     self.assertMatches(self._data_2, expression)
     self.assertMatches(self._data_3, expression)
     self.assertDoesNotMatch(self._data_4, expression)
     self.assertDoesNotMatch(self._data_5, expression)
示例#2
0
 def test_expression_with_forbidden_value_and_notin(self):
     expression = create_filter("2 notin ${values}")
     self.assertDoesNotMatch(self._data_1, expression)
     self.assertMatches(self._data_2, expression)
     self.assertDoesNotMatch(self._data_3, expression)
     self.assertMatches(self._data_4, expression)
     self.assertMatches(self._data_5, expression)
示例#3
0
 def test_expression_with_two_variables(self):
     expression = create_filter("${memory} < ${cpu_time}")
     self.assertDoesNotMatch(self._data_1, expression)
     self.assertDoesNotMatch(self._data_2, expression)
     self.assertDoesNotMatch(self._data_3, expression)
     self.assertMatches(self._data_4, expression)
     self.assertDoesNotMatch(self._data_5, expression)
示例#4
0
 def test_expression_with_mandatory_value(self):
     expression = create_filter("1 in ${values}")
     self.assertMatches(self._data_1, expression)
     self.assertMatches(self._data_2, expression)
     self.assertDoesNotMatch(self._data_3, expression)
     self.assertDoesNotMatch(self._data_4, expression)
     self.assertMatches(self._data_5, expression)
示例#5
0
 def test_expression_with_forbidden_value_and_neq(self):
     expression = create_filter("'UNKNOWN' != ${decision}")
     self.assertMatches(self._data_1, expression)
     self.assertMatches(self._data_2, expression)
     self.assertMatches(self._data_3, expression)
     self.assertDoesNotMatch(self._data_4, expression)
     self.assertDoesNotMatch(self._data_5, expression)
示例#6
0
 def test_expression_with_minimum_value(self):
     expression = create_filter("200 > ${memory}")
     self.assertMatches(self._data_1, expression)
     self.assertMatches(self._data_2, expression)
     self.assertMatches(self._data_3, expression)
     self.assertMatches(self._data_4, expression)
     self.assertDoesNotMatch(self._data_5, expression)
示例#7
0
 def test_expression_with_maximum_value(self):
     expression = create_filter("${cpu_time} <= 1000.0")
     self.assertMatches(self._data_1, expression)
     self.assertMatches(self._data_2, expression)
     self.assertMatches(self._data_3, expression)
     self.assertDoesNotMatch(self._data_4, expression)
     self.assertMatches(self._data_5, expression)
示例#8
0
 def test_conjunction(self):
     expression = create_filter([
         "${success}",
         "${decision} in ['SATISFIABLE', 'UNSATISFIABLE']"
     ])
     self.assertMatches(self._data_1, expression)
     self.assertMatches(self._data_2, expression)
     self.assertMatches(self._data_3, expression)
     self.assertDoesNotMatch(self._data_4, expression)
     self.assertDoesNotMatch(self._data_5, expression)
示例#9
0
 def test_conjunction3(self):
     expression = create_filter([
         "${success}",
         "${cpu_time} <= 1000.0",
         "${decision} == 'SATISFIABLE' or 'UNSATISFIABLE' == ${decision}"
     ])
     self.assertMatches(self._data_1, expression)
     self.assertMatches(self._data_2, expression)
     self.assertMatches(self._data_3, expression)
     self.assertDoesNotMatch(self._data_4, expression)
     self.assertDoesNotMatch(self._data_5, expression)
示例#10
0
    def test_expression_of_boolean_variable(self):
        expression = create_filter("${success}")
        self.assertMatches(self._data_1, expression)
        self.assertMatches(self._data_2, expression)
        self.assertMatches(self._data_3, expression)
        self.assertMatches(self._data_4, expression)
        self.assertDoesNotMatch(self._data_5, expression)

        expression = create_filter("${success} == true")
        self.assertMatches(self._data_1, expression)
        self.assertMatches(self._data_2, expression)
        self.assertMatches(self._data_3, expression)
        self.assertMatches(self._data_4, expression)
        self.assertDoesNotMatch(self._data_5, expression)

        expression = create_filter("${success} != false")
        self.assertMatches(self._data_1, expression)
        self.assertMatches(self._data_2, expression)
        self.assertMatches(self._data_3, expression)
        self.assertMatches(self._data_4, expression)
        self.assertDoesNotMatch(self._data_5, expression)
示例#11
0
 def test_incorrect_variable_format(self):
     self.assertRaises(ValueError, lambda: create_filter("{success}"))
     self.assertRaises(ValueError, lambda: create_filter("$cpu_time <= 1000.0"))
     self.assertRaises(ValueError, lambda: create_filter("'${cpu_time' <= 1000.0"))
     self.assertRaises(ValueError, lambda: create_filter("200 <= 1000.0"))
示例#12
0
 def test_no_variable(self):
     self.assertRaises(ValueError, lambda: create_filter("success"))
     self.assertRaises(ValueError, lambda: create_filter("cpu_time <= 1000.0"))
     self.assertRaises(ValueError, lambda: create_filter("'cpu_time' <= 1000.0"))
     self.assertRaises(ValueError, lambda: create_filter("200 <= 1000.0"))