Ejemplo n.º 1
0
        private static void OutputToConsole(CommandLineArgs cla, string template)
        {
            var config = new GenerationConfig();

            if (!string.IsNullOrEmpty(cla.Seed))
            {
                config.Seed = cla.Seed;
            }

            if (!string.IsNullOrEmpty(cla.NamedPatterns))
            {
                cla.NamedPatterns.Split(';').ToList().ForEach(config.PatternFiles.Add);
            }

            int ct = 0;

            while (ct < cla.Count)
            {
                string item = "";
                if (!string.IsNullOrEmpty(cla.Pattern))
                {
                    item = AlphaNumericGenerator.GenerateFromPattern(template, config: config);
                }
                else
                {
                    item = AlphaNumericGenerator.GenerateFromTemplate(template, config);
                }
                Console.WriteLine(item);
                ct++;
            }
        }
        public void ValidPhoneNumber_ShouldReturn_ListofAlphaNumbersAndNoErrors()
        {
            //ARRANGE
            var testPhoneNumber     = "202 256 6987";
            var testPhoneNumberChar = new char[] { '2', '0', '2', '2', '5', '6', '6', '9', '8', '7' };


            var IPhoneNumberUtilityMock = new MockPhoneNumberUtility();

            IPhoneNumberUtilityMock.MockIsValidPhoneNumber(testPhoneNumber, "US", true);
            IPhoneNumberUtilityMock.MockGetPhoneNumberDigitsOnly(testPhoneNumber, "US", testPhoneNumberChar);

            var _alphaNumericGenerator = new AlphaNumericGenerator(IPhoneNumberUtilityMock.Object);

            var listOfNumbers = AlphaNumericGeneratorHelper.GenerateAlphaNumCombinations(testPhoneNumberChar).Select(phoneNum => new PhoneNumberDto {
                Phone = phoneNum
            }).ToList();
            var expectedResults = new Result <GenerateAlphaNumResponseDto>();

            expectedResults.Data = new GenerateAlphaNumResponseDto {
                AlphaNumbers = listOfNumbers, OriginalPhoneNumber = testPhoneNumber
            };
            expectedResults.Success = true;

            //ACT
            var actualResults = _alphaNumericGenerator.GenerateAlphaNumCombinations(testPhoneNumber, "US");

            //ASSERT
            Assert.NotNull(actualResults);
            Assert.Equal(expectedResults.Data.AlphaNumbers.Count(), actualResults.Data.AlphaNumbers.Count());
            Assert.Equal(expectedResults.Success, actualResults.Success);
            Assert.Null(actualResults.Errors);
        }
Ejemplo n.º 3
0
 public void AlphaNumericGenerator()
 {
     IGenerator<string> alphaNumericGen = new AlphaNumericGenerator(10);
     var alphaNumeric = alphaNumericGen.Generate();
     Assert.IsNotNull(alphaNumeric);
     Assert.AreEqual(10, alphaNumeric.Length);
 }
        public void InValidPhoneNumber_ShouldReturn_ResultObjectWithErrorsAndEmptyPhoneNumListAndSuccessFlagFalse()
        {
            //ARRANGE
            var testPhoneNumber     = "202 256 6987987";
            var testPhoneNumberChar = new char[] { '2', '0', '2', '2', '5', '6', '6', '9', '8', '7', '9', '8', '7' };


            var IPhoneNumberUtilityMock = new MockPhoneNumberUtility();

            IPhoneNumberUtilityMock.MockIsValidPhoneNumber(testPhoneNumber, "US", true);
            IPhoneNumberUtilityMock.MockGetPhoneNumberDigitsOnly(testPhoneNumber, "US", testPhoneNumberChar);

            var _alphaNumericGenerator = new AlphaNumericGenerator(IPhoneNumberUtilityMock.Object);


            var expectedResults = new Result <GenerateAlphaNumResponseDto>();

            expectedResults.Data    = null;
            expectedResults.Success = false;

            //ACT
            var actualResults = _alphaNumericGenerator.GenerateAlphaNumCombinations(testPhoneNumber, "US");

            //ASSERT
            Assert.NotNull(actualResults);
            Assert.Null(expectedResults.Data);
            Assert.Equal(expectedResults.Success, actualResults.Success);
            Assert.NotNull(actualResults.Errors);
        }
