Esempio n. 1
0
        public void CheckForAddedNumbers(string source, string target)
        {
            //target settings
            var numberVerifierSettings = NumberVerifierRequireLocalizationSettings.AllTypesOfSpacesChecked();

            numberVerifierSettings.Setup(d => d.TargetDecimalPeriod).Returns(true);


            //source settings
            numberVerifierSettings.Setup(s => s.SourceThousandsSpace).Returns(true);
            numberVerifierSettings.Setup(s => s.SourceDecimalComma).Returns(true);
            numberVerifierSettings.Setup(s => s.SourceDecimalPeriod).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            //run initialize method in order to set chosen separators
            var docPropMock = new Mock <IDocumentProperties>();

            numberVerifierMain.Initialize(docPropMock.Object);

            var errorMessage = numberVerifierMain.CheckSourceAndTarget(source, target);

            Assert.Equal(errorMessage[0].ErrorMessage, PluginResources.Error_NumbersAdded);
        }
Esempio n. 2
0
        public void DecimalSeparatorsCommaInsteadOfPeriodErrorMessage(string source, string target)
        {
            var numberVerifierSettings = NumberVerifierRequireLocalizationSettings.SpaceCommaPeriod();

            numberVerifierSettings.Setup(a => a.CustomsSeparatorsAlphanumerics).Returns(false);

            // target settings
            numberVerifierSettings.Setup(d => d.TargetDecimalPeriod).Returns(true);
            numberVerifierSettings.Setup(d => d.TargetDecimalComma).Returns(false);
            numberVerifierSettings.Setup(d => d.TargetThousandsComma).Returns(false);
            numberVerifierSettings.Setup(d => d.TargetThousandsSpace).Returns(false);

            //source settings
            numberVerifierSettings.Setup(s => s.SourceThousandsComma).Returns(true);
            numberVerifierSettings.Setup(s => s.SourceDecimalComma).Returns(true);
            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);

            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            //run initialize method in order to set chosen separators
            var docPropMock = new Mock <IDocumentProperties>();

            numberVerifierMain.Initialize(docPropMock.Object);

            var errorMessage = numberVerifierMain.CheckSourceAndTarget(source, target);

            Assert.Equal(PluginResources.Error_NumbersNotIdentical, errorMessage[0].ErrorMessage);
        }
Esempio n. 3
0
        public string NormalizeNoSeparatorNumers(string text, string thousandSep, string decimalSep, bool noSeparator)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.SpaceCommaPeriod();

            numberVerifierSettings.Setup(d => d.SourceDecimalComma).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            //run initialize method in order to set chosen separators
            var docPropMock = new Mock <IDocumentProperties>();

            numberVerifierMain.Initialize(docPropMock.Object);


            var normalizedNumber = numberVerifierMain.NormalizedNumber(new SeparatorModel
            {
                MatchValue         = text,
                ThousandSeparators = thousandSep,
                DecimalSeparators  = decimalSep,
                NoSeparator        = noSeparator,
                CustomSeparators   = string.Empty
            });

            return(normalizedNumber);
        }
        public void FindNumbersWithinTheWords(string text, string thousandSep, string decimalSep)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.CommaPeriod();

            numberVerifierSettings.Setup(d => d.SourceDecimalComma).Returns(true);
            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);

            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            //run initialize method in order to set chosen separators
            var docPropMock = new Mock <IDocumentProperties>();

            numberVerifierMain.Initialize(docPropMock.Object);

            var normalizedNumberCollection = new List <string>();
            var numberCollection           = new List <string>();

            var thousandSeparators = numberVerifierMain.AddCustomSeparators(thousandSep, true);
            var decimalSeparators  = numberVerifierMain.AddCustomSeparators(decimalSep, true);

            numberVerifierMain.NormalizeAlphanumerics(text, numberCollection, normalizedNumberCollection, thousandSeparators, decimalSeparators, false, false);

            Assert.Equal("46", numberCollection[0]);
            Assert.Equal("46", normalizedNumberCollection[0]);
        }
Esempio n. 5
0
        public void CheckIfNoSeparatorMethodIsCalled(string text, string thousandSep, string decimalSep, bool noSeparator)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.SpaceCommaPeriod();

            numberVerifierSettings.Setup(d => d.SourceDecimalComma).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            //run initialize method in order to set chosen separators
            var docPropMock = new Mock <IDocumentProperties>();

            numberVerifierMain.Initialize(docPropMock.Object);


            var normalizedNumber = numberVerifierMain.NormalizedNumber(new SeparatorModel
            {
                MatchValue         = text,
                ThousandSeparators = thousandSep,
                DecimalSeparators  = decimalSep,
                NoSeparator        = noSeparator,
                CustomSeparators   = string.Empty
            });

            var methodsMock = new Mock <INumberVerifierMethods>(MockBehavior.Strict);

            methodsMock.Verify(s => s.NormalizeNumberNoSeparator(thousandSep, decimalSep, normalizedNumber), Times.Never);
        }
