[runtime] Replace pedump boehm dependency with sgen dependency
[mono.git] / mcs / class / corlib / Test / System.Security / CodeAccessPermissionTest.cs
1 //
2 // CodeAccessPermissionTest.cs - NUnit Test Cases for CodeAccessPermission
3 //
4 // Author:
5 //      Sebastien Pouliot (spouliot@motus.com)
6 //
7 // (C) 2004 Motus Technologies Inc. (http://www.motus.com)
8 //
9
10 using NUnit.Framework;
11 using System;
12 using System.Security;
13 using System.Security.Permissions;
14 using System.Text;
15
16 namespace MonoTests.System.Security {
17
18         // Almost minimal CAS class for unit tests
19         [Serializable]
20         public class NonAbstractCodeAccessPermission : CodeAccessPermission {
21
22                 private string _tag;
23                 private string _text;
24
25                 public NonAbstractCodeAccessPermission (string tag, string text)
26                 {
27                         _tag = tag;
28                         _text = text;
29                 }
30
31                 public override IPermission Copy () 
32                 {
33                         return new NonAbstractCodeAccessPermission (_tag, _text);
34                 }
35
36                 public override void FromXml (SecurityElement elem) {}
37
38                 public override IPermission Intersect (IPermission target) 
39                 {
40                         return null;
41                 }
42
43                 public override bool IsSubsetOf (IPermission target) 
44                 {
45                         return true;
46                 }
47
48                 public override SecurityElement ToXml () 
49                 {
50                         if (_tag == null)
51                                 return null;
52                         return new SecurityElement (_tag, _text);
53                 }
54         }
55
56         [TestFixture]
57         [Category ("CAS")]
58         public class CodeAccessPermissionTest {
59
60                 [Test]
61                 public void CustomCAS () 
62                 {
63                         // test for http://bugzilla.ximian.com/show_bug.cgi?id=52626
64                         NonAbstractCodeAccessPermission p = new NonAbstractCodeAccessPermission ("custom", null);
65                         p.Demand ();
66                 }
67
68                 [Test]
69                 public void Union () 
70                 {
71                         NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
72                         IPermission p = cap.Union (null);
73                 }
74
75                 [Test]
76                 [ExpectedException (typeof (NullReferenceException))]
77                 public void To_String_Exception () 
78                 {
79                         NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
80                         string s = cap.ToString ();
81                 }
82
83                 [Test]
84                 public void To_String () 
85                 {
86                         NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission ("CodeAccessPermission", "NonAbstract");
87                         string s = cap.ToString ();
88                         Assert.AreEqual ("<CodeAccessPermission>NonAbstract</CodeAccessPermission>" + Environment.NewLine, s, "ToString");
89                 }
90         }
91 }