Ejemplo n.º 5
0
        private void OnRequestIntroducerRegistrationMessageReceived(UnconnectedMessageEventArgs <RequestIntroducerRegistrationMessage> e)
        {
            string novaId = String.Empty;

            do
            {
                novaId = AlphaNumericGenerator.Generate(3, GeneratorOptions.AlphaNumeric);
            } while (MachineLookupTable.IdExists(novaId));

            e.Message.Machine.NovaId         = novaId;
            e.Message.Machine.PublicEndPoint = e.From; // For introduction, one method below
            MachineLookupTable.Add(novaId, new LookupMachine(e.Message.Machine));

            NumMachinesRegistered++;

            if (OnMachineRegistered != null)
            {
                OnMachineRegistered(this, new MachineRegisteredEventArgs {
                    Machine = e.Message.Machine
                });
            }

            Network.SendUnconnectedMessage(new ResponseIntroducerRegistrationSucceededMessage {
                Machine = e.Message.Machine
            }, e.From);
        }
Ejemplo n.º 6
0
        public void Can_Throw_Exception_Mixed_Pattern_With_Invalid_Random_Length_Min_Max()
        {
            string pattern;

            pattern = "(L){10,0}";
            var text = AlphaNumericGenerator.GenerateFromPattern(pattern);
        }
Ejemplo n.º 7
0
        public void Can_Generate_Simple_Patterns()
        {
            var    pattern = @"\L\L\L\L\L\L-\L\L-\L\L\L\L\L";
            string text    = AlphaNumericGenerator.GenerateFromPattern(pattern);

            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            Assert.AreEqual(15, text.Length);
            StringAssert.Matches(text, new Regex("[A-Z]{6}-[A-Z]{2}-[A-Z]{5}"));

            pattern = @"\l\l\l\l\l\l";
            text    = AlphaNumericGenerator.GenerateFromPattern(pattern);
            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            Assert.AreEqual(6, text.Length);
            StringAssert.Matches(text, new Regex("[a-z]*"));

            pattern = @"\d\d\d\d\d\d\L\L\L\L\l\l\l\l";
            text    = AlphaNumericGenerator.GenerateFromPattern(pattern);
            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            Assert.AreEqual(14, text.Length);
            StringAssert.Matches(text, new Regex("[0-9]{6}[A-Z]{4}[a-z]{4}"));

            pattern = @"[1-9]\d\d-\d\d-\d\d\d\d";
            text    = AlphaNumericGenerator.GenerateFromPattern(pattern);
            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            Assert.AreEqual(11, text.Length);
            StringAssert.Matches(text, new Regex(@"[1-9]\d{2}-\d{2}-\d{4}"));

            //Test for escaped characters.
            pattern = @"L\LLLLL";
            text    = AlphaNumericGenerator.GenerateFromPattern(pattern);
            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            Assert.AreEqual(6, text.Length);
            StringAssert.Matches(text, new Regex("L[A-Z]{1}LLLL"));
        }
Ejemplo n.º 8
0
        public Task <PasswordGeneratedEventArgs> GeneratePasswordAsTask()
        {
            Trace.WriteLine("Ran");
            var tcs = RegisterAsTask <PasswordGeneratedEventArgs>(ref OnNewPasswordGenerated);

            var childTask = Task <PasswordGeneratedEventArgs> .Factory.StartNew(() =>
            {
                Provider.ServerMachine.Identity     = MachineIdentity.GetCurrentIdentity();
                Provider.ServerMachine.Password     = AlphaNumericGenerator.Generate(2, GeneratorOptions.Numeric);
                Provider.ServerMachine.PasswordHash = HashUtil.ComputeHash(Provider.ServerMachine.Password, HashType.SHA512);

                var newPasswordEventArgs = new PasswordGeneratedEventArgs {
                    NewPassword = Provider.ServerMachine.Password
                };

                if (OnNewPasswordGenerated != null)
                {
                    OnNewPasswordGenerated(this, newPasswordEventArgs);
                }

                return(newPasswordEventArgs);
            }, TaskCreationOptions.AttachedToParent);

            return(tcs.Task);
        }
