示例#1
0
    def test_remove_first(self):
        filter_string1 = parse_filter_string('first=1 foo=bar')
        filter_string2 = filter_string1.remove_first()

        self.assertIsInstance(filter_string1, FilterString)
        self.assertIsInstance(filter_string2, FilterString)
        self.assertIsNot(filter_string1, filter_string2)

        self.assertEqual(str(filter_string2), "foo=bar")
    def test_add_rows_several_times(self):
        # currently add_rows is very stupid and will add the rows keyword
        # several times. a more elaborated version of the method should be
        # called set_rows
        filter_string = parse_filter_string('rows=1 foo=bar')
        filter_string = filter_string.add_rows(123)
        filter_string = filter_string.add_rows(321)

        self.assertEqual(str(filter_string), "rows=1 foo=bar rows=123 rows=321")
示例#3
0
    def test_add_first_several_times(self):
        # currently add_first is very stupid and will add the first keyword
        # several times. a more elaborated version of the method should be
        # called set_first
        filter_string = parse_filter_string('first=1 foo=bar')
        filter_string = filter_string.add_first(123)
        filter_string = filter_string.add_first(321)

        self.assertEqual(str(filter_string),
                         "first=1 foo=bar first=123 first=321")
示例#4
0
    def test_add_rows_should_return_new_instance(self):
        filter_string1 = parse_filter_string('foo=bar')
        filter_string2 = filter_string1.add_rows(123)

        self.assertIsNot(filter_string1, filter_string2)
示例#5
0
    def test_add_rows(self):
        filter_string = parse_filter_string('foo=bar')
        filter_string = filter_string.add_rows(123)

        self.assertEqual(str(filter_string), "foo=bar rows=123")
示例#6
0
    def test_remove_rows_ignores_similar_terms(self):
        filter_string = parse_filter_string('irows=1 foo=bar')
        filter_string = filter_string.remove_rows()

        self.assertEqual(str(filter_string), "irows=1 foo=bar")
示例#7
0
    def test_remove_rows_removes_non_integer(self):
        filter_string = parse_filter_string('rows=abcÜ$ foo=bar')
        filter_string = filter_string.remove_rows()

        self.assertEqual(str(filter_string), "foo=bar")
示例#8
0
    def test_remove_rows_removes_whitespace(self):
        filter_string = parse_filter_string('  rows=1     foo=bar')
        filter_string = filter_string.remove_rows()

        self.assertEqual(str(filter_string), "foo=bar")
示例#9
0
    def test_remove_rows_should_leave_whitespace(self):
        filter_string = parse_filter_string("foo=bar rows=1 sort=last")
        filter_string = filter_string.remove_rows()

        self.assertEqual(str(filter_string), "foo=bar sort=last")
示例#10
0
    def test_parse_none(self):
        filter_string = parse_filter_string(None)

        self.assertIsInstance(filter_string, FilterString)
        self.assertEqual(str(filter_string), '')
示例#11
0
    def test_parse_filter_string(self):
        filter_string = parse_filter_string('foo=bar')

        self.assertIsInstance(filter_string, FilterString)
        self.assertEqual(str(filter_string), 'foo=bar')
示例#12
0
    def test_add_first(self):
        filter_string = parse_filter_string('foo=bar')
        filter_string = filter_string.add_first(123)

        self.assertEqual(str(filter_string), "foo=bar first=123")
示例#13
0
 def parse_value(value):
     return parse_filter_string(value)
示例#14
0
 def parse_literal(node):
     if isinstance(node, ast.StringValue):
         return parse_filter_string(node.value)