Exemple #1
0
        public void TestGenerate()
        {
            HistogramValue[]   values = { new HistogramValue("a", 10),
                                          new HistogramValue("b", 12) };
            AttributeHistogram original =
                new AttributeHistogram("xxx", GBaseAttributeType.Text, 1000, new List <HistogramValue>(values));

            StringWriter sWriter   = new StringWriter();
            XmlWriter    xmlWriter = new XmlTextWriter(sWriter);

            original.Save(xmlWriter);
            xmlWriter.Close();

            AttributeHistogram parsed = Parse(sWriter.ToString());

            Assert.AreEqual("xxx", parsed.Name, "name");
            Assert.AreEqual(1000, parsed.Count, "count");
            Assert.AreEqual(GBaseAttributeType.Text, parsed.Type, "type");

            List <HistogramValue> parsedValues = parsed.Values;

            Assert.AreEqual("a", parsedValues[0].Content, "values[0].Name");
            Assert.AreEqual(10, parsedValues[0].Count, "values[0].Count");
            Assert.AreEqual("b", parsedValues[1].Content, "values[1].Name");
            Assert.AreEqual(12, parsedValues[1].Count, "values[1].Count");
        }
Exemple #2
0
        private AttributeHistogram Parse(String xml)
        {
            XmlDocument doc = new XmlDocument();

            doc.Load(new StringReader(xml));

            return(AttributeHistogram.Parse(doc.DocumentElement));
        }
        public void ReadAttributesFeedFromXml()
        {
            string xml = "<?xml version='1.0' encoding='UTF-8'?>" +
                         "<feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:gm='http://base.google.com/ns-metadata/1.0'>" +
                         "  <id>http://www.google.com/base/feeds/attributes</id>" +
                         "  <updated>2006-08-24T14:26:45.558Z</updated>" +
                         "  <title type='text'>Attribute histogram for query: </title>" +
                         "  <link rel='alternate' type='text/html' href='http://www.google.com'/>" +
                         "  <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.google.com/base/feeds/attributes'/>" +
                         "  <link rel='self' type='application/atom+xml' href='http://www.google.com/base/feeds/attributes?max-results=1&amp;key=ABQIAAAA7VerLsOcLuBYXR7vZI2NjhTRERdeAiwZ9EeJWta3L_JZVS0bOBRIFbhTrQjhHE52fqjZvfabYYyn6A'/>" +
                         "  <generator version='1.0' uri='http://www.google.com'>GoogleBase</generator>" +
                         "  <openSearch:totalResults>1</openSearch:totalResults>" +
                         "  <openSearch:itemsPerPage>1</openSearch:itemsPerPage>" +
                         "  <entry>" +
                         "    <id>http://www.google.com/base/feeds/attributes/label%28text%29N</id>" +
                         "    <updated>2006-08-24T14:26:45.651Z</updated>" +
                         "    <title type='text'>label(text)</title>" +
                         "    <content type='text'>Attribute label of type text.</content>" +
                         "    <link rel='self' type='application/atom+xml' href='http://www.google.com/base/feeds/attributes/label%28text%29N'/>" +
                         "    <gm:attribute name='label' type='text' count='158778'>" +
                         "      <gm:value count='47544'>housing</gm:value>" +
                         "      <gm:value count='36954'>reviews</gm:value>" +
                         "    </gm:attribute>" +
                         "  </entry>" +
                         "</feed>";
            GBaseFeed  feed  = Parse(xml);
            GBaseEntry entry = feed.Entries[0] as GBaseEntry;

            Assert.IsNotNull(entry, "entry");

            AttributeHistogram hist = entry.AttributeHistogram;

            Assert.AreEqual("label", hist.Name, "name");
            Assert.AreEqual(GBaseAttributeType.Text, hist.Type, "type");
            Assert.AreEqual(158778, hist.Count, "count");

            List <HistogramValue> values = hist.Values;

            Assert.AreEqual(2, values.Count, "values.Length");
            Assert.AreEqual("housing", values[0].Content);
            Assert.AreEqual(47544, values[0].Count);
            Assert.AreEqual("reviews", values[1].Content);
            Assert.AreEqual(36954, values[1].Count);
        }
Exemple #4
0
        public void TestParse()
        {
            AttributeHistogram histogram =
                Parse("<attribute " +
                      " name='my attr'" +
                      " type='text'" +
                      " count='200'>" +
                      "  <value count='12'>hello</value>" +
                      "  <value count='100'>world</value>" +
                      "</attribute>");

            Assert.AreEqual("my attr", histogram.Name);
            Assert.AreEqual(GBaseAttributeType.Text, histogram.Type);
            Assert.AreEqual(200, histogram.Count);

            List <HistogramValue> values = histogram.Values;

            Assert.AreEqual(2, values.Count, "values.Length");
            Assert.AreEqual("hello", values[0].Content, "values[0]");
            Assert.AreEqual(12, values[0].Count, "values[0].Count");
            Assert.AreEqual("world", values[1].Content, "values[1]");
            Assert.AreEqual(100, values[1].Count, "values[1].Count");
        }
        public void testGetSetAttributeHistogram()
        {
            AttributeHistogram xHistogram = new AttributeHistogram("x",
                                                                   GBaseAttributeType.Int,
                                                                   2);
            AttributeHistogram yHistogram = new AttributeHistogram("x",
                                                                   GBaseAttributeType.Int,
                                                                   2);
            GBaseEntry entry = new GBaseEntry();

            Assert.IsNull(entry.AttributeHistogram);

            entry.AttributeHistogram = xHistogram;

            Assert.AreEqual(xHistogram, entry.AttributeHistogram);

            entry.AttributeHistogram = yHistogram;

            Assert.AreEqual(yHistogram, entry.AttributeHistogram);

            entry.AttributeHistogram = null;

            Assert.AreEqual(null, entry.AttributeHistogram);
        }