public void PermissionStateNone () { StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.None); Assert.AreEqual (String.Empty, snip.Name, "Name"); Assert.IsNull (snip.PublicKey, "PublicKey"); Assert.AreEqual ("0.0", snip.Version.ToString (), "Version"); SecurityElement se = snip.ToXml (); #if NET_2_0 Assert.IsNull (se.Attribute ("Name"), "Xml-Name"); Assert.IsNull (se.Attribute ("AssemblyVersion"), "Xml-AssemblyVersion"); #else Assert.AreEqual (String.Empty, se.Attribute ("Name"), "Xml-Name"); Assert.AreEqual ("0.0", se.Attribute ("AssemblyVersion"), "Xml-AssemblyVersion"); #endif Assert.IsNull (se.Attribute ("PublicKeyBlob"), "Xml-PublicKeyBlob"); // because Name == String.Empty, which is illegal using the other constructor StrongNameIdentityPermission copy = (StrongNameIdentityPermission) snip.Copy (); Assert.AreEqual (String.Empty, copy.Name, "Copy-Name"); #if NET_2_0 // Strangely once copied the Name becomes equals to String.Empty in 2.0 [FDBK19351] Assert.IsNull (se.Attribute ("AssemblyVersion"), "Copy-Version"); #else Assert.AreEqual ("0.0", copy.Version.ToString (), "Copy-Version"); #endif Assert.IsNull (copy.PublicKey, "Copy-PublicKey"); }
public void PermissionStateUnrestricted () { // In 2.0 Unrestricted are permitted for identity permissions StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.Unrestricted); Assert.AreEqual (String.Empty, snip.Name, "Name"); Assert.IsNull (snip.PublicKey, "PublicKey"); Assert.AreEqual ("0.0", snip.Version.ToString (), "Version"); SecurityElement se = snip.ToXml (); Assert.IsNull (se.Attribute ("Name"), "Xml-Name"); Assert.IsNull (se.Attribute ("PublicKeyBlob"), "Xml-PublicKeyBlob"); Assert.IsNull (se.Attribute ("AssemblyVersion"), "Xml-AssemblyVersion"); StrongNameIdentityPermission copy = (StrongNameIdentityPermission)snip.Copy (); Assert.IsTrue (snip.Equals (copy), "snip Equals copy"); Assert.IsTrue (copy.Equals (snip), "copy Equals snip"); // and they aren't equals to None Assert.IsFalse (snip.Equals (new StrongNameIdentityPermission (PermissionState.None)), "Not Equals None"); }
public void FromXml_NameEmpty () { StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.None); SecurityElement se = snip.ToXml (); snip.FromXml (se); snip.PublicKey = new StrongNamePublicKeyBlob (ecma); snip.Version = new Version ("1.2.3.4"); se = snip.ToXml (); snip.FromXml (se); }
public void FromXml_NoVersion () { StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.None); SecurityElement se = snip.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("class", se.Attribute ("class")); snip.FromXml (w); }
public void FromXml_WrongVersion () { StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.None); SecurityElement se = snip.ToXml (); se.Attributes.Remove ("version"); se.Attributes.Add ("version", "2"); snip.FromXml (se); }
public void FromXml_NoClass () { StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.None); SecurityElement se = snip.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("version", se.Attribute ("version")); snip.FromXml (w); // doesn't even care of the class attribute presence }
public void FromXml_WrongClass () { StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.None); SecurityElement se = snip.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("class", "Wrong" + se.Attribute ("class")); w.AddAttribute ("version", se.Attribute ("version")); snip.FromXml (w); // doesn't care of the class name at that stage // anyway the class has already be created so... }
public void FromXml_WrongTagCase () { StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.None); SecurityElement se = snip.ToXml (); se.Tag = "IPERMISSION"; // instead of IPermission snip.FromXml (se); }
public void FromXml_WrongTag () { StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.None); SecurityElement se = snip.ToXml (); se.Tag = "IMono"; snip.FromXml (se); }
public void Copy_NameEmpty () { StrongNameIdentityPermission snip = new StrongNameIdentityPermission (PermissionState.None); snip.PublicKey = new StrongNamePublicKeyBlob (ecma); snip.Version = new Version ("1.2.3.4"); // because Name == String.Empty, which is illegal using the other constructor // but (somewhat) required to copy the teo other informations StrongNameIdentityPermission copy = (StrongNameIdentityPermission)snip.Copy (); #if NET_2_0 Assert.IsTrue (copy.Equals (snip), "Equals"); #else Assert.AreEqual (copy.ToXml ().ToString (), snip.ToXml ().ToString (), "Equals-XML"); #endif }
public void StrongNameIdentityPermission_All () { StrongNamePublicKeyBlob blob = new StrongNamePublicKeyBlob (ecma); StrongNameIdentityPermission snip = new StrongNameIdentityPermission (blob, "mono", new Version (1, 2, 3, 4)); Assert.AreEqual ("mono", snip.Name, "Name"); Assert.AreEqual ("00000000000000000400000000000000", snip.PublicKey.ToString (), "PublicKey"); Assert.AreEqual ("1.2.3.4", snip.Version.ToString (), "Version"); SecurityElement se = snip.ToXml (); Assert.AreEqual ("mono", se.Attribute ("Name"), "Xml-Name"); Assert.AreEqual ("00000000000000000400000000000000", se.Attribute ("PublicKeyBlob"), "Xml-PublicKeyBlob"); Assert.AreEqual ("1.2.3.4", se.Attribute ("AssemblyVersion"), "Xml-AssemblyVersion"); StrongNameIdentityPermission copy = (StrongNameIdentityPermission)snip.Copy (); Assert.AreEqual ("mono", se.Attribute ("Name"), "Copy-Name"); Assert.AreEqual ("00000000000000000400000000000000", se.Attribute ("PublicKeyBlob"), "Copy-PublicKeyBlob"); Assert.AreEqual ("1.2.3.4", se.Attribute ("AssemblyVersion"), "Copy-AssemblyVersion"); }