コード例 #1
0
        public void OrQueryRun()
        {
            var postings1 = new long[] { 1, 2, 3, 4 };
            var postings2 = new long[] { 3, 4, 5, 6 };
            var runner    = new Mock <IQueryRunner>(MockBehavior.Strict);
            var query1    = new Mock <IQuery>();

            query1.Setup(x => x.Run(runner.Object)).Returns(postings1);
            var query2 = new Mock <IQuery>();

            query2.Setup(x => x.Run(runner.Object)).Returns(postings2);

            var orQuery = new OrQuery();

            orQuery.Subqueries.Add(query1.Object);
            orQuery.Subqueries.Add(query2.Object);

            CollectionAssert.AreEquivalent(new[] { 1, 2, 3, 4, 5, 6 }, orQuery.Run(runner.Object));
        }