public void ModifyAccessRuleAllowsDerivedTypeAndCallsModifyAccessButNothingChanges() { bool modifiedRet, modifiedOut; SecurityIdentifier everyoneSid = new SecurityIdentifier("WD"); TestSecurity security = new TestSecurity(); DerivedAccessRule rule = new DerivedAccessRule(everyoneSid, TestRights.One, AccessControlType.Allow); modifiedRet = security.ModifyAccessRule(AccessControlModification.Add, rule, out modifiedOut); Assert.AreEqual(modifiedRet, modifiedOut); Assert.IsTrue(modifiedRet); Assert.IsTrue(security.modify_access_called); Assert.AreEqual("D:", security.GetSecurityDescriptorSddlForm(AccessControlSections.All)); // (1) There is no external abstract/virtual 'get collection', // (2) The overrides in this test call this base class, which does not change it, and // (3) There are methods based on the collection value such as GetSecurityDescriptorSddlForm. // Conclusion: Collection is internal and manipulated by derived classes. }
public void ModifyAccessRuleAllowsDerivedTypeAndCallsModifyAccessButNothingChanges () { bool modifiedRet, modifiedOut; SecurityIdentifier everyoneSid = new SecurityIdentifier ("WD"); TestSecurity security = new TestSecurity (); DerivedAccessRule rule = new DerivedAccessRule (everyoneSid, TestRights.One, AccessControlType.Allow); modifiedRet = security.ModifyAccessRule (AccessControlModification.Add, rule, out modifiedOut); Assert.AreEqual (modifiedRet, modifiedOut); Assert.IsTrue (modifiedRet); Assert.IsTrue (security.modify_access_called); Assert.AreEqual ("D:", security.GetSecurityDescriptorSddlForm (AccessControlSections.All)); // (1) There is no external abstract/virtual 'get collection', // (2) The overrides in this test call this base class, which does not change it, and // (3) There are methods based on the collection value such as GetSecurityDescriptorSddlForm. // Conclusion: Collection is internal and manipulated by derived classes. }