2 // CodeAccessPermissionTest.cs - NUnit Test Cases for CodeAccessPermission
5 // Sebastien Pouliot (spouliot@motus.com)
7 // (C) 2004 Motus Technologies Inc. (http://www.motus.com)
12 using NUnit.Framework;
14 using System.Security;
15 using System.Security.Permissions;
18 namespace MonoTests.System.Security {
20 // Almost minimal CAS class for unit tests
22 public class NonAbstractCodeAccessPermission : CodeAccessPermission {
27 public NonAbstractCodeAccessPermission (string tag, string text)
33 public override IPermission Copy ()
35 return new NonAbstractCodeAccessPermission (_tag, _text);
38 public override void FromXml (SecurityElement elem) {}
40 public override IPermission Intersect (IPermission target)
45 public override bool IsSubsetOf (IPermission target)
50 public override SecurityElement ToXml ()
54 return new SecurityElement (_tag, _text);
60 public class CodeAccessPermissionTest {
63 public void CustomCAS ()
65 // test for http://bugzilla.ximian.com/show_bug.cgi?id=52626
66 NonAbstractCodeAccessPermission p = new NonAbstractCodeAccessPermission ("custom", null);
73 NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
74 IPermission p = cap.Union (null);
78 [ExpectedException (typeof (NullReferenceException))]
79 public void To_String_Exception ()
81 NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
82 string s = cap.ToString ();
86 public void To_String ()
88 NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission ("CodeAccessPermission", "NonAbstract");
89 string s = cap.ToString ();
90 Assert.AreEqual ("<CodeAccessPermission>NonAbstract</CodeAccessPermission>" + Environment.NewLine, s, "ToString");