public void Copy()
        {
            PrintingPermission pp = new PrintingPermission(PermissionState.None);

            foreach (PrintingPermissionLevel ppl in AllLevel)
            {
                pp.Level = ppl;
                PrintingPermission copy = (PrintingPermission)pp.Copy();
                Assert.AreEqual(ppl, copy.Level, ppl.ToString());
            }
        }
        public void PermissionState_Unrestricted()
        {
            PermissionState    ps = PermissionState.Unrestricted;
            PrintingPermission pp = new PrintingPermission(ps);

            Assert.AreEqual(PrintingPermissionLevel.AllPrinting, pp.Level, "Level");
            Assert.IsTrue(pp.IsUnrestricted(), "IsUnrestricted");

            SecurityElement se = pp.ToXml();

            // only class and version are present
            Assert.AreEqual("true", se.Attribute("Unrestricted"), "Xml-Unrestricted");
            Assert.IsNull(se.Children, "Xml-Children");

            PrintingPermission copy = (PrintingPermission)pp.Copy();

            Assert.IsFalse(Object.ReferenceEquals(pp, copy), "ReferenceEquals");
            Assert.AreEqual(pp.Level, copy.Level, "Level");
            Assert.AreEqual(pp.IsUnrestricted(), copy.IsUnrestricted(), "IsUnrestricted ()");
        }