示例#1
0
        static PayrollFakeService()
        {
            NotSubmittedPayroll = Builder <PayrollNotSubmitted>
                                  .CreateListOfSize(100)
                                  .All()
                                  .With(q => q.SchemeName    = Name.FullName(NameFormats.Standard))
                                  .With(q => q.SchemeNumber  = PayrollNumberGenerator.Generate())
                                  .With(q => q.AgreedDueDate = RandomGeneratorGenerator.Next(DateTime.Today.AddMonths(-1), DateTime.Today.AddMonths(3)))
                                  .With(q => q.PayPointName  = Name.FullName(NameFormats.Standard))
                                  .Build();

            NotProcessedPayroll = Builder <PayrollNotProcessed>
                                  .CreateListOfSize(100)
                                  .All()
                                  .With(q => q.SchemeName   = Name.FullName(NameFormats.Standard))
                                  .With(q => q.SchemeNumber = PayrollNumberGenerator.Generate())
                                  .With(q => q.PayPointName = Name.FullName(NameFormats.Standard))
                                  .Build();

            ProcessedPayroll = Builder <PayrollProcessed>
                               .CreateListOfSize(100)
                               .All()
                               .With(q => q.SchemeName    = Name.FullName(NameFormats.Standard))
                               .With(q => q.SchemeNumber  = PayrollNumberGenerator.Generate())
                               .With(q => q.AgreedDueDate = RandomGeneratorGenerator.Next(DateTime.Today.AddMonths(-1), DateTime.Today.AddMonths(3)))
                               .With(q => q.PayPointName  = Name.FullName(NameFormats.Standard))
                               .Build();
        }
示例#2
0
 static ClaimsPaidService()
 {
     ClaimPaid = Builder <ClaimsPaid>
                 .CreateListOfSize(100)
                 .All()
                 .With(q => q.MemberName            = Name.FullName(NameFormats.Standard))
                 .With(q => q.MemberNumber          = ClaimPaidNumberGenerator.Generate())
                 .With(q => q.SchemeCode            = ClaimPaidNumberGenerator.Generate())
                 .With(q => q.DayOfNotification     = RandomGeneratorGenerator.Next(DateTime.Today.AddMonths(-1), DateTime.Today.AddMonths(3)))
                 .With(q => q.DayInStatus           = RandomGeneratorGenerator.Next(DateTime.Today.AddMonths(-1), DateTime.Today.AddMonths(3)))
                 .With(q => q.ClaimType             = "Withdrawal")
                 .With(q => q.MemberTelephoneNumber = Faker.Phone.Number())
                 .With(q => q.MemberEmail           = Faker.Internet.Email())
                 .Build();
 }
示例#3
0
        public async Task <CreateNewShortUrlCommandResponse> Handle(CreateNewShortUrlCommand request, CancellationToken cancellationToken)
        {
            var slug = request.ShortUrl.Slug;

            if (!string.IsNullOrEmpty(slug))
            {
                var url = await _repository.Get(slug);

                if (url != null)
                {
                    return(new CreateNewShortUrlCommandResponse()
                    {
                        IsConflict = true, ConflictMessage = $"Slug '{url.Slug}' is in use"
                    });
                }
            }

            if (string.IsNullOrEmpty(slug))
            {
                var xeger = new Xeger("[a-z0-9]{5}", new Random());
                slug = xeger.Generate();
            }

            request.ShortUrl.Slug = slug.ToLower();

            var res = await _repository.Create(request.ShortUrl);

            return(new CreateNewShortUrlCommandResponse()
            {
                ShortUrl = res
            });
        }
示例#4
0
        private static Gen <string[]> AlphaStringSetGen(int length, int count)
        {
            var regex = $"[a-z]{{{length}}}";
            var xeger = new Xeger(regex);

            return(Gen.ArrayOf(count, Arb.Generate <bool>().Select(_ => xeger.Generate())));
        }
示例#5
0
        public static String RandomPAN()
        {
            var xeger     = new Xeger(@"[A-Z]{5}\d{4}[A-Z]{1}");
            var randomPAN = xeger.Generate();

            return(randomPAN);
        }
