public void Should_have_1_expecation_when_expecations_have_same_instance_for_has_and_does_not_have() { // Arrange var expectation1 = new HasInstanceExpectation(new RequireAnyRolePolicy("Editor")); var expectation2 = new DoesNotHaveInstanceExpectation(new RequireAnyRolePolicy("Editor")); // Act _expectationGroup.ApplyExpectation(expectation1); _expectationGroup.ApplyExpectation(expectation2); // Assert Assert.That(_expectationGroup.Expectations.Count(), Is.EqualTo(1)); }
private void HandleHasInstanceExpectation(HasInstanceExpectation expectation) { var doesNotHaveInstanceExpectations = _expectations.Where(x => x is DoesNotHaveInstanceExpectation).Cast<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.Where(x => x is HasInstanceExpectation).Cast<HasInstanceExpectation>(); if (hasInstanceExpectations.Any(x => x.Instance.Equals(expectation.Instance))) return; _expectations.Add(expectation); }
public void Should_have_2_expecation_when_expecations_have_different_instances_for_HasInstanceExpectation() { // Arrange var expectation1 = new HasInstanceExpectation(new RequireAnyRolePolicy("Editor")); var expectation2 = new HasInstanceExpectation(new RequireAnyRolePolicy("Editor", "Writer")); // Act _expectationGroup.ApplyExpectation(expectation1); _expectationGroup.ApplyExpectation(expectation2); // Assert Assert.That(_expectationGroup.Expectations.Count(), Is.EqualTo(2)); }
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(); }