private void Common(StrongNameMembershipCondition snmc) { Assert.IsFalse(snmc.Check(allEmpty), "Check(allEmpty)"); Assert.IsFalse(snmc.Check(hostOther), "Check(hostOther)"); Assert.IsFalse(snmc.Check(assemblyEcmaCorlibVersion), "Check(assemblyEcmaCorlibVersion)"); Assert.IsFalse(snmc.Check(assemblyEcmaVersion), "Check(assemblyEcmaVersion)"); Assert.IsFalse(snmc.Check(assemblyMsSystemSecurityVersion), "Check(assemblyMsSystemSecurityVersion)"); Assert.IsFalse(snmc.Check(assemblyMsVersion), "Check(assemblyMsVersion)"); Assert.IsFalse(snmc.Check(assemblyOther), "Check(assemblyOther)"); StrongNameMembershipCondition copy = (StrongNameMembershipCondition)snmc.Copy(); Assert.IsTrue(copy.Equals(snmc), "copy.Equals (snmc)"); Assert.IsTrue(snmc.Equals(copy), "snmc.Equals (copy)"); copy.Name = null; copy.Version = null; bool original = ((snmc.Name == null) && (snmc.Version == null)); Assert.AreEqual(original, copy.Equals(snmc), "bad.Equals (snmc)"); Assert.AreEqual(original, snmc.Equals(copy), "snmc.Equals (bad)"); SecurityElement se = snmc.ToXml(); copy.FromXml(se); Assert.AreEqual(snmc.PublicKey, copy.PublicKey, "PublicKey"); Assert.AreEqual(snmc.Name, copy.Name, "Name"); Assert.AreEqual(snmc.Version, copy.Version, "Version"); Assert.AreEqual(snmc.GetHashCode(), copy.GetHashCode(), "GetHashCode ()"); Assert.AreEqual(snmc.ToString(), copy.ToString(), "ToString ()"); Assert.IsTrue(copy.Equals(snmc), "xml.Equals (snmc)"); Assert.IsTrue(snmc.Equals(copy), "snmc.Equals (xml)"); }
[Category("NotMobile")] // mobile profile throws a NotSupportedException public void ToXml_PolicyLevel() { StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version); SecurityElement se = snmc.ToXml(); string s = snmc.ToXml().ToString(); // is it accepted for all policy levels ? IEnumerator e = SecurityManager.PolicyHierarchy(); while (e.MoveNext()) { PolicyLevel pl = e.Current as PolicyLevel; StrongNameMembershipCondition spl = new StrongNameMembershipCondition(blob, name, version); spl.FromXml(se, pl); Assert.AreEqual(s, spl.ToXml(pl).ToString(), "ToXml(PolicyLevel='" + pl.Label + "')"); } // yes! }
public void ToXml_Null() { StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version); // no ArgumentNullException here SecurityElement se = snmc.ToXml(null); Assert.IsNotNull(se, "ToXml(null)"); }
public void FromXml_InvalidClass() { StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version); SecurityElement se = snmc.ToXml(); se.Attributes ["class"] = "Hello world"; snmc.FromXml(se); }
public void FromXml_InvalidTag() { StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version); SecurityElement se = snmc.ToXml(); se.Tag = "IMonoship"; snmc.FromXml(se); }
public static void StrongNameMembershipConditionCallMethods() { StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(new StrongNamePublicKeyBlob(new byte[1]), "test", new Version(0, 1)); bool check = snmc.Check(new Evidence()); IMembershipCondition obj = snmc.Copy(); check = snmc.Equals(new object()); int hash = snmc.GetHashCode(); string str = snmc.ToString(); SecurityElement se = new SecurityElement(""); PolicyLevel pl = (PolicyLevel)FormatterServices.GetUninitializedObject(typeof(PolicyLevel)); snmc.FromXml(se); snmc.FromXml(se, pl); se = snmc.ToXml(); se = snmc.ToXml(pl); }
public void FromXml_NoVersion() { StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version); SecurityElement se = snmc.ToXml(); SecurityElement w = new SecurityElement(se.Tag); w.AddAttribute("class", se.Attribute("class")); snmc.FromXml(w); }
public void FromXml_NoClass() { StrongNameMembershipCondition snmc = new StrongNameMembershipCondition(blob, name, version); SecurityElement se = snmc.ToXml(); SecurityElement w = new SecurityElement(se.Tag); w.AddAttribute("version", se.Attribute("version")); snmc.FromXml(w); // doesn't even care of the class attribute presence }