**** Merged from MCS ****
[mono-project.git] / mcs / class / corlib / Test / System.Security / CodeAccessPermissionTest.cs
blob124130d964eafec59d9d7aba08e9639ab73f24b3
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 //
10 using NUnit.Framework;
11 using System;
12 using System.Security;
13 using System.Security.Permissions;
14 using System.Text;
16 namespace MonoTests.System.Security {
18 // Almost minimal CAS class for unit tests
19 [Serializable]
20 public class NonAbstractCodeAccessPermission : CodeAccessPermission {
22 private string _tag;
23 private string _text;
25 public NonAbstractCodeAccessPermission (string tag, string text)
27 _tag = tag;
28 _text = text;
31 public override IPermission Copy ()
33 return new NonAbstractCodeAccessPermission (_tag, _text);
36 public override void FromXml (SecurityElement elem) {}
38 public override IPermission Intersect (IPermission target)
40 return null;
43 public override bool IsSubsetOf (IPermission target)
45 return true;
48 public override SecurityElement ToXml ()
50 if (_tag == null)
51 return null;
52 return new SecurityElement (_tag, _text);
56 [TestFixture]
57 public class CodeAccessPermissionTest : Assertion {
59 [Test]
60 public void CustomCAS ()
62 // test for http://bugzilla.ximian.com/show_bug.cgi?id=52626
63 NonAbstractCodeAccessPermission p = new NonAbstractCodeAccessPermission ("custom", null);
64 p.Demand ();
67 [Test]
68 public void Union ()
70 NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
71 IPermission p = cap.Union (null);
74 [Test]
75 [ExpectedException (typeof (NullReferenceException))]
76 public void To_String_Exception ()
78 NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
79 string s = cap.ToString ();
82 [Test]
83 public void To_String ()
85 NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission ("CodeAccessPermission", "NonAbstract");
86 string s = cap.ToString ();
87 AssertEquals ("ToString", "<CodeAccessPermission>NonAbstract</CodeAccessPermission>" + Environment.NewLine, s);