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
);
57 public class CodeAccessPermissionTest
: Assertion
{
60 public void CustomCAS ()
62 // test for http://bugzilla.ximian.com/show_bug.cgi?id=52626
63 NonAbstractCodeAccessPermission p
= new NonAbstractCodeAccessPermission ("custom", null);
70 NonAbstractCodeAccessPermission cap
= new NonAbstractCodeAccessPermission (null, null);
71 IPermission p
= cap
.Union (null);
75 [ExpectedException (typeof (NullReferenceException
))]
76 public void To_String_Exception ()
78 NonAbstractCodeAccessPermission cap
= new NonAbstractCodeAccessPermission (null, null);
79 string s
= cap
.ToString ();
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
);