Esempio n. 6
0
        public void NormalizeDecimalNumbersComma(string text, string thousandSep, string decimalSep)
        {
            // add to settings allow localization and thousands separators
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.SpaceCommaPeriod();

            numberVerifierSettings.Setup(d => d.SourceDecimalComma).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            //run initialize method in order to set chosen separators
            var docPropMock = new Mock <IDocumentProperties>();

            numberVerifierMain.Initialize(docPropMock.Object);


            var normalizedNumber = numberVerifierMain.NormalizedNumber(new SeparatorModel
            {
                MatchValue         = text,
                ThousandSeparators = thousandSep,
                DecimalSeparators  = decimalSep,
                NoSeparator        = false,
                CustomSeparators   = string.Empty
            });

            Assert.Equal("1d55", normalizedNumber);
        }
Esempio n. 7
0
        public void DecimalSeparatorsCommaInsteadOfPeriodErrorMessage(string source, string target)
        {
            var numberVerifierSettings = NumberVerifierRequireLocalizationSettings.SpaceCommaPeriod();

            numberVerifierSettings.Setup(a => a.CustomsSeparatorsAlphanumerics).Returns(false);

            // target settings
            numberVerifierSettings.Setup(d => d.TargetDecimalPeriod).Returns(true);
            numberVerifierSettings.Setup(d => d.TargetDecimalComma).Returns(false);
            numberVerifierSettings.Setup(d => d.TargetThousandsComma).Returns(false);
            numberVerifierSettings.Setup(d => d.TargetThousandsSpace).Returns(false);

            //source settings
            numberVerifierSettings.Setup(s => s.SourceThousandsComma).Returns(true);
            numberVerifierSettings.Setup(s => s.SourceDecimalComma).Returns(true);
            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);

            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            //run initialize method in order to set chosen separators


            var errorMessage = numberVerifierMain.CheckSourceAndTarget(source, target);

            var expectedErrors = new List <string>
            {
                PluginResources.Error_DifferentValues,
                PluginResources.Error_NumberAdded,
            };

            Assert.Equal(expectedErrors, errorMessage.Select(em => em.ErrorMessage));
        }
        public void CheckNumbersAreNotValid(string sourceText, string targetText, string thousandSep, string decimalSep)
        {
            // Arrange
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.CommaPeriod();

            numberVerifierSettings.Setup(d => d.SourceDecimalComma).Returns(false);
            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);

            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            //run initialize method in order to set chosen separators
            var docPropMock = new Mock <IDocumentProperties>();

            numberVerifierMain.Initialize(docPropMock.Object);

            var thousandSeparators = numberVerifierMain.AddCustomSeparators(thousandSep, true);
            var decimalSeparators  = numberVerifierMain.AddCustomSeparators(decimalSep, true);

            // Act
            var sourceResult = numberVerifierMain.GetNumbersTuple(sourceText, decimalSeparators, thousandSeparators, false, false);
            var targetResult = numberVerifierMain.GetNumbersTuple(targetText, decimalSeparators, thousandSeparators, false, false);

            // Assert
            Assert.NotEqual(sourceResult.Item1, targetResult.Item1);
        }
        public void CantFindAlphanumericsNoBreakSpace(string text, string decimalSeparators, string thousandSeparators)
        {
            var iNumberSettingsMock = Utilities.NumberVerifierLocalizationsSettings.RequireLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(iNumberSettingsMock);
            var numberVerifier = new NumberVerifierMain(iNumberSettingsMock.Object);

            var textAlphanumericsList = numberVerifier.GetAlphanumericList(text);

            Assert.True(textAlphanumericsList.Count == 0);
        }
Esempio n. 10
0
        public void FindAlphanumericsWithSpecialCharactersNoBreakSpace(string text)
        {
            var iNumberSettingsMock = NumberVerifierLocalizationsSettings.RequireLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(iNumberSettingsMock);
            var numberVerifier = new NumberVerifierMain(iNumberSettingsMock.Object);

            var textAlphanumericsList = numberVerifier.GetAlphanumericList(text);

            Assert.True(textAlphanumericsList.Item2.Count != 0);
        }
        public NumberTexts OmitZeroChecked(string number)
        {
            var numberVerifierSettings = OmitZeroSettings.OmitZeroCheckedAndPreventLocalization();

            numberVerifierSettings.Setup(s => s.SourceDecimalPeriod).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            _numberValidator.Verify(number, null, numberVerifierSettings.Object, out var normalizedNumbers, out _);

            return(normalizedNumbers);
        }
