public void SedolsNotSevenCharacters(string sedol)
        {
            var actual   = new SedolValidator().ValidateSedol(sedol);
            var expected = new SedolValidationResult(sedol, false, false, Constants.INPUT_STRING_NOT_VALID_LENGTH);

            AssertValidationResult(expected, actual);
        }
        public void UserDefinedSedolsWithCorrectChecksum(string sedol)
        {
            var actual   = new SedolValidator().ValidateSedol(sedol);
            var expected = new SedolValidationResult(sedol, true, true, null);

            AssertValidationResult(expected, actual);
        }
        public void StringContainingVowelsWillReturnExpectedValidationDetails(string sedol)
        {
            var actual   = new SedolValidator().ValidateSedol(sedol);
            var expected = new SedolValidationResult(sedol, false, false, Constants.INPUT_STRING_CONTAINS_VOWELS);

            AssertValidationResult(expected, actual);
        }
        public void ValidSedols(string sedol)
        {
            var actual   = new SedolValidator().ValidateSedol(sedol);
            var expected = new SedolValidationResult(sedol, true, false, null);

            AssertValidationResult(expected, actual);
        }
        public void SedolsWithIncorrectChecksum(string sedol)
        {
            var actual   = new SedolValidator().ValidateSedol(sedol);
            var expected = new SedolValidationResult(sedol, false, false, Constants.CHECKSUM_NOT_VALID);

            AssertValidationResult(expected, actual);
        }
        public void SedolsContainingNonAlphanumericCharacters(string sedol)
        {
            var actual   = new SedolValidator().ValidateSedol(sedol);
            var expected = new SedolValidationResult(sedol, false, false, Constants.INPUT_STRING_NOT_ALPHANUMERIC);

            AssertValidationResult(expected, actual);
        }
Beispiel #7
0
        public string InputSedol(string input)
        {
            var validator = new SedolValidator();

            validationResult   = validator.ValidateSedol(input);
            _validationMessage = validationResult.ValidationDetails;

            return(_validationMessage);
        }
Beispiel #8
0
        public void RemoveChecksumDigitShouldThrowExceptionIfEmptyStringProvided()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.RemoveChecksumDigit(string.Empty);

            // Assert - exception expected
        }
Beispiel #9
0
        public void RemoveChecksumDigitShouldThrowExceptionIfNullInputProvided()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.RemoveChecksumDigit(null);

            // Assert - exception expected
        }
Beispiel #10
0
        public void CheckCharacterWeightsShouldThrowExceptionIfCharacterWeightIsNull()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            sut.CheckCharacterWeights(null);

            // Assert - exception expected.
        }
Beispiel #11
0
        public void CalculateChecksumDigitShouldThrowExceptionIfInputIsNull()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            sut.CalculateChecksumDigit(null);

            // Assert - exception expected.
        }
Beispiel #12
0
        public void IsEndUserDefinedSedolShouldThrowExceptionIfInputIsNull()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            sut.HasEndUserDefinedSedolPrefix(null);

            // Assert - exception expected.
        }
Beispiel #13
0
        public void RemoveChecksumDigitShouldReturnEmptyStringIfSingleCharacterProvidedAsInput()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.RemoveChecksumDigit("1");

            // Assert
            Assert.AreEqual(string.Empty, actual);
        }
Beispiel #14
0
        public void RemoveChecksumDigitShouldRemoveLastCharacterFromMulticharacterString()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.RemoveChecksumDigit("123");

            // Assert
            Assert.AreEqual("12", actual);
        }
Beispiel #15
0
        public void OnValidate()
        {
            var input = View.InputSedol;

            var validator = new SedolValidator();
            var result    = validator.ValidateSedol(input);

            View.IsValid           = result.IsValidSedol;
            View.IsUserDefined     = result.IsUserDefined;
            View.ValidationDetails = result.ValidationDetails;
        }
Beispiel #16
0
        public void HasEndUserDefinedSedolPrefixShouldReturnTrueIfInputStartsWithEndUserPrefixCharacter()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.HasEndUserDefinedSedolPrefix(SedolValidator.EndUserDefinedSedolRangePrefix.ToString());

            // Assert
            Assert.IsTrue(actual);
        }
Beispiel #17
0
        public void CalculateChecksumDigitShouldReturn4WhenInputIs070995()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.CalculateChecksumDigit("070995");

            // Assert
            Assert.AreEqual('4', actual);
        }
Beispiel #18
0
        public void HasRightLengthReturnsFalseIfInputLengthIsGreaterThanSevenCharacters()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.HasRightLength("12345678");

            // Assert
            Assert.IsFalse(actual);
        }
Beispiel #19
0
        public void CheckCharacterWeightsShouldThrowExceptionIfCharacterWeightSizeDiffersFromExpectedSedolLength()
        {
            // Arrange
            var sut = new SedolValidator();
            var characterWeightsBiggerThanExpectedSedol = new int[SedolValidator.ExpectedSedolLength + 1];

            // Act
            sut.CheckCharacterWeights(characterWeightsBiggerThanExpectedSedol);

            // Assert - exception expected.
        }
Beispiel #20
0
        public void HasRightLengthReturnsFalseIfInputIsEmptyString()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.HasRightLength(string.Empty);

            // Assert
            Assert.IsFalse(actual);
        }
