public void AddAttributeAfterContent() { XElement contact = new XElement("phone", new XAttribute("type", "home"), "925-555-0134"); XStreamingElement streamElement = new XStreamingElement("phone", "925-555-0134"); streamElement.Add(contact.Attribute("type")); using (XmlWriter w = XmlWriter.Create(new MemoryStream(), null)) { Assert.Throws <InvalidOperationException>(() => streamElement.WriteTo(w)); } }
public void AddTimeSpanObject() { XElement contact = new XElement("Time", TimeSpan.FromMinutes(12)); XStreamingElement streamElement = new XStreamingElement("Time"); streamElement.Add(TimeSpan.FromMinutes(12)); GetFreshStream(); streamElement.Save(_sourceStream); contact.Save(_targetStream); ResetStreamPos(); Assert.True(Diff.Compare(_sourceStream, _targetStream)); }
public void AddIEnumerableOfMixedNodes() { XElement element = new XElement("root", GetMixedNodes()); XStreamingElement streamElement = new XStreamingElement("root"); streamElement.Add(GetMixedNodes()); GetFreshStream(); streamElement.Save(_sourceStream); element.Save(_targetStream); ResetStreamPos(); Assert.True(Diff.Compare(_sourceStream, _targetStream)); }
public void AddObject(object content) { XElement contact = new XElement("phone", content); XStreamingElement streamElement = new XStreamingElement("phone"); streamElement.Add(content); GetFreshStream(); streamElement.Save(_sourceStream); contact.Save(_targetStream); ResetStreamPos(); Assert.True(Diff.Compare(_sourceStream, _targetStream)); }
public void WriteXStreamingElementChildren() { var xml = "<?xml version='1.0' encoding='utf-8'?><root type='array'><item type='number'>0</item><item type='number'>2</item><item type='number'>5</item></root>".Replace('\'', '"'); var ms = new MemoryStream(); var xw = XmlWriter.Create(ms); int [] arr = new int [] { 0, 2, 5 }; var xe = new XStreamingElement(XName.Get("root")); xe.Add(new XAttribute(XName.Get("type"), "array")); var at = new XAttribute(XName.Get("type"), "number"); foreach (var i in arr) { xe.Add(new XStreamingElement(XName.Get("item"), at, i)); } xe.WriteTo(xw); xw.Close(); Assert.AreEqual(xml, new StreamReader(new MemoryStream(ms.ToArray())).ReadToEnd(), "#1"); }
public void AddIEnumerableOfXNodesPlusString() { InputSpace.Contacts(ref _xDoc, ref _xmlDoc); XElement element = new XElement("contacts", _xDoc.Root.DescendantNodes(), "This String"); XStreamingElement streamElement = new XStreamingElement("contacts"); streamElement.Add(_xDoc.Root.DescendantNodes(), "This String"); GetFreshStream(); streamElement.Save(_sourceStream); element.Save(_targetStream); ResetStreamPos(); Assert.True(Diff.Compare(_sourceStream, _targetStream)); }
public void AddIEnumerableOfXNodes() { XElement x = InputSpace.GetElement(100, 3); XElement element = new XElement("root", x.Nodes()); XStreamingElement streamElement = new XStreamingElement("root"); streamElement.Add(x.Nodes()); GetFreshStream(); streamElement.Save(_sourceStream); element.Save(_targetStream); ResetStreamPos(); Assert.True(Diff.Compare(_sourceStream, _targetStream)); }
public void NestedXStreamingElementPlusIEnumerable() { InputSpace.Contacts(ref _xDoc, ref _xmlDoc); XElement element = new XElement("contacts", new XElement("Element", "Value"), _xDoc.Root.DescendantNodes()); XStreamingElement streamElement = new XStreamingElement("contacts"); streamElement.Add(new XStreamingElement("Element", "Value"), _xDoc.Root.DescendantNodes()); GetFreshStream(); streamElement.Save(_sourceStream); element.Save(_targetStream); ResetStreamPos(); Assert.True(Diff.Compare(_sourceStream, _targetStream)); }
//[Variation(Priority = 0, Desc = "Add(String)", Params = new object[] { "9255550134" })] //[Variation(Priority = 0, Desc = "Add(Double)", Params = new object[] { (Double)9255550134 })] //[Variation(Priority = 0, Desc = "Add(Int)", Params = new object[] { (Int64)9255550134 })] public void AddObject() { XElement contact = new XElement("phone", Variation.Params[0]); XStreamingElement streamElement = new XStreamingElement("phone"); streamElement.Add(Variation.Params[0]); getFreshStream(); streamElement.Save(_sourceStream); contact.Save(_targetStream); resetStreamPos(); if (!_diff.Compare(_sourceStream, _targetStream)) { throw new TestFailedException(""); } }
//[Variation(Priority = 1, Desc = "Add(IEnumerable of Mixed Nodes)")] public void AddIEnumerableOfMixedNodes() { XElement element = new XElement("root", GetMixedNodes()); XStreamingElement streamElement = new XStreamingElement("root"); streamElement.Add(GetMixedNodes()); getFreshStream(); streamElement.Save(_sourceStream); element.Save(_targetStream); resetStreamPos(); if (!_diff.Compare(_sourceStream, _targetStream)) { throw new TestFailedException(""); } }
//[Variation(Priority = 1, Desc = "Add(TimeSpan)")] public void AddTimeSpanObject() { XElement contact = new XElement("Time", TimeSpan.FromMinutes(12)); XStreamingElement streamElement = new XStreamingElement("Time"); streamElement.Add(TimeSpan.FromMinutes(12)); getFreshStream(); streamElement.Save(_sourceStream); contact.Save(_targetStream); resetStreamPos(); if (!_diff.Compare(_sourceStream, _targetStream)) { throw new TestFailedException(""); } }
//[Variation(Priority = 0, Desc = "Nested XStreamingElements + IEnumberable")] public void NestedXStreamingElementPlusIEnumerable() { InputSpace.Contacts(ref _xDoc, ref _xmlDoc); XElement element = new XElement("contacts", new XElement("Element", "Value"), _xDoc.Root.DescendantNodes()); XStreamingElement streamElement = new XStreamingElement("contacts"); streamElement.Add(new XStreamingElement("Element", "Value"), _xDoc.Root.DescendantNodes()); getFreshStream(); streamElement.Save(_sourceStream); element.Save(_targetStream); resetStreamPos(); if (!_diff.Compare(_sourceStream, _targetStream)) { throw new TestFailedException(""); } }
//[Variation(Priority = 0, Desc = "Add(IEnumerable of XNodes + string)")] public void AddIEnumerableOfXNodesPlusString() { InputSpace.Contacts(ref _xDoc, ref _xmlDoc); XElement element = new XElement("contacts", _xDoc.Root.DescendantNodes(), "This String"); XStreamingElement streamElement = new XStreamingElement("contacts"); streamElement.Add(_xDoc.Root.DescendantNodes(), "This String"); getFreshStream(); streamElement.Save(_sourceStream); element.Save(_targetStream); resetStreamPos(); if (!_diff.Compare(_sourceStream, _targetStream)) { throw new TestFailedException(""); } }
//[Variation(Priority = 0, Desc = "Add(IEnumerable of XNodes)")] public void AddIEnumerableOfXNodes() { XElement x = InputSpace.GetElement(100, 3); XElement element = new XElement("root", x.Nodes()); XStreamingElement streamElement = new XStreamingElement("root"); streamElement.Add(x.Nodes()); getFreshStream(); streamElement.Save(_sourceStream); element.Save(_targetStream); resetStreamPos(); if (!_diff.Compare(_sourceStream, _targetStream)) { throw new TestFailedException(""); } }
//An attribute cannot be written after content. //[Variation(Priority = 1, Desc = "Add(XAttribute) After Content is Added)")] public void AddAttributeAfterContent() { try { XElement contact = new XElement("phone", new XAttribute("type", "home"), "925-555-0134"); XStreamingElement streamElement = new XStreamingElement("phone", "925-555-0134"); streamElement.Add(contact.Attribute("type")); using (XmlWriter w = XmlWriter.Create(new MemoryStream(), null)) { streamElement.WriteTo(w); } } catch (System.InvalidOperationException) { return; } throw new TestFailedException(""); }
public void CreatingXElementsFromNewDev10Types(object t, Type type) { XElement e = new XElement("e1", new XElement("e2"), "text1", new XElement("e3"), t); e.Add(t); e.FirstNode.ReplaceWith(t); XNode n = e.FirstNode.NextNode; n.AddBeforeSelf(t); n.AddAnnotation(t); n.ReplaceWith(t); e.FirstNode.AddAfterSelf(t); e.AddFirst(t); e.Annotation(type); e.Annotations(type); e.RemoveAnnotations(type); e.ReplaceAll(t); e.ReplaceAttributes(t); e.ReplaceNodes(t); e.SetAttributeValue("a", t); e.SetElementValue("e2", t); e.SetValue(t); XAttribute a = new XAttribute("a", t); XStreamingElement se = new XStreamingElement("se", t); se.Add(t); Assert.Throws<ArgumentException>(() => new XDocument(t)); Assert.Throws<ArgumentException>(() => new XDocument(t)); }
//[Variation(Desc = "Tuple - New Dev10 Types", Param = 1)] //[Variation(Desc = "DynamicObject - New Dev10 Types", Param = 2)] //[Variation(Desc = "Guid - old type", Param = 3)] //[Variation(Desc = "Dictionary - old type", Param = 4)] public void CreatingXElementsFromNewDev10Types() { object t = null; Type type = typeof(object); int param = (int)this.Variation.Param; switch (param) { case 1: t = Tuple.Create(1, "Melitta", 7.5); type = typeof(Tuple); break; case 3: t = new Guid(); type = typeof(Guid); break; case 4: t = new Dictionary <int, string>(); ((Dictionary <int, string>)t).Add(7, "a"); type = typeof(Dictionary <int, string>); break; } XElement e = new XElement("e1", new XElement("e2"), "text1", new XElement("e3"), t); e.Add(t); e.FirstNode.ReplaceWith(t); XNode n = e.FirstNode.NextNode; n.AddBeforeSelf(t); n.AddAnnotation(t); n.ReplaceWith(t); e.FirstNode.AddAfterSelf(t); e.AddFirst(t); e.Annotation(type); e.Annotations(type); e.RemoveAnnotations(type); e.ReplaceAll(t); e.ReplaceAttributes(t); e.ReplaceNodes(t); e.SetAttributeValue("a", t); e.SetElementValue("e2", t); e.SetValue(t); XAttribute a = new XAttribute("a", t); XStreamingElement se = new XStreamingElement("se", t); se.Add(t); try { new XDocument(t); } catch (ArgumentException) { try { new XDocument(t); } catch (ArgumentException) { return; } } TestLog.Compare(false, "Failed"); }