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")
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")
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)
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")
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")
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")
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")
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")
def test_parse_none(self): filter_string = parse_filter_string(None) self.assertIsInstance(filter_string, FilterString) self.assertEqual(str(filter_string), '')
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')
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")
def parse_value(value): return parse_filter_string(value)
def parse_literal(node): if isinstance(node, ast.StringValue): return parse_filter_string(node.value)