Beispiel #21
0
        public void HasRightLengthReturnsTrueIfSedolExactlySevenCharactersLong()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.HasRightLength("1234567");

            // Assert
            Assert.IsTrue(actual);
        }
Beispiel #22
0
        public void HasRightLengthReturnsFalseIfInputIsNull()
        {
            // Arrange
            var sut = new SedolValidator();

            // Act
            var actual = sut.HasRightLength(null);

            // Assert
            Assert.IsFalse(actual);
        }
Beispiel #23
0
        public void CheckCharacterWeightsShouldNotThrowAnyExceptionIfCharacterWeightSizeEqualToExpectedSedolLength()
        {
            // Arrange
            var sut = new SedolValidator();
            var characterWeightsWithExpectedSedolLength = new int[SedolValidator.ExpectedSedolLength];

            // Act
            sut.CheckCharacterWeights(characterWeightsWithExpectedSedolLength);

            // Assert
            Assert.IsTrue(true);
        }
Beispiel #24
0
        public void SedolValidator_ValidUserDefined(string input, bool expected_isValidSedol, bool expected_isUserDefined, string expected_validationDetails)
        {
            //InputString Test Value | IsValidSedol | IsUserDefined | ValidationDetails
            //-- -| --| --| --|
            //9123458 | True | True | Null
            //9ABCDE1 | True | True | Null

            ISedolValidator        validator    = new SedolValidator();
            ISedolValidationResult actualResult = validator.ValidateSedol(input);

            Assert.IsTrue(actualResult.InputString == input && actualResult.IsUserDefined == expected_isUserDefined && actualResult.IsValidSedol == expected_isValidSedol && actualResult.ValidationDetails == expected_validationDetails);
        }
Beispiel #25
0
        public void HasEndUserDefinedSedolPrefixShouldReturnFalseIfInputDoesNotStartWithEndUserPrefixCharacter()
        {
            // Arrange
            var  sut = new SedolValidator();
            char shiftedEndUserDefinedSedolPrefix = (char)(SedolValidator.EndUserDefinedSedolRangePrefix + 1);

            // Act
            var actual = sut.HasEndUserDefinedSedolPrefix(shiftedEndUserDefinedSedolPrefix.ToString());

            // Assert
            Assert.IsFalse(actual);
        }
Beispiel #26
0
        public void SedolValidator_InvalidNonUserDefined(string input, bool expected_isValidSedol, bool expected_isUserDefined, string expected_validationDetails)
        {
            //**Scenario:**Invalid non user define SEDOL
            //InputString Test Value | IsValidSedol | IsUserDefined | ValidationDetails
            //-- -| --| --| --|
            //1234567 | False | False | Checksum digit does not agree with the rest of the input

            ISedolValidator        validator    = new SedolValidator();
            ISedolValidationResult actualResult = validator.ValidateSedol(input);

            Assert.IsTrue(actualResult.InputString == input && actualResult.IsUserDefined == expected_isUserDefined && actualResult.IsValidSedol == expected_isValidSedol && actualResult.ValidationDetails == expected_validationDetails);
        }
Beispiel #27
0
        public void SedolValidator_ValidNonUserDefined(string input, bool expected_isValidSedol, bool expected_isUserDefined, string expected_validationDetails)
        {
            //**Scenario:**Valid non user define SEDOL
            //InputString Test Value | IsValidSedol | IsUserDefined | ValidationDetails
            //-- -| --| --| --|
            //0709954 | True | False | Null
            //B0YBKJ7 | True | False | Null

            ISedolValidator        validator    = new SedolValidator();
            ISedolValidationResult actualResult = validator.ValidateSedol(input);

            Assert.IsTrue(actualResult.InputString == input && actualResult.IsUserDefined == expected_isUserDefined && actualResult.IsValidSedol == expected_isValidSedol && actualResult.ValidationDetails == expected_validationDetails);
        }
Beispiel #28
0
        public void SedolValidator_InvalidInput(string input, bool expected_isValidSedol, bool expected_isUserDefined, string expected_validationDetails)
        {
            //**Scenario:**Null, empty string or string other than 7 characters long
            //InputString Test Value| IsValidSedol | IsUserDefined | ValidationDetails
            //-- -| --| --| --|
            //Null | False | False | Input string was not 7 - characters long
            //"" | False | False | Input string was not 7 - characters long
            //12 | False | False | Input string was not 7 - characters long
            //123456789 | False | False | Input string was not 7 - characters long

            ISedolValidator        validator    = new SedolValidator();
            ISedolValidationResult actualResult = validator.ValidateSedol(input);

            Assert.IsTrue(actualResult.InputString == input && actualResult.IsUserDefined == expected_isUserDefined && actualResult.IsValidSedol == expected_isValidSedol && actualResult.ValidationDetails == expected_validationDetails);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Sedol test");
            bool keepLooping = true;

            string input;

            while (keepLooping)
            {
                Console.WriteLine("Please enter a SEDOL string to validate");
                input = System.Console.ReadLine();
                if (input.ToUpper() == "EXIT")
                {
                    break;
                }

                ISedolValidationResult result = new SedolValidator().ValidateSedol(input);
                Console.WriteLine(string.Concat(result.InputString, "|", result.IsValidSedol, "|", result.IsUserDefined, "|", result.ValidationDetails));
                Console.WriteLine();
            }
        }