public void Copy() { SecurityPermission sp = new SecurityPermission(PermissionState.None); foreach (SecurityPermissionFlag spf in AllFlags) { sp.Flags = spf; SecurityPermission copy = (SecurityPermission)sp.Copy(); Assert.AreEqual(spf, copy.Flags, spf.ToString()); } }
public static void SecurityPermissionCallMethods() { SecurityPermission sp = new SecurityPermission(new Permissions.PermissionState()); SecurityPermission sp2 = new SecurityPermission(new Permissions.SecurityPermissionFlag()); IPermission ip = sp.Copy(); IPermission ip2 = sp.Intersect(ip); bool testbool = sp.IsSubsetOf(ip); testbool = sp.IsUnrestricted(); ip2 = sp.Union(ip); SecurityElement se = new SecurityElement(""); sp.FromXml(se); se = sp.ToXml(); }
public void PermissionState_None() { PermissionState ps = PermissionState.None; SecurityPermission sp = new SecurityPermission(ps); Assert.AreEqual(SecurityPermissionFlag.NoFlags, sp.Flags, "Flags"); Assert.IsFalse(sp.IsUnrestricted(), "IsUnrestricted"); SecurityElement se = sp.ToXml(); // only class and version are present Assert.AreEqual("NoFlags", se.Attribute("Flags"), "Xml-Flags"); Assert.IsNull(se.Children, "Xml-Children"); SecurityPermission copy = (SecurityPermission)sp.Copy(); Assert.IsFalse(Object.ReferenceEquals(sp, copy), "ReferenceEquals"); Assert.AreEqual(sp.Flags, copy.Flags, "Flags"); Assert.AreEqual(sp.IsUnrestricted(), copy.IsUnrestricted(), "IsUnrestricted ()"); }
public override IPermission Intersect(IPermission target) { SecurityPermission sp = Cast(target); if (sp == null) { return(null); } if (IsEmpty() || sp.IsEmpty()) { return(null); } if (this.IsUnrestricted() && sp.IsUnrestricted()) { return(new SecurityPermission(PermissionState.Unrestricted)); } if (this.IsUnrestricted()) { return(sp.Copy()); } if (sp.IsUnrestricted()) { return(this.Copy()); } SecurityPermissionFlag f = flags & sp.flags; if (f == SecurityPermissionFlag.NoFlags) { return(null); } else { return(new SecurityPermission(f)); } }