Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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");
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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));
        }
Esempio n. 9
0
                //[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("");
                    }
                }
Esempio n. 10
0
                //[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("");
                    }
                }
Esempio n. 11
0
                //[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("");
                    }
                }
Esempio n. 12
0
                //[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("");
                    }
                }
Esempio n. 13
0
                //[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("");
                    }
                }
Esempio n. 14
0
                //[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("");
                    }
                }
Esempio n. 15
0
 //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("");
 }
Esempio n. 16
0
        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));
        }
Esempio n. 17
0
                //[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");
                }