示例#6
0
        public IActionResult Create([FromBody] ShortUrl shortUrl)
        {
            if (!string.IsNullOrEmpty(shortUrl.Slug))
            {
                var url = _shortUrlService.Get(shortUrl.Slug);
                if (url != null)
                {
                    return(Conflict($"Slug '{url.Slug}' is in use"));
                }
            }

            if (string.IsNullOrEmpty(shortUrl.Slug))
            {
                var xeger = new Xeger("[a-z0-9]{5}", new Random());
                shortUrl.Slug = xeger.Generate();
            }

            shortUrl.Slug = shortUrl.Slug.ToLower();

            try
            {
                var res = _shortUrlService.Create(shortUrl);
                return(Ok(res));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(StatusCode(500));
            }
        }
示例#7
0
        private static string GenerateSingleValuedStringTests(BindingDescription bindingDescription)
        {
            var nonMatchTest = "";
            var val          = "A string";

            if (!string.IsNullOrEmpty(bindingDescription.StringRegex))
            {
                var xeger = new Xeger(bindingDescription.StringRegex);
                val = xeger.Generate();

                var nonMatch = @"flkj3332@!!!$

fd333
";
                nonMatchTest = string.Format(Templates.NonMatchTest,
                                             GetValidCSharpIdentifier(bindingDescription.BoundAttributeType.Name),
                                             nonMatch);
            }

            string tests = string.Format(Templates.SingleValuedStringFormatTests,
                                         GetValidCSharpIdentifier(bindingDescription.BoundAttributeType.Name),
                                         val,
                                         nonMatchTest);

            return(tests);
        }
示例#8
0
        public static string GenerateRandomRegistrationPlateNumber()
        {
            string regexString = "[A-Z]{2}-[0-9]{4}-[A-Z]{2}";
            Xeger  generator   = new Xeger(regexString);
            string result      = generator.Generate();

            return(result);
        }
示例#9
0
        static IEnumerable <string> Xegers(string pattern, System.Random rnd)
        {
            var xeger  = new Xeger(pattern, rnd);
            var result = Enumerable.Range(0, 10).Select(x => xeger.Generate());

            result.ToList().ForEach(Console.WriteLine);
            return(result);
        }
示例#10
0
        public static IEnumerable <string> NextStrings(this IRandom random, string expression)
        {
            var xeger = new Xeger(expression, random);

            while (true)
            {
                yield return(xeger.Generate());
            }
        }
示例#11
0
        public string GenerateId(string?id)
        {
            if (string.IsNullOrEmpty(id))
            {
                var pattern = new Xeger("^[0-9a-fA-F]{24}$");
                return(pattern.Generate());
            }

            return(id);
        }
示例#12
0
 private static Gen <string> GenRegex(string pattern)
 {
     return(Gen.Sized(size =>
     {
         var xegar = new Xeger(pattern);
         var count = size < 1 ? 1 : size;
         return Gen.Elements(Enumerable.Range(1, count).Select(i => xegar.Generate()))
         .Resize(count);
     }));
 }
示例#13
0
        private void button1_Click(object sender, EventArgs e)
        {
            var random = new Random();
            var xeger  = new Xeger(txtGenStringRegex.Text, random);

            for (int i = 0; i < 100; i++)
            {
                Debug.Print(xeger.Generate());
            }
        }
示例#14
0
        static LaunchingService()
        {
            //launching complete fake data
            LaunchingCompleted = Builder <LaunchingCompleted>
                                 .CreateListOfSize(100)
                                 .All()
                                 .With(q => q.ClientName  = Name.FullName(NameFormats.Standard))
                                 .With(q => q.QuoteNumber = QuoteNumberGenerator.Generate()).Build();


            // launching Incompleted fake data
            LaunchingInComplete = Builder <LaunchingIncomplete>
                                  .CreateListOfSize(100)
                                  .All()
                                  .With(q => q.ClientName  = Name.FullName(NameFormats.Standard))
                                  .With(q => q.QuoteNumber = QuoteNumberGenerator.Generate())
                                  .With(q => q.Comments    = Lorem.Paragraph(10))
                                  .Build();
        }
