* PermissionSetTest.cs: Added tests for AddPermission and IsSubsetOf.
authorSebastien Pouliot <sebastien@ximian.com>
Thu, 16 Jun 2005 19:32:46 +0000 (19:32 -0000)
committerSebastien Pouliot <sebastien@ximian.com>
Thu, 16 Jun 2005 19:32:46 +0000 (19:32 -0000)
2005-06-16  Sebastien Pouliot  <sebastien@ximian.com>

svn path=/trunk/mcs/; revision=46105

mcs/class/corlib/Test/System.Security/ChangeLog
mcs/class/corlib/Test/System.Security/PermissionSetTest.cs

index 9c3f69be1bcf4037e1fa7bb73075f20db19782c6..2074b0a507e7846369c1abe0a13226f0a200a4b8 100644 (file)
@@ -1,3 +1,7 @@
+2005-06-16  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * PermissionSetTest.cs: Added tests for AddPermission and IsSubsetOf.
+
 2005-06-16  Sebastien Pouliot  <sebastien@ximian.com>
 
        * NamedPermissionSetTest.cs: Added more extensive constructor and 
index d0e1d987d492ea0696fffafa59f935ccef4cdbbc..04b7b0227963c3e20fd07b6eb1b4409af420f802 100644 (file)
@@ -5,7 +5,7 @@
 //     Sebastien Pouliot  <sebastien@ximian.com>
 //
 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
@@ -163,7 +163,34 @@ namespace MonoTests.System.Security {
                        AssertEquals ("SecurityPermission", SecurityPermissionFlag.AllFlags, (result as SecurityPermission).Flags);
                        AssertEquals ("1", 1, ps.Count);
                        Assert ("State", !ps.IsUnrestricted ());
-               }
+               }\r
+\r
+               [Test]\r
+               public void AddPermission_NonCasPermission ()\r
+               {\r
+                       PermissionSet ps = new PermissionSet (PermissionState.None);\r
+                       ps.AddPermission (new PrincipalPermission ("name", "role"));\r
+                       AssertEquals ("Count", 1, ps.Count);\r
+                       Assert ("IsEmpty", !ps.IsEmpty ());\r
+               }\r
+\r
+               [Test]\r
+               public void AddPermission_NonCasPermissionNone ()\r
+               {\r
+                       PermissionSet ps = new PermissionSet (PermissionState.None);\r
+                       ps.AddPermission (new PrincipalPermission (PermissionState.None));\r
+                       AssertEquals ("Count", 1, ps.Count);\r
+                       Assert ("IsEmpty", ps.IsEmpty ());\r
+               }\r
+\r
+               [Test]\r
+               public void AddPermission_NonCasPermissionUnrestricted ()\r
+               {\r
+                       PermissionSet ps = new PermissionSet (PermissionState.None);\r
+                       ps.AddPermission (new PrincipalPermission (PermissionState.Unrestricted));\r
+                       AssertEquals ("Count", 1, ps.Count);\r
+                       Assert ("IsEmpty", !ps.IsEmpty ());\r
+               }\r
 
                [Test]
                public void AddPermission_NoCopy ()
