public static void AssertPolicy(
            PolicyAssertionCollection assertions, QName qname, TestLabel label)
        {
            var assertion = assertions.Find(qname.Name, qname.Namespace);

            label.EnterScope(qname.Name);
            Assert.That(assertion, Is.Not.Null, label.ToString());
            assertions.Remove(assertion);
            label.LeaveScope();
        }
        public static PolicyAssertionCollection AssertPolicy(
            WS.ServiceDescription sd, XmlElement element, TestLabel label)
        {
            label.EnterScope("wsp:Policy");
            Assert.That(element.NamespaceURI, Is.EqualTo(WspNamespace), label.Get());
            Assert.That(element.LocalName, Is.EqualTo("Policy") | Is.EqualTo("PolicyReference"), label.Get());

            var policy = ResolvePolicy(sd, element);

            Assert.That(policy, Is.Not.Null, label.Get());

            label.EnterScope("wsp:ExactlyOne");
            var exactlyOne = AssertExactlyOneChildElement(policy);

            Assert.That(exactlyOne, Is.Not.Null, label.Get());
            Assert.That(exactlyOne.NamespaceURI, Is.EqualTo(WspNamespace), label.Get());
            Assert.That(exactlyOne.LocalName, Is.EqualTo("ExactlyOne"), label.Get());
            label.LeaveScope();

            label.EnterScope("wsp:Any");
            var all = AssertExactlyOneChildElement(exactlyOne);

            Assert.That(all, Is.Not.Null, label.Get());
            Assert.That(all.NamespaceURI, Is.EqualTo(WspNamespace), label.Get());
            Assert.That(all.LocalName, Is.EqualTo("All"), label.Get());
            label.LeaveScope();

            var collection = new PolicyAssertionCollection();

            label.EnterScope("assertions");
            foreach (var node in all.ChildNodes)
            {
                if (node is XmlWhitespace)
                {
                    continue;
                }
                Assert.That(node, Is.InstanceOfType(typeof(XmlElement)), label.ToString());
                collection.Add((XmlElement)node);
            }
            label.LeaveScope();

            label.LeaveScope();

            return(collection);
        }
示例#3
0
		public static PolicyAssertionCollection AssertPolicy (
			WS.ServiceDescription sd, XmlElement element, TestLabel label)
		{
			label.EnterScope ("wsp:Policy");
			Assert.That (element.NamespaceURI, Is.EqualTo (WspNamespace), label.Get ());
			Assert.That (element.LocalName, Is.EqualTo ("Policy") | Is.EqualTo ("PolicyReference"), label.Get ());

			var policy = ResolvePolicy (sd, element);
			Assert.That (policy, Is.Not.Null, label.Get ());

			label.EnterScope ("wsp:ExactlyOne");
			var exactlyOne = AssertExactlyOneChildElement (policy);
			Assert.That (exactlyOne, Is.Not.Null, label.Get ());
			Assert.That (exactlyOne.NamespaceURI, Is.EqualTo (WspNamespace), label.Get ());
			Assert.That (exactlyOne.LocalName, Is.EqualTo ("ExactlyOne"), label.Get ());
			label.LeaveScope ();

			label.EnterScope ("wsp:Any");
			var all = AssertExactlyOneChildElement (exactlyOne);
			Assert.That (all, Is.Not.Null, label.Get ());
			Assert.That (all.NamespaceURI, Is.EqualTo (WspNamespace), label.Get ());
			Assert.That (all.LocalName, Is.EqualTo ("All"), label.Get ());
			label.LeaveScope ();

			var collection = new PolicyAssertionCollection ();

			label.EnterScope ("assertions");
			foreach (var node in all.ChildNodes) {
				if (node is XmlWhitespace)
					continue;
				Assert.That (node, Is.InstanceOfType (typeof (XmlElement)), label.ToString ());
				collection.Add ((XmlElement)node);
			}
			label.LeaveScope ();

			label.LeaveScope ();

			return collection;
		}
示例#4
0
		public static void AssertPolicy (
			PolicyAssertionCollection assertions, QName qname, TestLabel label)
		{
			var assertion = assertions.Find (qname.Name, qname.Namespace);
			label.EnterScope (qname.Name);
			Assert.That (assertion, Is.Not.Null, label.ToString ());
			assertions.Remove (assertion);
			label.LeaveScope ();
		}