示例#15
0
        private void SendMessages(int messagesPerSecond, int batchSize)
        {
            // 'MESSAGE' just sends the message to the client without filtering for a symbol
            int index = 0;

            for (int i = 0; i < messagesPerSecond; i++)
            {
                if (batchSize <= 1)
                {
                    if (index >= _streamSettings.Symbols.Count)
                    {
                        index = 0;
                    }

                    var symbol = _streamSettings.Symbols[index];

                    OnMessageUpdate?.Invoke("MESSAGE", $"{symbol};{_xeger.Generate()}");

                    index++;
                }
                else
                {
                    for (int j = 0; j < batchSize; j++)
                    {
                        if (index >= _streamSettings.Symbols.Count)
                        {
                            index = 0;
                        }

                        var symbol = _streamSettings.Symbols[index];

                        _batchStringBuilder.Append($"{symbol};{_xeger.Generate()}");

                        index++;
                    }

                    OnMessageUpdate?.Invoke("MESSAGE", _batchStringBuilder.ToString());
                }
            }
        }
示例#16
0
        public static string GeneratePassword()
        {
            var rand  = new Random();
            var xeger = new Xeger(PATTERN, rand);

            var password = string.Empty;

            for (int i = default; i < PASSWORD_LENGTH; i++)
            {
                password += xeger.Generate();
            }
            return(password);
        }
示例#17
0
        private string GenerateSecret(int?secretLength)
        {
            if (secretLength == null)
            {
                secretLength = 5;
            }

            var regex = "^[0-9]{" + secretLength + "}$";

            var xeger = new Xeger(regex);

            return(xeger.Generate());
        }
示例#18
0
        private static void Produce(string regex)
        {
            var xeger = new Xeger(regex);

            while (true)
            {
                var sb = new StringBuilder();
                for (int i = 0; i < 1000; ++i)
                {
                    sb.AppendLine(xeger.Generate());
                }
                Console.Write(sb.ToString());
            }
        }
示例#19
0
 static QuotesFakeService()
 {
     IssuedQuotes = Builder <IssuedQuote>
                    .CreateListOfSize(100)
                    .All()
                    .With(q => q.ClientName  = Name.FullName(NameFormats.Standard))
                    .With(q => q.QuoteNumber = QuoteNumberGenerator.Generate())
                    .With(
         q =>
         q.ExpiryDate =
             RandomGeneratorGenerator.Next(DateTime.Today.AddMonths(-1), DateTime.Today.AddMonths(3)))
                    .With(q => q.Expired = q.ExpiryDate < DateTime.Today)
                    .Build();
 }
示例#20
0
        static InstallingService()
        {
            //New Business Installing  Pay Roll Suport In Progress fake data
            payRollSupportProgress = Builder <InstallingPayRollSupportInProgress>
                                     .CreateListOfSize(100)
                                     .All()
                                     .With(q => q.ClientName    = Name.FullName(NameFormats.Standard))
                                     .With(q => q.QuoteNumber   = QuoteNumberGenerator.Generate())
                                     .With(q => q.SchemeName    = Name.FullName(NameFormats.Standard))
                                     .With(q => q.SchemeNumber  = SchemeNumberGenerator.Generate())
                                     .With(q => q.PayPointNamer = Name.FullName(NameFormats.Standard)).Build();


            // New Business Installing Scheme Installed  fake data

            SchemedInstalled = Builder <InstallingSchemeInstalled>
                               .CreateListOfSize(100)
                               .All()
                               .With(q => q.ClientName   = Name.FullName(NameFormats.Standard))
                               .With(q => q.QuoteNumber  = QuoteNumberGenerator.Generate())
                               .With(q => q.SchemeNumber = SchemeNumberGenerator.Generate())
                               .With(q => q.SchemeName   = Name.FullName(NameFormats.Standard))
                               .Build();
        }
示例#21
0
        public static Credential GenerateRandomCredential(string usernameRegex, string passwordRegex)
        {
            if (!usernameRegex.IsValidRegexPattern() ||
                !passwordRegex.IsValidRegexPattern())
            {
                return(null);
            }

            var usernameGenerator = new Xeger(usernameRegex);
            var passwordGenerator = new Xeger(passwordRegex);

            var credential = new Credential
            {
                Username = usernameGenerator.Generate(),
                Password = passwordGenerator.Generate()
            };

            return(credential);
        }
示例#22
0
        public static PersonalInformation GenerateRandomPersonalInformation(string familyNameRegex,
                                                                            string givenNameRegex)
        {
            if (!familyNameRegex.IsValidRegexPattern() ||
                !givenNameRegex.IsValidRegexPattern())
            {
                return(null);
            }

            var familyNameGenerator = new Xeger(familyNameRegex);
            var givenNameGenerator  = new Xeger(givenNameRegex);

            var personalInformation = new PersonalInformation
            {
                FamilyName = familyNameGenerator.Generate(),
                GivenName  = givenNameGenerator.Generate()
            };

            return(personalInformation);
        }
