2 using System.Collections.Generic;
4 using System.Runtime.Serialization;
5 using System.ServiceModel;
6 using System.ServiceModel.Channels;
9 using System.Xml.Schema;
10 using NUnit.Framework;
12 namespace MonoTests.System.ServiceModel.Channels
15 public class AddressHeaderTest
18 public void WriteAddressHeaderTest ()
20 AddressHeader h = AddressHeader.CreateAddressHeader (1);
22 StringWriter sw = new StringWriter ();
23 XmlWriterSettings s = new XmlWriterSettings ();
24 s.OmitXmlDeclaration = true;
25 XmlWriter w = XmlWriter.Create (sw, s);
26 h.WriteAddressHeader (w);
31 @"<int xmlns=""http://schemas.microsoft.com/2003/10/Serialization/"">1</int>",
36 public void CreateAddressHeader ()
38 AddressHeader h = AddressHeader.CreateAddressHeader ("foo", "urn:foo", null);
42 [Category ("NotDotNet")]
43 // It should work, but MS implementation expects body to be
45 public void EqualsTest ()
47 AddressHeader h = AddressHeader.CreateAddressHeader (
48 "foo", "urn:foo", null);
49 AddressHeader h2 = AddressHeader.CreateAddressHeader (
50 "foo", "urn:foo", null);
51 Assert.IsFalse (h.Equals (null), "#1"); // never throw nullref
52 Assert.IsTrue (h.Equals (h2), "#2");
56 public void GetAddressHeaderReader ()
58 var h = AddressHeader.CreateAddressHeader ("foo", String.Empty, null);
59 var r = h.GetAddressHeaderReader ();
61 Assert.AreEqual ("foo", r.LocalName, "#1");
62 Assert.AreEqual ("true", r.GetAttribute ("nil", XmlSchema.InstanceNamespace), "#2");
66 public void WriteAddressHeader ()
68 var h = AddressHeader.CreateAddressHeader ("foo", "urn:foo", null);
69 var sw = new StringWriter ();
70 var xw = XmlDictionaryWriter.CreateDictionaryWriter (XmlWriter.Create (sw));
71 h.WriteAddressHeader (xw);
73 Assert.AreEqual ("<?xml version=\"1.0\" encoding=\"utf-16\"?><foo i:nil=\"true\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"urn:foo\" />", sw.ToString (), "#1");