public void ThrowArgumentOutOfRangeExceptionIfTheMinValueIsHigherThanTheMax()
        {
            var originalValue = 999999;

            Action action = () => FormattingOptionProcessor.GenerateRandomNumber(originalValue.ToString(CultureInfo.InvariantCulture), GenerateInvalidArgs());

            action.Should().Throw <ArgumentOutOfRangeException>();
        }
        public void ReplaceTheDefaultMinMaxValuesIfThosArgumentsArePassed()
        {
            var originalValue = 999999;

            var newValue = FormattingOptionProcessor.GenerateRandomNumber(originalValue.ToString(CultureInfo.InvariantCulture), GenerateValidArgs());

            newValue.Should().NotBe(originalValue);
        }
        public void GenerateARandomNumberThatIsDifferentToTheOriginalValue()
        {
            var originalValue = 867489;

            var newValue = FormattingOptionProcessor.GenerateRandomNumber(originalValue.ToString(CultureInfo.InvariantCulture), GenerateValidArgs());

            newValue.Should().NotBe(originalValue);
        }
        public void Setup()
        {
            InitializeProperties();

            ObfuscationLookup lookups = new ObfuscationLookup("testlookup.csv", CreateDataRows());

            var mockLookup = new Mock <FormattingOptionLookup>();

            mockLookup.Setup(a => a.GetObfuscationLookup(It.IsAny <string>()))
            .Returns(lookups);

            systemUnderTest = new FormattingOptionProcessor(mockLookup.Object);
        }
        private string Format(string originalValue, FieldToBeObfuscated field, Dictionary <string, object> metadataParameters)
        {
            List <string> obfuscatedStrings = new List <string>();

            foreach (var arg in field.ObfuscationFormatArgs)
            {
                switch (arg.FormatType)
                {
                case ObfuscationFormatType.RandomString:
                    obfuscatedStrings.Add(optionProcessor.GenerateRandomString(originalValue, arg));
                    break;

                case ObfuscationFormatType.RandomNumber:
                    obfuscatedStrings.Add(FormattingOptionProcessor.GenerateRandomNumber(originalValue, arg).ToString(CultureInfo.InvariantCulture));
                    break;

                case ObfuscationFormatType.Lookup:
                    obfuscatedStrings.Add(optionProcessor.GenerateFromLookup(originalValue, arg));
                    break;
                }
            }

            string replacementString = string.Format(CultureInfo.InvariantCulture, field.ObfuscationFormat, obfuscatedStrings.ToArray());

            if (metadataParameters != null && metadataParameters.ContainsKey("maxlength"))
            {
                var maxLength = (int)metadataParameters["maxlength"];

                if (replacementString.Length > maxLength)
                {
                    replacementString = replacementString.Substring(0, maxLength);
                }
            }

            return(replacementString);
        }
 public ObfuscationFormattingDouble(FormattingOptionProcessor processor)
 {
     optionProcessor = processor;
 }
Пример #7
0
 public ObfuscationFormattingString(FormattingOptionProcessor processor)
 {
     optionProcessor = processor;
 }
 public void Setup()
 {
     InitializeProperties();
     systemUnderTest = new FormattingOptionProcessor();
 }
 public void Setup()
 {
     systemUnderTest = new FormattingOptionProcessor();
 }