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)); }
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)); }
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); }
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()); }