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());
            }
        }
示例#2
0
        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));
            }
        }
示例#5
0
 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();
 }