public void ExpectObjectSecurityStrategyHasAccessWithMatchingScope(SecurableObject securableObject, ClientTransactionScope expectedScope)
        {
            IObjectSecurityStrategy objectSecurityStrategy = securableObject.GetSecurityStrategy();

            Expect.Call(objectSecurityStrategy.HasAccess(null, null, null))
            .IgnoreArguments()
            .WhenCalled(mi => CheckScope(expectedScope))
            .Return(true);
        }
        public void ExpectObjectSecurityStrategyHasAccess(SecurableObject securableObject, Enum accessTypeEnum, HasAccessDelegate doDelegate)
        {
            IObjectSecurityStrategy objectSecurityStrategy = securableObject.GetSecurityStrategy();

            Expect.Call(
                objectSecurityStrategy.HasAccess(
                    Arg.Is(_mockSecurityProvider),
                    Arg.Is(_stubUser),
                    Arg <IReadOnlyList <AccessType> > .List.Equal(new[] { AccessType.Get(accessTypeEnum) })))
            .WhenCalled(mi => CheckTransaction())
            .Do(doDelegate);
        }