public void Query_Apply_Random_Facet_Then_Re_Query() { var lookQuery = new LookQuery(TestHelper.GetSearchingContext()); lookQuery.TagQuery = new TagQuery(); lookQuery.TagQuery.HasAll = new LookTag[] { _red }; lookQuery.TagQuery.FacetOn = new TagFacetQuery(_colour); // first query var lookResult = lookQuery.Search(); Assert.IsNotNull(lookResult); Assert.IsTrue(lookResult.Success); Assert.IsTrue(lookResult.TotalItemCount == 7); Assert.IsTrue(lookResult.Facets.Length == 7); // pick a random facet var random = new Random(); var facet = lookResult .Facets .OrderBy(x => random.Next()) .First(); // get the expected count var facetCount = facet.Count; // apply facet to query lookQuery.ApplyFacet(facet); // second query lookResult = lookQuery.Search(); Assert.IsNotNull(lookResult); Assert.IsTrue(lookResult.Success); Assert.AreEqual(facetCount, lookResult.TotalItemCount); }