public void Flags_Invalid()
        {
            KeyContainerPermissionAttribute a = Empty();

            a.Flags = ((KeyContainerPermissionFlags)Int32.MinValue);
            // no validations for flags
        }
        public void Flags()
        {
            KeyContainerPermissionAttribute a = Empty();

            a.Flags = KeyContainerPermissionFlags.AllFlags;
            Assert.IsFalse(a.Unrestricted, "Unrestricted");
            Assert.AreEqual(KeyContainerPermissionFlags.AllFlags, a.Flags, "Flags");
        }
        public void Unrestricted()
        {
            KeyContainerPermissionAttribute a = Empty();

            a.Unrestricted = true;
            Assert.AreEqual(KeyContainerPermissionFlags.NoFlags, a.Flags, "Flags");

            KeyContainerPermission perm = (KeyContainerPermission)a.CreatePermission();

            Assert.AreEqual(KeyContainerPermissionFlags.AllFlags, perm.Flags, "CreatePermission.Flags");
        }
        public void KeyContainerName()
        {
            KeyContainerPermissionAttribute a = Empty();

            a.KeyContainerName = "mono";
            Assert.AreEqual("mono", a.KeyContainerName, "KeyContainerName-1");
            a.KeyContainerName = null;
            Assert.IsNull(a.KeyContainerName, "KeyContainerName-2");
            a.KeyContainerName = String.Empty;
            Assert.AreEqual(String.Empty, a.KeyContainerName, "KeyContainerName-3");
            Assert.AreEqual(KeyContainerPermissionFlags.NoFlags, a.Flags, "Flags");
        }
        public void ProviderType()
        {
            KeyContainerPermissionAttribute a = Empty();

            a.ProviderType = Int32.MinValue;
            Assert.AreEqual(Int32.MinValue, a.ProviderType, "ProviderType-1");
            a.ProviderType = 0;
            Assert.AreEqual(0, a.ProviderType, "ProviderType-2");
            a.ProviderType = Int32.MaxValue;
            Assert.AreEqual(Int32.MaxValue, a.ProviderType, "ProviderType-3");
            Assert.AreEqual(KeyContainerPermissionFlags.NoFlags, a.Flags, "Flags");
        }
        public void KeySpec()
        {
            KeyContainerPermissionAttribute a = Empty();

            a.KeySpec = Int32.MinValue;
            Assert.AreEqual(Int32.MinValue, a.KeySpec, "KeySpec-1");
            a.KeySpec = 0;
            Assert.AreEqual(0, a.KeySpec, "KeySpec-2");
            a.KeySpec = Int32.MaxValue;
            Assert.AreEqual(Int32.MaxValue, a.KeySpec, "KeySpec-3");
            Assert.AreEqual(KeyContainerPermissionFlags.NoFlags, a.Flags, "Flags");
        }
        public void Default()
        {
            KeyContainerPermissionAttribute a = new KeyContainerPermissionAttribute(SecurityAction.Assert);

            Assert.AreEqual(KeyContainerPermissionFlags.NoFlags, a.Flags, "Flags");
            Assert.IsNull(a.KeyContainerName, "KeyContainerName");
            Assert.AreEqual(-1, a.KeySpec, "KeySpec");
            Assert.IsNull(a.KeyStore, "KeyStore");
            Assert.IsNull(a.ProviderName, "ProviderName");
            Assert.AreEqual(-1, a.ProviderType, "ProviderType");

            Assert.IsFalse(a.Unrestricted, "Unrestricted");
            Assert.AreEqual(a.ToString(), a.TypeId.ToString(), "TypeId");

            KeyContainerPermission perm = (KeyContainerPermission)a.CreatePermission();

            Assert.AreEqual(KeyContainerPermissionFlags.NoFlags, perm.Flags, "perm.Flags");
            Assert.IsFalse(perm.IsUnrestricted(), "perm.Unrestricted");
        }
        public void Action()
        {
            KeyContainerPermissionAttribute a = new KeyContainerPermissionAttribute(SecurityAction.Assert);

            Assert.AreEqual(SecurityAction.Assert, a.Action, "Action=Assert");
            a.Action = SecurityAction.Demand;
            Assert.AreEqual(SecurityAction.Demand, a.Action, "Action=Demand");
            a.Action = SecurityAction.Deny;
            Assert.AreEqual(SecurityAction.Deny, a.Action, "Action=Deny");
            a.Action = SecurityAction.InheritanceDemand;
            Assert.AreEqual(SecurityAction.InheritanceDemand, a.Action, "Action=InheritanceDemand");
            a.Action = SecurityAction.LinkDemand;
            Assert.AreEqual(SecurityAction.LinkDemand, a.Action, "Action=LinkDemand");
            a.Action = SecurityAction.PermitOnly;
            Assert.AreEqual(SecurityAction.PermitOnly, a.Action, "Action=PermitOnly");
            a.Action = SecurityAction.RequestMinimum;
            Assert.AreEqual(SecurityAction.RequestMinimum, a.Action, "Action=RequestMinimum");
            a.Action = SecurityAction.RequestOptional;
            Assert.AreEqual(SecurityAction.RequestOptional, a.Action, "Action=RequestOptional");
            a.Action = SecurityAction.RequestRefuse;
            Assert.AreEqual(SecurityAction.RequestRefuse, a.Action, "Action=RequestRefuse");
        }
 public void Action_Invalid()
 {
     KeyContainerPermissionAttribute a = new KeyContainerPermissionAttribute((SecurityAction)Int32.MinValue);
     // no validation in attribute
 }