2 // CodeAccessPermissionTest.cs - NUnit Test Cases for CodeAccessPermission
5 // Sebastien Pouliot (spouliot@motus.com)
7 // (C) 2004 Motus Technologies Inc. (http://www.motus.com)
10 using NUnit.Framework;
12 using System.Security;
13 using System.Security.Permissions;
16 namespace MonoTests.System.Security {
18 // Almost minimal CAS class for unit tests
20 public class NonAbstractCodeAccessPermission : CodeAccessPermission {
25 public NonAbstractCodeAccessPermission (string tag, string 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)
43 public override bool IsSubsetOf (IPermission target)
48 public override SecurityElement ToXml ()
52 return new SecurityElement (_tag, _text);
58 public class CodeAccessPermissionTest {
61 public void CustomCAS ()
63 // test for http://bugzilla.ximian.com/show_bug.cgi?id=52626
64 NonAbstractCodeAccessPermission p = new NonAbstractCodeAccessPermission ("custom", null);
71 NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
72 IPermission p = cap.Union (null);
76 [ExpectedException (typeof (NullReferenceException))]
77 public void To_String_Exception ()
79 NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
80 string s = cap.ToString ();
84 public void To_String ()
86 NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission ("CodeAccessPermission", "NonAbstract");
87 string s = cap.ToString ();
88 Assert.AreEqual ("<CodeAccessPermission>NonAbstract</CodeAccessPermission>" + Environment.NewLine, s, "ToString");