public void ExceptionTwelveAndThirteenEitherCanPass(bool firstCheck, bool secondCheck, bool expected) { var step = new PostProcessModulusCheckResult(); var bankAccountDetails = new BankDetailsTestMother() .WithFirstWeightMapping(BankDetailsTestMother.WeightMappingWithException(12)) .WithSecondWeightMapping(BankDetailsTestMother.WeightMappingWithException(13)) .WithFirstCheckResult(firstCheck) .WithSecondCheckResult(secondCheck) .Build(); var modulusCheckOutcome = step.Process(bankAccountDetails); Assert.AreEqual(expected, modulusCheckOutcome.Result); Assert.AreEqual("exception 12 and 13 - so second or first check must pass", modulusCheckOutcome.Explanation); }
public void OtherwiseSecondCheckDeterminesResult(bool firstCheck, bool secondCheck, bool expected) { var step = new PostProcessModulusCheckResult(); var bankAccountDetails = new BankDetailsTestMother() .WithFirstWeightMapping(BankDetailsTestMother.WeightMappingWithException(-1)) .WithSecondWeightMapping(BankDetailsTestMother.WeightMappingWithException(-1)) .WithFirstCheckResult(firstCheck) .WithSecondCheckResult(secondCheck) .Build(); var modulusCheckOutcome = step.Process(bankAccountDetails); Assert.AreEqual(expected, modulusCheckOutcome.Result); Assert.AreEqual("no exceptions affect result - using second check result", modulusCheckOutcome.Explanation); }
public void ExceptionFiveBothChecksMustPass(bool firstCheck, bool secondCheck, bool expected) { var step = new PostProcessModulusCheckResult(); var bankAccountDetails = new BankDetailsTestMother() .WithFirstWeightMapping(BankDetailsTestMother.WeightMappingWithException(5)) .WithSecondWeightMapping(BankDetailsTestMother.WeightMappingWithException(5)) .WithFirstCheckResult(firstCheck) .WithSecondCheckResult(secondCheck) .Build(); var modulusCheckOutcome = step.Process(bankAccountDetails); Assert.AreEqual(expected, modulusCheckOutcome.Result); Assert.AreEqual("exception 5 - so first and second check must pass", modulusCheckOutcome.Explanation); }