Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
                }
            }
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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]);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }