Merge pull request #27 from Azure/adding-not_contains

adding not_contains
This commit is contained in:
Yonatan Most 2019-10-31 12:43:01 +02:00 коммит произвёл GitHub
Родитель 4e9c2183b6 60e12d6c29
Коммит 250a4d9cf6
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 17 добавлений и 0 удалений

Просмотреть файл

@ -253,6 +253,9 @@ class StringExpression(BaseExpression):
def contains(self, other: StringType, case_sensitive: bool = False) -> BooleanExpression:
return BooleanExpression.binary_op(self, ' contains_cs ' if case_sensitive else ' contains ', other)
def not_contains(self, other: StringType, case_sensitive: bool = False) -> BooleanExpression:
return BooleanExpression.binary_op(self, ' !contains_cs ' if case_sensitive else ' !contains ', other)
def startswith(self, other: StringType, case_sensitive: bool = False) -> BooleanExpression:
return BooleanExpression.binary_op(self, ' startswith_cs ' if case_sensitive else ' startswith ', other)

Просмотреть файл

@ -11,6 +11,20 @@ class TestExpressions(TestBase):
' | where foo contains "bar"',
Query().where(col.foo.contains('bar')).render(),
)
self.assertEqual(
' | where foo contains_cs "bar"',
Query().where(col.foo.contains('bar', True)).render(),
)
def test_not_contains(self):
self.assertEqual(
' | where foo !contains "bar"',
Query().where(col.foo.not_contains('bar')).render(),
)
self.assertEqual(
' | where foo !contains_cs "bar"',
Query().where(col.foo.not_contains('bar', True)).render(),
)
def test_array_access(self):
self.assertEqual(