public void ConstructorLevel_Deny_Unrestricted () { StorePermission p = new StorePermission (StorePermissionFlags.AllFlags); Assert.AreEqual (StorePermissionFlags.AllFlags, p.Flags, "Flags"); Assert.IsTrue (p.IsUnrestricted (), "IsUnrestricted"); Assert.IsNotNull (p.Copy (), "Copy"); SecurityElement se = p.ToXml (); Assert.IsNotNull (se, "ToXml"); p.FromXml (se); Assert.IsNotNull (p.Intersect (p), "Intersect"); Assert.IsTrue (p.IsSubsetOf (p), "IsSubsetOf"); Assert.IsNotNull (p.Union (p), "Union"); }
public void ConstructorState_Deny_Unrestricted () { StorePermission p = new StorePermission (PermissionState.None); Assert.AreEqual (StorePermissionFlags.NoFlags, p.Flags, "Flags"); Assert.IsFalse (p.IsUnrestricted (), "IsUnrestricted"); SecurityElement se = p.ToXml (); Assert.IsNotNull (se, "ToXml"); p.FromXml (se); Assert.IsTrue (p.IsSubsetOf (p), "IsSubsetOf"); // strange behaviour of Copy under MS fx 2.0 (returns null for NoFlags) p.Copy (); p.Intersect (p); p.Union (p); }
public void Intersect_Unrestricted () { // Intersection with unrestricted == Copy // a. source (this) is unrestricted StorePermission sp1 = new StorePermission (PermissionState.Unrestricted); StorePermission sp2 = new StorePermission (PermissionState.None); StorePermission result = (StorePermission) sp1.Intersect (sp2); Assert.IsNull (result, "target NoFlags"); for (int i = 1; i < (int) StorePermissionFlags.AllFlags; i++) { // 8 isn't a valid value (so we exclude it from the rest of the loop) if ((i & 8) == 8) continue; sp2.Flags = (StorePermissionFlags) i; result = (StorePermission) sp1.Intersect (sp2); Assert.AreEqual (sp2.Flags, result.Flags, "target " + sp2.Flags.ToString ()); } // b. destination (target) is unrestricted sp2.Flags = StorePermissionFlags.NoFlags; result = (StorePermission) sp2.Intersect (sp1); Assert.IsNull (result, "target NoFlags"); for (int i = 1; i < (int) StorePermissionFlags.AllFlags; i++) { // 8 isn't a valid value (so we exclude it from the rest of the loop) if ((i & 8) == 8) continue; sp2.Flags = (StorePermissionFlags) i; result = (StorePermission) sp2.Intersect (sp1); Assert.AreEqual (sp2.Flags, result.Flags, "source " + sp2.Flags.ToString ()); } }
public void Intersect_Self () { StorePermission sp = new StorePermission (PermissionState.None); sp.Flags = StorePermissionFlags.NoFlags; // 0 StorePermission result = (StorePermission) sp.Intersect (sp); Assert.IsNull (result, "NoFlags"); for (int i = 1; i < (int) StorePermissionFlags.AllFlags; i++) { // 8 isn't a valid value (so we exclude it from the rest of the loop) if ((i & 8) == 8) continue; sp.Flags = (StorePermissionFlags) i; result = (StorePermission) sp.Intersect (sp); Assert.AreEqual (sp.Flags, result.Flags, sp.Flags.ToString ()); } }
public void Intersect_None () { StorePermission sp1 = new StorePermission (PermissionState.None); StorePermission sp2 = new StorePermission (PermissionState.None); for (int i = 0; i < (int) StorePermissionFlags.AllFlags; i++) { // 8 isn't a valid value (so we exclude it from the rest of the loop) if ((i & 8) == 8) continue; sp1.Flags = (StorePermissionFlags) i; // 1. Intersect None with ppl StorePermission result = (StorePermission) sp1.Intersect (sp2); Assert.IsNull (result, "None N " + sp1.Flags.ToString ()); // 2. Intersect ppl with None result = (StorePermission) sp2.Intersect (sp1); Assert.IsNull (result, sp1.Flags.ToString () + "N None"); } }
public void Intersect_Null () { StorePermission sp = new StorePermission (PermissionState.None); // No intersection with null for (int i = 0; i < (int) StorePermissionFlags.AllFlags; i++) { // 8 isn't a valid value (so we exclude it from the rest of the loop) if ((i & 8) == 8) continue; sp.Flags = (StorePermissionFlags) i; Assert.IsNull (sp.Intersect (null), sp.Flags.ToString ()); } }