示例#23
0
        private string RandomizeString(Aspect aspect)
        {
            string randomValue = string.Empty;

            if (aspect.StringType != StringType.Regex)
            {
                int stringLength     = RandomCore.Next(aspect.Minimum, aspect.Maximum);
                int characterCodeMax = characterCodes[aspect.StringType].Count - 1;
                for (int loopCounter = 0; loopCounter < stringLength; loopCounter++)
                {
                    randomValue += characterCodes[aspect.StringType]
                                   .ElementAt(RandomCore.Next(0, characterCodeMax)).Value;
                }
            }
            else
            {
                Xeger regexStringGenerator = new Xeger(aspect.RegexPattern);
                randomValue = regexStringGenerator.Generate();
            }
            return(randomValue);
        }
示例#24
0
        public void It_generates_the_correct_property_and_tests_for_a_binding_thats_not_required()
        {
            // Arrange
            var regExString        = "8";
            var bindingDescription = new BindingDescription
            {
                DisplayName        = "First Choice for Summary Part I",
                Description        = "First Choice for Summary Part II",
                Required           = false,
                StringRegex        = regExString,
                BoundAttributeType = new AttributeTypeDescription
                {
                    Multivalued = false,
                    DataType    = "String",
                    DisplayName = "Second Choice for Summary Part I",
                    Description = "Second Choice for Summary Part II",
                    Name        = "PropertyName"
                },
            };
            var xeger         = new Xeger(regExString);
            var match         = xeger.Generate();
            var nonMatch      = @"flkj3332@!!!$

fd333
";
            var expectedTests = string.Format(TestData.BindingNotRequiredTests, match, nonMatch);

            var it = new IdmCodeGenerator(null);

            // Act
            Tuple <string, string> result = it.GenerateAPropertyAndItsTests(bindingDescription);

            // Assert
            ExAssert.AreEqual(TestData.BindingNotRequired, result.Item1);
            ExAssert.AreEqual(expectedTests, result.Item2);
        }
示例#25
0
        public static string GenerateString(Format format, string pattern)
        {
            if (format == Format.DateTime)
            {
                var currentDate = DateTime.Now;
                return($"\"{currentDate.ToString("s", CultureInfo.InvariantCulture)}\"");
            }

            if (pattern == null)
            {
                return("\"String text\"");
            }

            try
            {
                // Generate a string based on the pattern regex
                var regexGenerator = new Xeger(pattern, new Random());
                return($"\"{regexGenerator.Generate()}\"");
            }
            catch
            {
                return("\"Invalid pattern\"");
            }
        }
示例#26
0
        public static Int64 RandomInt(int length = 4)
        {
            var xeger = new Xeger(@"\d{" + length + "}");

            return(Convert.ToInt64(xeger.Generate()));
        }
示例#27
0
 /// <summary>
 /// 生成
 /// </summary>
 /// <returns></returns>
 public string Generate()
 {
     return(IsNull() || string.IsNullOrEmpty(Options.Pattern) ? null : _generator.Generate());
 }
示例#28
0
 public void GeneratedTextIsCorrect(string pattern)
 {
     var sut = new Xeger(pattern);
     var result = Enumerable.Range(1, 3).Select(i => sut.Generate()).ToArray();
     Array.ForEach(result, regex => Assert.True(Regex.IsMatch(regex, pattern)));
 }
示例#29
0
        protected static string GenerateString(string regexExpression)
        {
            var generator = new Xeger(regexExpression);

            return(generator.Generate());
        }