Ejemplo n.º 9
0
        public void Can_Generate_Range_Complex()
        {
            var    template = @"<<\C\C\C-[0-9]{6}>>,<<(818|33)>>,<<[1-9]\d\d-\d\d-\d\d\d\d>>,,GHI,Enroll,<<[1-12]/[1-28]/[1960-2000]>>,<<(M|F)>>,<<\d \L\v\l\l (st|rd|ave|blv)>>,,<<Dallas>>,<<(TX|GA|TN|FL)>>,<<[3000-5000]>>,<<[1-12]/[1-28]/[2005-2014]>>,<<2014-[1-12]-[1-28]T:[0-24]:[0-60]:[0-60]>>,<<[20-30]>>,<<[10-20]>>,<<[1-12]/[1-28]/[2014]>>,N,,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
        }
Ejemplo n.º 10
0
        public void Can_Generate_Repeat_Symbol_Inside_Group2()
        {
            var pattern = @"(\w(\d{2}|\v{2})\w{3})";
            var text    = AlphaNumericGenerator.GenerateFromPattern(pattern);

            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"\w(\d{2}|[aeiou]{2})\w{3}"));
        }
Ejemplo n.º 11
0
        public void Can_Generate_Repeat_Character_Inside_Group4()
        {
            var pattern = @"(\d(\\)\d)";
            var text    = AlphaNumericGenerator.GenerateFromPattern(pattern);

            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"^(\d(\\)\d$)"));
        }
Ejemplo n.º 12
0
        public void Can_Generate_From_Template_for_ReadMe2()
        {
            var    template = @"<<aa[1-9]\d\d-\d\d-\d\d\d\d>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"aa[1-9]\d{2}-\d{2}-\d{4}"));
        }
Ejemplo n.º 13
0
        public void Can_Generate_From_Pattern_With_Alternatives()
        {
            var    template = @"Alternatives <<\C|(\c){10}|\V\V\V|\v{2,3}>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"Alternatives ([BCDFGHJKLMNPQRSTVWXYZ]{1}|[bcdfghjklmnpqrstvwxyz]{10}|[AEIOU]{3}|[aeiou]{2,3})"));
        }
Ejemplo n.º 14
0
        public void Can_Generate_Zero_Repeats()
        {
            var pattern = @"\L\L\d\d";
            var text    = AlphaNumericGenerator.GenerateFromPattern(pattern);

            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"^[A-Z]{2}[0-9]{2}$"));
        }
Ejemplo n.º 15
0
        public void Can_Generate_Range_Numeric4()
        {
            var    template = @"<<(.[100-101]){1,3}>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"^(.(100|101))?(.(100|101))?(.(100|101))?$"));
        }
Ejemplo n.º 16
0
        public void Can_Escape_Template()
        {
            var    template = @"Generated \<<LL>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"Generated \\<<LL>>"));
        }
Ejemplo n.º 17
0
        public void Can_Generate_Range_Numeric5()
        {
            var    template = @"<<[1-8]>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"^[1-8]$"));
        }
Ejemplo n.º 18
0
        public void Can_Generate_Range_Repeated_Set3()
        {
            var    template = @"<<([W-X]{10,100}[1-9]{10,100})>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"^[W-X]{10,100}[1-9]{10,100}$"));
        }
Ejemplo n.º 19
0
        public void Can_Generate_Range_Set_Lower()
        {
            var    template = @"<<[a-i]>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"^[abcdefghi]{1}$"));
        }
Ejemplo n.º 20
0
        public void Documentation_Builder()
        {
            var template = System.IO.File.ReadAllText("README.template.md");

            var text = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine(text);
        }
Ejemplo n.º 21
0
        public void Can_Generate_Repeat_Symbol()
        {
            var pattern = @"\L{3}";
            var text    = AlphaNumericGenerator.GenerateFromPattern(pattern);

            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"[A-Z]{3}"));
        }
