Example #1
0
 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;
 }
Example #5
0
        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);
        }
Example #7
0
        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);
        }