示例#30
0
        public ActionResult GravaDados(int?id, int?qtd, decimal?vl)
        {
            if (id == null || qtd == null || vl == null)
            {
                return(RedirectToAction("Index"));
            }
            if (vl < 0 || qtd < 0)
            {
                return(RedirectToAction("Index"));
            }
            else if (id != null && qtd != null && vl != null)
            {
                if (ModelState.IsValid)
                {
                    string identificador = "P_A000_C";
                    //Uso do pacote Fare para gerar o identificador de forma aleatória seguindo o padrão "P_[**letra, seguida de 3 números e underline**]C"
                    String regex     = "P_[A-Z][0-9]{3}_C";
                    Xeger  generator = new Xeger(regex);
                    identificador = generator.Generate();

                    int     pedidoID   = 0;
                    decimal?valorTotal = 0;
                    //Eu poderia ter usado um count para verificar se há registros no banco, mas o id do primeiro registro será
                    //1, então faço uma única consulta, pois precisarei do pedidoID em seguida.
                    pedidoID = int.Parse(db.Pedidos.OrderByDescending(p => p.ID).Select(r => r.ID).FirstOrDefault().ToString());
                    //Verifica se já existe algum registro no banco
                    if (pedidoID > 0)
                    {
                        //Não cria um novo pedido, pois já existe um aberto
                        //status == 1 -> Pedido aberto
                        //status == 0 -> Pedido fechado
                        if (int.Parse(db.Pedidos.OrderByDescending(p => p.status).Select(r => r.status).FirstOrDefault().ToString()) == 1)
                        {
                            //Item com o mesmo valor já adicionado
                            if (db.ItensDoPedido.Where(p => p.ItemID == id).Where(p => p.Valor == vl).Where(p => p.PedidoID == pedidoID).Count() > 0)
                            {
                                return(RedirectToAction("ErroItem"));
                            }
                            else
                            {
                                //Não cria pedido, só adiciona os itens no que já está aberto
                                ItensDoPedido ip = new ItensDoPedido {
                                    PedidoID = pedidoID, ItemID = id, Quantidade = qtd, Valor = vl
                                };
                                db.ItensDoPedido.Add(ip);
                                db.SaveChanges();

                                //Atualiza o valor total
                                valorTotal = decimal.Parse(db.Pedidos.Where(p => p.ID == pedidoID).Select(r => r.ValorTotal).FirstOrDefault().ToString());
                                var pedidosEdit = db.Pedidos.FirstOrDefault(p => p.ID == pedidoID);
                                pedidosEdit.ValorTotal = (vl * qtd) + valorTotal;
                                db.SaveChanges();
                            }
                        }
                        //Cria um novo pedido e com o status em aberto
                        else
                        {
                            Pedidos pedidos = new Pedidos {
                                Identificador = identificador, Descricao = "Pedido", ValorTotal = 0, status = 1
                            };
                            db.Pedidos.Add(pedidos);
                            db.SaveChanges();
                            pedidoID = int.Parse(db.Pedidos.OrderByDescending(p => p.ID).Select(r => r.ID).FirstOrDefault().ToString());
                            ItensDoPedido ip = new ItensDoPedido {
                                PedidoID = pedidoID, ItemID = id, Quantidade = qtd, Valor = vl
                            };
                            db.ItensDoPedido.Add(ip);
                            db.SaveChanges();

                            //Atualiza o valor total
                            var pedidosEdit = db.Pedidos.FirstOrDefault(p => p.ID == pedidoID);
                            pedidosEdit.ValorTotal = vl * qtd;
                            db.SaveChanges();
                        }
                    }
                    //Cria o primeiro pedido no banco
                    else
                    {
                        Pedidos pedidos = new Pedidos {
                            Identificador = identificador, Descricao = "Pedido", ValorTotal = 0, status = 1
                        };
                        db.Pedidos.Add(pedidos);
                        db.SaveChanges();
                        pedidoID = int.Parse(db.Pedidos.OrderByDescending(p => p.ID).Select(r => r.ID).FirstOrDefault().ToString());
                        ItensDoPedido ip = new ItensDoPedido {
                            PedidoID = pedidoID, ItemID = id, Quantidade = qtd, Valor = vl
                        };
                        db.ItensDoPedido.Add(ip);
                        db.SaveChanges();

                        //Atualiza o valor total
                        valorTotal = decimal.Parse(db.Pedidos.Where(p => p.ID == pedidoID).Select(r => r.ValorTotal).FirstOrDefault().ToString());
                        var pedidosEdit = db.Pedidos.FirstOrDefault(p => p.ID == pedidoID);
                        pedidosEdit.ValorTotal = (vl * qtd) + valorTotal;
                        db.SaveChanges();
                    }
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
示例#31
0
 public string XEGER_PASSWORD() => xeger.Generate();