public void ParseFacetRangeResultsWithOther() { var xml = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.partialResponseWithRangeFacetAndOther.xml"); var p = new FacetsResponseParser <Product>(); var results = p.ParseFacetRanges(xml.Root); Assert.Equal(1, results.Count); var result = results.First(); Assert.Equal("timestamp", result.Key); Assert.Equal("+1DAY", result.Value.Gap); Assert.Equal("2017-08-29T00:00:00Z", result.Value.Start); Assert.Equal("2017-08-31T00:00:00Z", result.Value.End); var RangeResults = result.Value.RangeResults; Assert.Equal(2, RangeResults.Count); Assert.Equal(27, RangeResults[0].Value); Assert.Equal("2017-08-29T00:00:00Z", RangeResults[0].Key); Assert.Equal(124, RangeResults[1].Value); Assert.Equal("2017-08-30T00:00:00Z", RangeResults[1].Key); var other = result.Value.OtherResults; Assert.Equal(41739753, other[FacetRangeOther.Before]); Assert.Equal(47567, other[FacetRangeOther.After]); Assert.Equal(151, other[FacetRangeOther.Between]); }
public void ParseResultsWithFacetPivot() { var innerParser = new FacetsResponseParser <Product>(); var parser = new SolrQueryResultParser <Product>(new[] { innerParser }); var r = parser.Parse(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.responseWithFacetPivoting.xml")); Assert.IsNotNull(r.FacetPivots); Console.WriteLine(r.FacetPivots.Count); Assert.IsTrue(r.FacetPivots.ContainsKey("inStock,manu")); Assert.AreEqual(2, r.FacetPivots["inStock,manu"].Count); Assert.AreEqual("inStock", r.FacetPivots["inStock,manu"][0].Field); Assert.AreEqual(10, r.FacetPivots["inStock,manu"][0].ChildPivots.Count); }
public void ParseResultsWithFacetPivot() { var parser = new FacetsResponseParser <Product>(); var xml = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.responseWithFacetPivoting.xml"); var r = new SolrQueryResults <Product>(); parser.Parse(xml, r); Assert.NotNull(r.FacetPivots); //Console.WriteLine(r.FacetPivots.Count); Assert.True(r.FacetPivots.ContainsKey("inStock,manu")); Assert.Equal(2, r.FacetPivots["inStock,manu"].Count); Assert.Equal("inStock", r.FacetPivots["inStock,manu"][0].Field); Assert.Equal(10, r.FacetPivots["inStock,manu"][0].ChildPivots.Count); }
public void ParseFacetResults() { var parser = new FacetsResponseParser <TestDocumentWithArrays>(); var xml = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.responseWithFacet.xml"); var r = new SolrQueryResults <TestDocumentWithArrays>(); parser.Parse(xml, r); Assert.IsNotNull(r.FacetFields); Assert.IsTrue(r.FacetFields.ContainsKey("cat")); Assert.IsTrue(r.FacetFields.ContainsKey("inStock")); Assert.AreEqual(2, r.FacetFields["cat"].First(q => q.Key == "connector").Value); Assert.AreEqual(2, r.FacetFields["cat"].First(q => q.Key == "").Value); // facet.missing as empty string Assert.IsNotNull(r.FacetQueries); Assert.AreEqual(1, r.FacetQueries.Count); }
public void ParseFacetDateResults() { var xml = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.partialResponseWithDateFacet.xml"); var p = new FacetsResponseParser <Product>(); var results = p.ParseFacetDates(xml.Root); Assert.AreEqual(1, results.Count); foreach (var kv in results) { Console.WriteLine("date facets for field '{0}'", kv.Key); Console.WriteLine("gap: {0}", kv.Value.Gap); Console.WriteLine("end: {0}", kv.Value.End); foreach (var vv in kv.Value.DateResults) { Console.WriteLine("Facet count for '{0}': {1}", vv.Key, vv.Value); } } }
public void ParseFacetDateResults() { var xml = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.partialResponseWithDateFacet.xml"); var p = new FacetsResponseParser <Product>(); var results = p.ParseFacetDates(xml.Root); Assert.AreEqual(1, results.Count); var result = results.First(); Assert.AreEqual("timestamp", result.Key); Assert.AreEqual("+1DAY", result.Value.Gap); Assert.AreEqual(new DateTime(2009, 8, 10, 0, 33, 46, 578), result.Value.End); var dateResults = result.Value.DateResults; Assert.AreEqual(1, dateResults.Count); Assert.AreEqual(16, dateResults[0].Value); Assert.AreEqual(new DateTime(2009, 8, 9, 0, 33, 46, 578), dateResults[0].Key); }
public void ParseFacetDateResultsWithOther() { var xml = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.partialResponseWithDateFacetAndOther.xml"); var p = new FacetsResponseParser <Product>(); var results = p.ParseFacetDates(xml.Root); Assert.AreEqual(1, results.Count); var result = results.First(); Assert.AreEqual("timestamp", result.Key); Assert.AreEqual("+1DAY", result.Value.Gap); Assert.AreEqual(new DateTime(2009, 8, 10, 0, 46, 29), result.Value.End); Assert.AreEqual(new DateTime(2009, 8, 9, 22, 46, 29), result.Value.DateResults[0].Key); var other = result.Value.OtherResults; Assert.AreEqual(1, other[FacetDateOther.Before]); Assert.AreEqual(0, other[FacetDateOther.After]); Assert.AreEqual(0, other[FacetDateOther.Between]); }
public void ParseFacetRangeResults() { var xml = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.partialResponseWithRangeFacet.xml"); var p = new FacetsResponseParser <Product>(); var results = p.ParseFacetRanges(xml.Root); Assert.Equal(1, results.Count); var result = results.First(); Assert.Equal("timestamp", result.Key); Assert.Equal("+1DAY", result.Value.Gap); Assert.Equal("2017-08-29T00:00:00Z", result.Value.Start); Assert.Equal("2017-08-31T00:00:00Z", result.Value.End); var RangeResults = result.Value.RangeResults; Assert.Equal(2, RangeResults.Count); Assert.Equal(27, RangeResults[0].Value); Assert.Equal("2017-08-29T00:00:00Z", RangeResults[0].Key); Assert.Equal(124, RangeResults[1].Value); Assert.Equal("2017-08-30T00:00:00Z", RangeResults[1].Key); }
public void ParseFacetResults() { var parser = new FacetsResponseParser <TestDocumentWithArrays>(); var xml = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.responseWithFacet.xml"); var r = new SolrQueryResults <TestDocumentWithArrays>(); parser.Parse(xml, r); Assert.NotNull(r.FacetFields); //Console.WriteLine(r.FacetFields.Count); Assert.True(r.FacetFields.ContainsKey("cat")); Assert.True(r.FacetFields.ContainsKey("inStock")); Assert.Equal(2, r.FacetFields["cat"].First(q => q.Key == "connector").Value); Assert.Equal(2, r.FacetFields["cat"].First(q => q.Key == "").Value); // facet.missing as empty string //Facet Ranges Assert.NotNull(r.FacetRanges); Assert.Equal(2, r.FacetRanges.Count); Assert.Equal("date-timestamp", r.FacetRanges.First().Key); Assert.Equal("2017-07-30T00:00:00Z", r.FacetRanges.First().Value.Start); Assert.Equal("2017-08-30T00:00:00Z", r.FacetRanges.First().Value.End); Assert.Equal("+1DAY", r.FacetRanges.First().Value.Gap); Assert.Equal(41622120, r.FacetRanges.First().Value.OtherResults[FacetRangeOther.Before]); Assert.Equal(47336, r.FacetRanges.First().Value.OtherResults[FacetRangeOther.After]); Assert.Equal(75812, r.FacetRanges.First().Value.OtherResults[FacetRangeOther.Between]); Assert.Equal(31, r.FacetRanges.First().Value.RangeResults.Count); Assert.Equal("2017-07-30T00:00:00Z", r.FacetRanges.First().Value.RangeResults.First().Key); Assert.Equal(222, r.FacetRanges.First().Value.RangeResults.First().Value); Assert.Equal("2017-08-29T00:00:00Z", r.FacetRanges.First().Value.RangeResults.Last().Key); Assert.Equal(20, r.FacetRanges.First().Value.RangeResults.Last().Value); Assert.Equal("version", r.FacetRanges.Last().Key); Assert.Equal("1000", r.FacetRanges.Last().Value.Gap); Assert.Equal("1531035549990449850", r.FacetRanges.Last().Value.RangeResults.First().Key); Assert.Equal(20, r.FacetRanges.Last().Value.RangeResults.First().Value); Assert.Equal("1531035549990659850", r.FacetRanges.Last().Value.RangeResults.Last().Key); Assert.Equal(0, r.FacetRanges.Last().Value.RangeResults.Last().Value); //Facet Intervals Assert.NotNull(r.FacetIntervals); Assert.Equal(2, r.FacetIntervals.Count); Assert.Equal("letters", r.FacetIntervals.First().Key); Assert.Equal(3, r.FacetIntervals.First().Value.Count); Assert.Equal("[*,b]", r.FacetIntervals.First().Value.First().Key); Assert.Equal(5, r.FacetIntervals.First().Value.First().Value); Assert.Equal("bar", r.FacetIntervals.First().Value.Last().Key); Assert.Equal(4544341, r.FacetIntervals.First().Value.Last().Value); Assert.Equal("number", r.FacetIntervals.Last().Key); Assert.Equal(2, r.FacetIntervals.Last().Value.Count); Assert.Equal("[0,500]", r.FacetIntervals.Last().Value.First().Key); Assert.Equal(9, r.FacetIntervals.Last().Value.First().Value); Assert.Equal("[500,1000]", r.FacetIntervals.Last().Value.Last().Key); Assert.Equal(123, r.FacetIntervals.Last().Value.Last().Value); //Facet Queries Assert.NotNull(r.FacetQueries); //Console.WriteLine(r.FacetQueries.Count); Assert.Equal(1, r.FacetQueries.Count); }