2 // MonoTests.System.Security.Policy.NetCodeGroupTest
5 // Sebastien Pouliot (spouliot@motus.com)
7 // (C) 2004 Motus Technologies Inc. (http://www.motus.com)
10 using NUnit.Framework;
12 using System.Collections;
13 using System.Security;
14 using System.Security.Policy;
15 using System.Security.Permissions;
17 namespace MonoTests.System.Security.Policy {
20 public class NetCodeGroupTest : Assertion {
23 [ExpectedException (typeof (ArgumentNullException))]
24 public void Constructor_Null ()
26 NetCodeGroup cg = new NetCodeGroup ((IMembershipCondition)null);
30 public void Constructor ()
32 NetCodeGroup cg = new NetCodeGroup (new AllMembershipCondition ());
33 AssertNotNull ("MembershipCondition", cg.MembershipCondition);
34 AssertNull ("PolicyStatement", cg.PolicyStatement);
35 // documented as always null
36 AssertNull ("AttributeString", cg.AttributeString);
37 // documented as always "Same site Web" but it's "Same site Web." (missing .)
38 AssertEquals ("PermissionSetName", "Same site Web.", cg.PermissionSetName);
42 public void MergeLogic ()
44 NetCodeGroup cg = new NetCodeGroup (new AllMembershipCondition ());
45 AssertEquals ("MergeLogic", "Union", cg.MergeLogic);
51 NetCodeGroup cg = new NetCodeGroup (new AllMembershipCondition ());
52 NetCodeGroup cg2 = (NetCodeGroup) cg.Copy ();
53 AssertEquals ("AttributeString", cg.AttributeString, cg2.AttributeString);
54 AssertEquals ("Children", cg.Children.Count, cg2.Children.Count);
55 AssertEquals ("Description", cg.Description, cg2.Description);
56 AssertEquals ("MergeLogic", cg.MergeLogic, cg2.MergeLogic);
57 AssertEquals ("Name", cg.Name, cg2.Name);
58 AssertEquals ("PermissionSetName", cg.PermissionSetName, cg2.PermissionSetName);
59 AssertEquals ("ToXml", cg.ToXml ().ToString (), cg2.ToXml ().ToString ());
63 public void CopyWithChildren ()
65 NetCodeGroup cgChild = new NetCodeGroup (new AllMembershipCondition ());
66 NetCodeGroup cg = new NetCodeGroup (new AllMembershipCondition ());
67 cg.AddChild (cgChild);
68 NetCodeGroup cg2 = (NetCodeGroup) cg.Copy ();
69 AssertEquals ("Children", cg.Children.Count, cg2.Children.Count);
70 AssertEquals ("ToXml", cg.ToXml ().ToString (), cg2.ToXml ().ToString ());
74 [ExpectedException (typeof (ArgumentNullException))]
75 public void Resolve_Null ()
77 NetCodeGroup cg = new NetCodeGroup (new AllMembershipCondition ());
82 [ExpectedException (typeof (ArgumentNullException))]
83 public void ResolveMatchingCodeGroups_Null ()
85 NetCodeGroup cg = new NetCodeGroup (new AllMembershipCondition ());
86 cg.ResolveMatchingCodeGroups (null);
90 public void ToFromXmlRoundtrip ()
92 NetCodeGroup cg = new NetCodeGroup (new AllMembershipCondition ());
94 cg.Description = "Some Description";
95 Assert ("Equals (itself)", cg.Equals (cg));
96 SecurityElement se = cg.ToXml ();
98 NetCodeGroup cg2 = new NetCodeGroup (new AllMembershipCondition());
99 cg2.Name = "SomeOtherName";
100 cg2.Description = "Some Other Description";
101 Assert ("Equals (another)", !cg.Equals (cg2));
104 Assert ("Equals (FromXml)", cg.Equals (cg2));