public void ThenItShouldAppendIsNotNullConditionsToQuery(string field) { var query = new CosmosQuery(CosmosCombinationOperator.And); query.AddCondition(field, DataOperator.IsNotNull, null); Assert.AreEqual($"{CosmosQueryTestConstants.QueryPrefix} WHERE ARRAY_LENGTH(re.{field}) > 0", CosmosQueryTestConstants.QueryWithoutOrderByOrSkip(query)); }
public void ThenItShouldAppendLessThanOrEqualToConditionsToQuery(string field, string value) { var query = new CosmosQuery(CosmosCombinationOperator.And); query.AddCondition(field, DataOperator.LessThanOrEqualTo, value); Assert.AreEqual($"{CosmosQueryTestConstants.QueryPrefix} WHERE EXISTS (SELECT VALUE v FROM v IN re.{field} WHERE v <= '{value}T00:00:00')", CosmosQueryTestConstants.QueryWithoutOrderByOrSkip(query)); }
public void ThenItShouldAppendEqualsConditionsToQuery(string field, string value) { var query = new CosmosQuery(CosmosCombinationOperator.And); query.AddCondition(field, DataOperator.Equals, value); Assert.AreEqual($"{CosmosQueryTestConstants.QueryPrefix} WHERE ARRAY_CONTAINS(re.{field}, '{value}T00:00:00')", CosmosQueryTestConstants.QueryWithoutOrderByOrSkip(query)); }
public void ThenItShouldAppendBetweenConditionsToQuery(string field, string lowerBound, string upperBound) { var query = new CosmosQuery(CosmosCombinationOperator.And); query.AddCondition(field, DataOperator.Between, $"{lowerBound} to {upperBound}"); Assert.AreEqual($"{CosmosQueryTestConstants.QueryPrefix} WHERE EXISTS (SELECT VALUE v FROM v IN re.{field} WHERE v >= '{lowerBound}T00:00:00' AND v <= '{upperBound}T00:00:00')", CosmosQueryTestConstants.QueryWithoutOrderByOrSkip(query)); }
public void ThenItShouldAppendContainsConditionsToQuery(string field, string value) { var query = new CosmosQuery(CosmosCombinationOperator.And); query.AddCondition(field, DataOperator.Contains, value); Assert.AreEqual($"{CosmosQueryTestConstants.QueryPrefix} WHERE EXISTS (SELECT VALUE v FROM v IN re.{field} WHERE CONTAINS(v, '{value}'))", CosmosQueryTestConstants.QueryWithoutOrderByOrSkip(query)); }
public void ThenItShouldAppendInConditionsToQuery(string field, params string[] values) { var query = new CosmosQuery(CosmosCombinationOperator.And); query.AddCondition(field, DataOperator.In, values.Select(v => v.ToString()).Aggregate((x, y) => $"{x}, {y}")); var expectedGroupConditions = new StringBuilder(); foreach (var value in values) { if (expectedGroupConditions.Length > 0) { expectedGroupConditions.Append(" OR "); } expectedGroupConditions.Append($"ARRAY_CONTAINS(re.{field}, '{value}')"); } Assert.AreEqual($"{CosmosQueryTestConstants.QueryPrefix} WHERE ({expectedGroupConditions})", CosmosQueryTestConstants.QueryWithoutOrderByOrSkip(query)); }