@@ -786,6 +813,71 @@ namespace MonoTests.System.Security {
                        ups2.AddPermission (zip);
                        Assert ("UPS1Z.IsSubset(UPS2Z)", ups1.IsSubsetOf (ups2));
                        Assert ("UPS2Z.IsSubset(UPS1Z)", ups2.IsSubsetOf (ups1));
+               }\r
+\r
+               [Test]\r
+               public void IsSubset_NonCasPermission ()\r
+               {\r
+                       PermissionSet ps1 = new PermissionSet (PermissionState.None);\r
+                       ps1.AddPermission (new PrincipalPermission ("name", "role"));\r
+                       PermissionSet ps2 = new PermissionSet (PermissionState.None);\r
+                       Assert ("PS1.IsSubset(null)", !ps1.IsSubsetOf (null));\r
+                       Assert ("PS1.IsSubset(None)", !ps1.IsSubsetOf (ps2));\r
+                       Assert ("None.IsSubset(PS1)", ps2.IsSubsetOf (ps1));\r
+\r
+                       PermissionSet ps3 = ps1.Copy ();\r
+                       Assert ("PS1.IsSubset(PS3)", ps1.IsSubsetOf (ps3));\r
+                       Assert ("PS3.IsSubset(PS1)", ps3.IsSubsetOf (ps1));\r
+\r
+                       PermissionSet ups1 = new PermissionSet (PermissionState.Unrestricted);\r
+#if NET_2_0\r
+                       Assert ("PS1.IsSubset(Unrestricted)", ps1.IsSubsetOf (ups1));\r
+#else
+                       Assert ("PS1.IsSubset(Unrestricted)", !ps1.IsSubsetOf (ups1));\r
+#endif\r
+                       Assert ("Unrestricted.IsSubset(PS1)", !ups1.IsSubsetOf (ps1));\r
+               }\r
+\r
+               [Test]\r
+               public void IsSubset_NonCasPermission_None ()\r
+               {\r
+                       PermissionSet ps1 = new PermissionSet (PermissionState.None);\r
+                       ps1.AddPermission (new PrincipalPermission (PermissionState.None));\r
+                       PermissionSet ps2 = new PermissionSet (PermissionState.None);\r
+                       Assert ("PS1.IsSubset(null)", ps1.IsSubsetOf (null));\r
+                       Assert ("PS1.IsSubset(None)", ps1.IsSubsetOf (ps2));\r
+                       Assert ("None.IsSubset(PS1)", ps2.IsSubsetOf (ps1));\r
+\r
+                       PermissionSet ps3 = ps1.Copy ();\r
+                       Assert ("PS1.IsSubset(PS3)", ps1.IsSubsetOf (ps3));\r
+                       Assert ("PS3.IsSubset(PS1)", ps3.IsSubsetOf (ps1));\r
+\r
+                       PermissionSet ups1 = new PermissionSet (PermissionState.Unrestricted);\r
+                       Assert ("PS1.IsSubset(Unrestricted)", ps1.IsSubsetOf (ups1));\r
+                       Assert ("Unrestricted.IsSubset(PS1)", !ups1.IsSubsetOf (ps1));\r
+               }
+\r
+               [Test]\r
+               public void IsSubset_NonCasPermission_Unrestricted ()\r
+               {\r
+                       PermissionSet ps1 = new PermissionSet (PermissionState.None);\r
+                       ps1.AddPermission (new PrincipalPermission (PermissionState.Unrestricted));\r
+                       PermissionSet ps2 = new PermissionSet (PermissionState.None);\r
+                       Assert ("PS1.IsSubset(null)", !ps1.IsSubsetOf (null));\r
+                       Assert ("PS1.IsSubset(None)", !ps1.IsSubsetOf (ps2));\r
+                       Assert ("None.IsSubset(PS1)", ps2.IsSubsetOf (ps1));\r
+\r
+                       PermissionSet ps3 = ps1.Copy ();\r
+                       Assert ("PS1.IsSubset(PS3)", ps1.IsSubsetOf (ps3));\r
+                       Assert ("PS3.IsSubset(PS1)", ps3.IsSubsetOf (ps1));\r
+\r
+                       PermissionSet ups1 = new PermissionSet (PermissionState.Unrestricted);\r
+#if NET_2_0\r
+                       Assert ("PS1.IsSubset(Unrestricted)", ps1.IsSubsetOf (ups1));\r
+#else
+                       Assert ("PS1.IsSubset(Unrestricted)", !ps1.IsSubsetOf (ups1));\r
+#endif\r
+                       Assert ("Unrestricted.IsSubset(PS1)", !ups1.IsSubsetOf (ps1));\r
                }
 
                [Test]