Esempio n. 12
0
        public void FindFindAlphanumericsWithSpecialCharactersThinSpace(string text, string decimalSeparators, string thousandSeparators)
        {
            var iNumberSettingsMock = Utilities.NumberVerifierLocalizationsSettings.RequireLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(iNumberSettingsMock);
            var numberVerifier = new NumberVerifierMain(iNumberSettingsMock.Object);

            var textAlphanumericsList = numberVerifier.GetAlphanumericList(text);

            Assert.True(textAlphanumericsList.Item2.Count != 0);
        }
Esempio n. 13
0
        public void CantFindAlphanumericsThinSpace(string text)
        {
            var iNumberSettingsMock = NumberVerifierLocalizationsSettings.RequireLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(iNumberSettingsMock);
            var numberVerifier = new NumberVerifierMain(iNumberSettingsMock.Object);

            var textAlphanumericsList = numberVerifier.GetAlphanumericList(text);

            Assert.True(textAlphanumericsList.Item2.Count == 0);
        }
        public List <string> AlphanumericCustomsSeparators(string text)
        {
            var iNumberSettingsMock = NumberVerifierLocalizationsSettings.AllowLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(iNumberSettingsMock);
            var numberVerifier = new NumberVerifierMain(iNumberSettingsMock.Object);

            var textAlphanumericsList = numberVerifier.GetAlphanumericList(text);

            Assert.True(textAlphanumericsList.Item2.Count != 0);
            return(textAlphanumericsList.Item2);
        }
        public NumberTexts GetNormalizedNumberWhenLeadingZeroOmittedAndNotAllowed(string text)
        {
            var iMockSettings = NumberVerifierLocalizationsSettings.AllowLocalization();

            iMockSettings.Setup(s => s.SourceDecimalPeriod).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(iMockSettings);

            _numberValidator.Verify(text, null, iMockSettings.Object, out var normalizedNumber, out _);

            return(normalizedNumber);
        }
Esempio n. 16
0
        public string ReturnNegativeNumbersWithNormalMinusSign(string text, string decimalSeparators, string thousandSeparators)
        {
            var iMockSettings = NumberVerifierLocalizationsSettings.AllowLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(iMockSettings);
            var numberVerifierMain = new NumberVerifierMain(iMockSettings.Object);

            var negativeNumberNormalized = numberVerifierMain.NormalizeNumberWithMinusSign(text);

            Assert.True(!string.IsNullOrEmpty(negativeNumberNormalized));
            return(negativeNumberNormalized);
        }
        public List <string> FindAlphanumericsLettersCombination(string text)
        {
            var iNumberSettingsMock = Utilities.NumberVerifierLocalizationsSettings.AllowLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(iNumberSettingsMock);
            var numberVerifier = new NumberVerifierMain(iNumberSettingsMock.Object);

            var textAlphanumericsList = numberVerifier.GetAlphanumericList(text);

            Assert.True(textAlphanumericsList.Count != 0);
            return(textAlphanumericsList);
        }
        public List <string> FindAlphanumericsNarrowNoBreakSpace(string text, string decimalSeparators, string thousandSeparators)
        {
            var iNumberSettingsMock = Utilities.NumberVerifierLocalizationsSettings.AllowLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(iNumberSettingsMock);
            var numberVerifier = new NumberVerifierMain(iNumberSettingsMock.Object);

            var textAlphanumericsList = numberVerifier.GetAlphanumericList(text);

            Assert.True(textAlphanumericsList.Count != 0);
            return(textAlphanumericsList);
        }
Esempio n. 19
0
        public void CheckNegativeNumbers(string source, string target)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.SpaceCommaPeriod();

            numberVerifierSettings.Setup(d => d.SourceDecimalComma).Returns(true);
            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);


            var errorMessage = numberVerifierMain.CheckSourceAndTarget(source, target);

            Assert.Equal(PluginResources.Error_DifferentValues, errorMessage[0].ErrorMessage);
        }
Esempio n. 20
0
        public string OmitZeroShortFormNegativeNumbers(string text)
        {
            var imockSettings = Utilities.NumberVerifierLocalizationsSettings.AllowLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(imockSettings);
            var numberVerifierMain = new NumberVerifierMain(imockSettings.Object);

            var normalizedNumber = numberVerifierMain.OmitZero(text);

            Assert.Equal(normalizedNumber, "m0.55");

            return(normalizedNumber);
        }
