コード例 #1
0
        public void ThenItShouldCombineMultipleConditions(CosmosCombinationOperator @operator, string expectedStringOperator)
        {
            var query = new CosmosQuery(@operator)
                        .AddCondition("Name", DataOperator.Equals, "some-thing")
                        .AddCondition("Status", DataOperator.Equals, "Open");

            Assert.AreEqual($"{CosmosQueryTestConstants.QueryPrefix} WHERE ARRAY_CONTAINS(re.searchableName, 'some-thing') {expectedStringOperator} ARRAY_CONTAINS(re.searchableStatus, 'open')",
                            CosmosQueryTestConstants.QueryWithoutOrderByOrSkip(query));
        }
コード例 #2
0
        public void ThenItShouldCombineMultipleGroups(CosmosCombinationOperator @operator, string expectedStringOperator)
        {
            var group1 = new CosmosQuery(CosmosCombinationOperator.Or)
                         .AddCondition("Name", DataOperator.Equals, "some-thing")
                         .AddCondition("Status", DataOperator.Equals, "Open");
            var group2 = new CosmosQuery(CosmosCombinationOperator.And)
                         .AddCondition("Name", DataOperator.Equals, "another-thing")
                         .AddCondition("Status", DataOperator.Equals, "Closed");

            var query = new CosmosQuery(@operator)
                        .AddGroup(group1)
                        .AddGroup(group2);

            Assert.AreEqual($"{CosmosQueryTestConstants.QueryPrefix} WHERE ({CosmosQueryTestConstants.QueryWhereClause(group1)}) {expectedStringOperator} ({CosmosQueryTestConstants.QueryWhereClause(group2)})",
                            CosmosQueryTestConstants.QueryWithoutOrderByOrSkip(query));
        }
コード例 #3
0
 internal CosmosQuery(CosmosCombinationOperator combinationOperator)
 {
     _combinationOperator = combinationOperator;
     _whereClause         = new StringBuilder();
 }