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"); }
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&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); }
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); }