This commit was manufactured by cvs2svn to create branch 'mono-1-0'.
[mono.git] / mcs / class / corlib / Test / System.Security.Policy / PermissionRequestEvidenceTest.cs
1 //\r
2 // PermissionRequestEvidenceTest.cs - NUnit Test Cases for PermissionRequestEvidence\r
3 //\r
4 // Author:\r
5 //      Nick Drochak (ndrochak@gol.com)\r
6 //\r
7 // (C) 2004 Nick Drochak\r
8 //\r
9 \r
10 using NUnit.Framework;\r
11 using System;\r
12 using System.Security;\r
13 using System.Security.Permissions;\r
14 using System.Security.Policy;\r
15 \r
16 namespace MonoTests.System.Security.Policy {\r
17 \r
18         [TestFixture]\r
19         public class PermissionRequestEvidenceTest : Assertion {\r
20
21                 private string AdjustNewLine (string s) \r
22                 {\r
23                         if (Environment.NewLine != "\r\n")\r
24                                 s = s.Replace ("\r\n", Environment.NewLine);\r
25                         return s;\r
26                 }\r
27 \r
28                 [Test]\r
29                 public void NullConstructor () {\r
30                         PermissionRequestEvidence pre = new PermissionRequestEvidence (null, null, null);\r
31                         AssertNull ("Requested", pre.RequestedPermissions);\r
32                         AssertNull ("Optional", pre.OptionalPermissions);\r
33                         AssertNull ("Denied", pre.DeniedPermissions);\r
34                         string expected = AdjustNewLine ("<System.Security.Policy.PermissionRequestEvidence version=\"1\"/>\r\n");\r
35                         AssertEquals ("ToString", expected, pre.ToString ());\r
36                 }\r
37 \r
38                 [Test]\r
39                 public void Constructor1 () {\r
40                         PermissionSet ps = new PermissionSet (PermissionState.None);\r
41                         PermissionRequestEvidence pre = new PermissionRequestEvidence (ps, ps, ps);\r
42                         Assert ("Requested", !pre.RequestedPermissions.IsUnrestricted ());\r
43                         Assert ("Optional", !pre.OptionalPermissions.IsUnrestricted ());\r
44                         Assert ("Denied", !pre.DeniedPermissions.IsUnrestricted ());\r
45                         string expected = AdjustNewLine ("<System.Security.Policy.PermissionRequestEvidence version=\"1\">\r\n   <Request>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"/>\r\n   </Request>\r\n   <Optional>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"/>\r\n   </Optional>\r\n   <Denied>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"/>\r\n   </Denied>\r\n</System.Security.Policy.PermissionRequestEvidence>\r\n");\r
46                         AssertEquals ("ToString", expected, pre.ToString ());\r
47                 }\r
48 \r
49                 [Test]\r
50                 public void Constructor2 () {\r
51                         PermissionSet ps = new PermissionSet (PermissionState.Unrestricted);\r
52                         PermissionRequestEvidence pre = new PermissionRequestEvidence (ps, ps, ps);\r
53                         Assert ("Requested", pre.RequestedPermissions.IsUnrestricted ());\r
54                         Assert ("Optional", pre.OptionalPermissions.IsUnrestricted ());\r
55                         Assert ("Denied", pre.DeniedPermissions.IsUnrestricted ());\r
56                         string expected = AdjustNewLine ("<System.Security.Policy.PermissionRequestEvidence version=\"1\">\r\n   <Request>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"\r\n                     Unrestricted=\"true\"/>\r\n   </Request>\r\n   <Optional>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"\r\n                     Unrestricted=\"true\"/>\r\n   </Optional>\r\n   <Denied>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"\r\n                     Unrestricted=\"true\"/>\r\n   </Denied>\r\n</System.Security.Policy.PermissionRequestEvidence>\r\n");\r
57                         AssertEquals ("ToString", expected, pre.ToString ());\r
58                 }\r
59 \r
60                 [Test]\r
61                 public void Constructor3 () {\r
62                         PermissionSet ps1 = new PermissionSet (PermissionState.None);\r
63                         PermissionSet ps2 = new PermissionSet (PermissionState.Unrestricted);\r
64                         PermissionRequestEvidence pre = new PermissionRequestEvidence (ps1, ps2, ps1);\r
65                         Assert ("Requested", !pre.RequestedPermissions.IsUnrestricted ());\r
66                         Assert ("Optional", pre.OptionalPermissions.IsUnrestricted ());\r
67                         Assert ("Denied", !pre.DeniedPermissions.IsUnrestricted ());\r
68                         string expected = AdjustNewLine ("<System.Security.Policy.PermissionRequestEvidence version=\"1\">\r\n   <Request>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"/>\r\n   </Request>\r\n   <Optional>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"\r\n                     Unrestricted=\"true\"/>\r\n   </Optional>\r\n   <Denied>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"/>\r\n   </Denied>\r\n</System.Security.Policy.PermissionRequestEvidence>\r\n");\r
69                         AssertEquals ("ToString", expected, pre.ToString ());\r
70                 }\r
71 \r
72                 [Test]\r
73                 public void Constructor4 () {\r
74                         PermissionSet ps1 = new PermissionSet (PermissionState.None);\r
75                         PermissionSet ps2 = new PermissionSet (PermissionState.Unrestricted);\r
76                         PermissionRequestEvidence pre = new PermissionRequestEvidence (ps2, ps1, ps2);\r
77                         Assert ("Requested", pre.RequestedPermissions.IsUnrestricted ());\r
78                         Assert ("Optional", !pre.OptionalPermissions.IsUnrestricted ());\r
79                         Assert ("Denied", pre.DeniedPermissions.IsUnrestricted ());\r
80                         string expected = AdjustNewLine ("<System.Security.Policy.PermissionRequestEvidence version=\"1\">\r\n   <Request>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"\r\n                     Unrestricted=\"true\"/>\r\n   </Request>\r\n   <Optional>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"/>\r\n   </Optional>\r\n   <Denied>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"\r\n                     Unrestricted=\"true\"/>\r\n   </Denied>\r\n</System.Security.Policy.PermissionRequestEvidence>\r\n");\r
81                         AssertEquals ("ToString", expected, pre.ToString ());\r
82                 }\r
83 \r
84                 [Test]\r
85                 public void Copy () {\r
86                         PermissionSet ps1 = new PermissionSet (PermissionState.None);\r
87                         PermissionSet ps2 = new PermissionSet (PermissionState.Unrestricted);\r
88                         PermissionRequestEvidence pre = new PermissionRequestEvidence (ps2, ps1, ps2);\r
89                         PermissionRequestEvidence pre2 = pre.Copy ();\r
90                         Assert ("Requested", pre2.RequestedPermissions.IsUnrestricted ());\r
91                         Assert ("Optional", !pre2.OptionalPermissions.IsUnrestricted ());\r
92                         Assert ("Denied", pre2.DeniedPermissions.IsUnrestricted ());\r
93                         string expected = AdjustNewLine ("<System.Security.Policy.PermissionRequestEvidence version=\"1\">\r\n   <Request>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"\r\n                     Unrestricted=\"true\"/>\r\n   </Request>\r\n   <Optional>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"/>\r\n   </Optional>\r\n   <Denied>\r\n      <PermissionSet class=\"System.Security.PermissionSet\"\r\n                     version=\"1\"\r\n                     Unrestricted=\"true\"/>\r\n   </Denied>\r\n</System.Security.Policy.PermissionRequestEvidence>\r\n");\r
94                         AssertEquals ("ToString", expected, pre.ToString ());\r
95                         AssertEquals ("ToString-Copy", pre.ToString (), pre2.ToString ());\r
96                 }\r
97         } // class\r
98 } // namespace