public ModulusWeightingDetails(string fromSortCode, string toSortCode, ModulusCheckingMethod checkingMethod, IEnumerable <IndiviualModulusWeighting> modulusWeightingValues) { _modulusWeightingValues = modulusWeightingValues; FromSortCode = fromSortCode; ToSortCode = toSortCode; CheckingMethod = checkingMethod; }
public static ModulusWeightingTable CreateStandardWeightingTable(ModulusCheckingMethod checkingMethod) { if (checkingMethod == ModulusCheckingMethod.StandardTen) { return(ModulusTestHelper.CreateSingleRangeWeightingTableModulusTenPass()); } else if (checkingMethod == ModulusCheckingMethod.StandardEleven) { return(ModulusTestHelper.CreateSingleRangeWeightingTableModulusElevenPass()); } else if (checkingMethod == ModulusCheckingMethod.AlternateDouble) { return(ModulusTestHelper.CreateSingleRangeWeightingTableModulusAlternateDouble()); } return(new ModulusWeightingTable(new List <ModulusWeightingDetails>())); }
public void IsValid_ValidAccountDetails_ReturnsTrue(string sortCode, string accountNo, ModulusCheckingMethod checkingMethod) { // Arrange var bankDetails = new BankDetails(sortCode, accountNo); var modulusParametersFactory = new ModulusParametersFactory(ModulusTestHelper.CreateStandardWeightingTable(checkingMethod)); var modulusParameters = modulusParametersFactory.CreateModulusParameters(bankDetails); var standardModulusCheck = new StandardModulusCheck(modulusParameters); // Act var result = standardModulusCheck.IsValid(bankDetails); // Assert Assert.AreEqual(true, result); }
public ModulusParameters(ModulusCheckingMethod checkingMethod, ModulusWeightingDetails modulusWeightingDetails) { _modulusWeightingDetails = modulusWeightingDetails; CheckingMethod = checkingMethod; }
public void Create_PassFullyPopulatedWeightingsDto_ReturnsObjectWithExpectedValues(string expectedFromSortCode, string expectedToSortCode, ModulusMethod sourceMethod, ModulusCheckingMethod expectedMethod) { // Arrange var modulusWeightingFactory = new ModulusWeightingFactory(); var weightingDto = new WeightingDto() { SortCodeFrom = expectedFromSortCode, SortCodeTo = expectedToSortCode, Method = sourceMethod, WeightingValues = new List <WeightingValue>() }; // Act var weightingDetails = modulusWeightingFactory.Create(weightingDto); // Assert Assert.AreEqual(expectedFromSortCode, weightingDetails.FromSortCode); Assert.AreEqual(expectedToSortCode, weightingDetails.ToSortCode); Assert.AreEqual(expectedMethod, weightingDetails.CheckingMethod); }
public void CreateModulusParameters_PassAccountDetailsRelatingToMethod_ReturnsSpecifiedMethod(string expectedSortCode, ModulusCheckingMethod expectedCheckingMethod) { // Arrange var modulusParamtersFactory = new ModulusParametersFactory(CreateStandardModulusWeightingTable()); // Act var modulusParameters = modulusParamtersFactory.CreateModulusParameters(new BankDetails(expectedSortCode, _standardAccountNo)); // Assert Assert.AreEqual(expectedCheckingMethod, modulusParameters.CheckingMethod); }
public void Check_ValidLookingAccountDetails_ReturnsSuccessOrFailureCorrectly(string sortCode, string accountNo, bool expectedSuccess, ModulusCheckingMethod method) { // Arrange var accountDetails = new BankDetails(sortCode, accountNo); var modulusWeightingTable = ModulusTestHelper.CreateStandardWeightingTable(method); var accountDetailsChecker = new AccountDetailsChecker(modulusWeightingTable); // Act var accountCheckResult = accountDetailsChecker.Check(accountDetails); // Assert Assert.AreEqual(expectedSuccess, accountCheckResult.Success); }