Esempio n. 21
0
        public void OmitZeroLongFormNegativeNumbersMinusSign(string numberWithPeriod, string numberWithComma)
        {
            var imockSettings = Utilities.NumberVerifierLocalizationsSettings.AllowLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(imockSettings);
            var numberVerifierMain = new NumberVerifierMain(imockSettings.Object);

            var normalizedNumberWithPeriod = numberVerifierMain.OmitZero(numberWithPeriod);
            var normalizedNumberWithComma  = numberVerifierMain.OmitZero(numberWithComma);

            Assert.Equal(normalizedNumberWithPeriod, "m0.55");
            Assert.Equal(normalizedNumberWithComma, "m0,55");
        }
        public void WrongAlphanumeric(string source, string target)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.CommaPeriod();

            numberVerifierSettings.Setup(d => d.SourceDecimalComma).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            var errorMessage = ReportModifiedAlphanumerics(source, target, numberVerifierMain);

            Assert.Equal(errorMessage[0].ErrorMessage, PluginResources.Error_AlphanumericsModified);
        }
Esempio n. 23
0
        public void CheckAlphaNumerics_With_WrongNumber(string source, string target)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.CommaPeriod();

            numberVerifierSettings.Setup(d => d.CustomsSeparatorsAlphanumerics).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            var errorMessage = ReportModifiedAlphanumerics(source, target, numberVerifierMain);

            Assert.Equal(PluginResources.Error_AlphanumericsModified, errorMessage[0]?.ErrorMessage);
        }
        public void SameAlphanumericsInListDifferentMinusNoError(string source, string target)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.CommaPeriod();

            numberVerifierSettings.Setup(d => d.SourceDecimalComma).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            var errorMessage = ReportModifiedAlphanumerics(source, target, numberVerifierMain);

            Assert.True(errorMessage.Count == 0);
        }
        public void AlphanumericVerification_CustomSeparator_NoErrors(string source, string target, string customSeparators)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.CommaPeriod();

            numberVerifierSettings.Setup(c => c.AlphanumericsCustomSeparator).Returns(customSeparators);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            var errorMessage = numberVerifierMain.CheckSourceAndTarget(source, target);

            Assert.True(errorMessage.Count == 0);
        }
        public string OmitZeroShortForm(string text)
        {
            var iMockSettings = NumberVerifierLocalizationsSettings.AllowLocalization();

            NumberVerifierLocalizationsSettings.InitSeparators(iMockSettings);
            var numberVerifierMain = new NumberVerifierMain(iMockSettings.Object);

            var normalizedNumber = numberVerifierMain.OmitZero(text);

            Assert.Equal("0.55", normalizedNumber);

            return(normalizedNumber);
        }
        public void AlphanumericVerification_CustomSeparator_WithErrors(string source, string target, string customSeparators)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.CommaPeriod();

            numberVerifierSettings.Setup(c => c.AlphanumericsCustomSeparator).Returns(customSeparators);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            var errorMessage = numberVerifierMain.CheckSourceAndTarget(source, target);

            Assert.Equal(PluginResources.Error_AlphanumericsModified, errorMessage[0].ErrorMessage);
        }
Esempio n. 28
0
        public void CheckAlphaNumerics_With_NoErrorMessage(string source, string target)
        {
            var numberVerifierSettings = SourceSettings.SourceSettingsAndAllowLocalization.CommaPeriod();

            numberVerifierSettings.Setup(d => d.CustomsSeparatorsAlphanumerics).Returns(true);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            var errorMessage = ReportModifiedAlphanumerics(source, target, numberVerifierMain);

            Assert.True(errorMessage.Count == 0);
        }
Esempio n. 29
0
        public string OmitZeroUnchecked(string number)
        {
            var numberVerifierSettings = OmitZeroSettings.OmitZeroUncheckedAndAllowLocalization();
            var methodsMock            = new Mock <INumberVerifierMethods>(MockBehavior.Strict);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);
            var numberVerifierMain = new NumberVerifierMain(numberVerifierSettings.Object);

            numberVerifierMain.NormalizeAlphanumerics(number, new List <string>(), new List <string>(), ".", ".", false, numberVerifierSettings.Object.SourceOmitLeadingZero);
            var normalizedNumber = numberVerifierMain.NormalizedNumber(number, ".", ".", false);

            methodsMock.Verify(m => m.OmitZero(number), Times.Never);
            return(normalizedNumber);
        }
        //#region Omit leading zero option is unchecked

        public string OmitZeroUnchecked(string number)
        {
            var numberVerifierSettings = OmitZeroSettings.OmitZeroUncheckedAndAllowLocalization();

            numberVerifierSettings.Setup(s => s.SourceDecimalPeriod).Returns(true);
            var methodsMock = new Mock <INumberVerifierMethods>(MockBehavior.Strict);

            NumberVerifierLocalizationsSettings.InitSeparators(numberVerifierSettings);

            _numberValidator.Verify(number, null, numberVerifierSettings.Object, out var normalizedNumbers, out _);

            methodsMock.Verify(m => m.OmitZero(number), Times.Never);
            return(normalizedNumbers.Texts[0].Normalized);
        }