Exemplo n.º 1
0
        public void Should_have_1_expecation_when_expecations_have_same_instance_for_does_not_have_and_has()
        {
            // Arrange
            var expectation1 = new DoesNotHaveInstanceExpectation(new RequireRolePolicy("Editor"));
            var expectation2 = new HasInstanceExpectation(new RequireRolePolicy("Editor"));

            // Act
            _expectationGroup.ApplyExpectation(expectation1);
            _expectationGroup.ApplyExpectation(expectation2);

            // Assert
            Assert.That(_expectationGroup.Expectations.Count(), Is.EqualTo(1));
        }
Exemplo n.º 2
0
        public void Should_have_2_expecation_when_expecations_have_different_instances_for_HasInstanceExpectation()
        {
            // Arrange
            var expectation1 = new HasInstanceExpectation(new RequireRolePolicy("Editor"));
            var expectation2 = new HasInstanceExpectation(new RequireRolePolicy("Editor", "Writer"));

            // Act
            _expectationGroup.ApplyExpectation(expectation1);
            _expectationGroup.ApplyExpectation(expectation2);

            // Assert
            Assert.That(_expectationGroup.Expectations.Count(), Is.EqualTo(2));
        }
Exemplo n.º 3
0
        private void HandleHasInstanceExpectation(HasInstanceExpectation expectation)
        {
            var doesNotHaveInstanceExpectations = _expectations.OfType <DoesNotHaveInstanceExpectation>().Where(x => x.Instance.Equals(expectation.Instance));

            for (var i = 0; i < doesNotHaveInstanceExpectations.Count(); i++)
            {
                var doesNotHaveInstanceExpectation = doesNotHaveInstanceExpectations.ElementAt(i);
                _expectations.Remove(doesNotHaveInstanceExpectation);
            }

            var hasInstanceExpectations = _expectations.OfType <HasInstanceExpectation>();

            if (hasInstanceExpectations.Any(x => x.Instance.Equals(expectation.Instance)))
            {
                return;
            }

            _expectations.Add(expectation);
        }
Exemplo n.º 4
0
        private ExpectationResult VerifyHasInstance(IPolicyContainer policyContainer, HasInstanceExpectation expectation, string controllerName, string actionName)
        {
            if (expectation == null)
            {
                return(null);
            }
            if (policyContainer == null)
            {
                const string messageFormat = "Expected a configuration for controller \"{0}\", action \"{1}\". Policycontainer could not be found!";
                var          message       = string.Format(messageFormat, controllerName, actionName);
                return(_expectationViolationHandler.Handle(message));
            }

            if (policyContainer.HasPolicy(expectation.Instance) == false)
            {
                const string messageFormat      = "The expected instance of the policy \"{2}\" was not found! Controller \"{0}\", action \"{1}\".";
                var          expectedPolicyType = expectation.Instance.GetType().Name;
                var          message            = string.Format(messageFormat, policyContainer.ControllerName, policyContainer.ActionName, expectedPolicyType);
                return(_expectationViolationHandler.Handle(message));
            }
            return(ExpectationResult.CreateSuccessResult());
        }