Ejemplo n.º 22
0
        public void Can_Generate_Expressions_With_Alternates2()
        {
            var pattern = @"(\L\L|\d\d|[AEIOU]|[100-120])";
            var text    = AlphaNumericGenerator.GenerateFromPattern(pattern);

            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"^([A-Z]{2}|[0-9]{2}|[AEIOU]|\d\d\d)$"));
        }
Ejemplo n.º 23
0
        public void Can_Generate_From_Template_with_Symbols()
        {
            var    template = @"Generated <<L\L>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"Generated [L][A-Z]"));
        }
Ejemplo n.º 24
0
        public void Can_Generate_Complex1()
        {
            var pattern = @"\{'\w':('\w{3,25}'|[1-100])\}";
            var text    = AlphaNumericGenerator.GenerateFromPattern(pattern);

            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"^\{'\w':('\w{3,25}'|\d{1,3})\}$"));
        }
Ejemplo n.º 25
0
        public void Can_Generate_From_Template_With_Alternative_Groups()
        {
            var    template = @"<<(\C)|\c{10}|(\V\V\V){20}|(\v\v\v\v\v){2,3}>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"[BCDFGHJKLMNPQRSTVWXYZ]{1}|[bcdfghjklmnpqrstvwxyz]{10}|[AEIOU]{60}|[aeiou]{10,15}"));
        }
Ejemplo n.º 26
0
        public void Can_Generate_From_Template_Multiple()
        {
            var    template = @"Generated <<\L\L>> and <<(\d){5}>> with <<\d>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"Generated [A-Z]{2} and [0-9]{5} with [0-9]"));
        }
Ejemplo n.º 27
0
        public void Can_Generate_AlphaNumeric()
        {
            var    pattern = @"\L\l\V\v\C\c\d\d";
            string text    = AlphaNumericGenerator.GenerateFromPattern(pattern);

            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"[A-Z]{1}[a-z]{1}[AEIOU]{1}[aeiou]{1}[QWRTYPSDFGHJKLZXCVBNM]{1}[qwrtypsdfghjklzxcvbnm]{1}[\d]{1}[\d]{1}"));
        }
Ejemplo n.º 28
0
        public void Can_Generate_MultipleRange_Set2()
        {
            var    template = @"<<[1-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]>>";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"^[1-9]{1}[0-9]{1}[0-9]{1}-[0-9]{1}[0-9]{1}-[0-9]{1}[0-9]{1}[0-9]{1}[0-9]{1}$"));
        }
Ejemplo n.º 29
0
        public void Can_Generate_Correct_Output_from_Negated_Set_Range_Multiple_Repeated()
        {
            var pattern = @"[^A-Za-z]{10}";
            var text    = AlphaNumericGenerator.GenerateFromPattern(pattern);

            Console.WriteLine("'" + pattern + "' produced '" + text + "'");
            Assert.IsTrue(Regex.IsMatch(text, "^" + pattern + "$"));
        }
Ejemplo n.º 30
0
        public void AlphaNumericGenerator()
        {
            IGenerator <string> alphaNumericGen = new AlphaNumericGenerator(10);
            var alphaNumeric = alphaNumericGen.Generate();

            Assert.IsNotNull(alphaNumeric);
            Assert.AreEqual(10, alphaNumeric.Length);
        }
Ejemplo n.º 31
0
        public void Can_Generate_From_Template_for_ReadMe1()
        {
            var    template = @"Hi there <<\L\v{0,2}\l{0,2}\v \L\v{0,2}\l{0,2}\v{0,2}\l{0,2}\l>> how are you doing?";
            string text     = AlphaNumericGenerator.GenerateFromTemplate(template);

            Console.WriteLine("'" + template + "' produced '" + text + "'");
            StringAssert.Matches(text, new Regex(@"Hi there [A-Z][aeiou]{0,2}[a-z]{0,2}[aeiou] [A-Z][aeiou]{0,2}[a-z]{0,2}[aeiou]{0,2}[a-z]{0,2}[a-z] how are you doing\?"));
        }