Esempio n. 1
0
        public CustomFaker(string locale, double mistakesNumber)
        {
            switch (locale)
            {
            case "en_US":
                this.locale = "en_US";
                break;

            case "ru_RU":
                this.locale = "ru";
                break;

            case "be_BY":
                this.locale = "be";
                break;

            default:
                throw new ArgumentException($"Unsupported locale: {locale}");
            }

            this.mistakesNumber = mistakesNumber;
            nameDataSet         = new Bogus.DataSets.Name(this.locale);
            addressDataSet      = new Bogus.DataSets.Address(this.locale);
            phoneNumbersDataSet = new Bogus.DataSets.PhoneNumbers(this.locale);
            loremDataSet        = new Bogus.DataSets.Lorem(this.locale);
            random = new Random();
        }
Esempio n. 2
0
        public Game gameGenerate()
        {
            var numPlayers   = new Bogus.DataSets.Commerce().Random.Int(1, 3);
            var numMovements = new Bogus.DataSets.Commerce().Random.Int(1, 5);
            var name         = new Bogus.DataSets.Name();
            var word         = new Bogus.DataSets.Hacker();
            var players      = new List <Player>();

            for (var i = 0; i < numPlayers; i++)
            {
                var longitude = new Bogus.DataSets.Address().Longitude();
                var latitude  = new Bogus.DataSets.Address().Latitude();
                var movements = new List <Movement>();
                for (var j = 0; j < numMovements; j++)
                {
                    movements.Add(new Movement()
                    {
                        playedAt = DateTime.UtcNow, word = word.Noun()
                    });
                }
                players.Add(new Player()
                {
                    username = name.FirstName(), joinedAt = DateTime.UtcNow, movements = movements, longitude = longitude, latitude = latitude
                });
            }
            return(new Game()
            {
                owner = name.FirstName(), maxPlayers = 3, type = "TEST", createdAt = DateTime.UtcNow, players = players, state = GameStates.Open
            });
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            // create data sets
            var nameDataSet    = new Bogus.DataSets.Name();
            var addressDataSet = new Bogus.DataSets.Address();
            var phoneDataSet   = new Bogus.DataSets.PhoneNumbers();

            // create list to hold results
            var list = new List <Address>();

            for (var i = 0; i < 780000; i++)
            {
                // generate a result
                var address = new Address();

                address.First = nameDataSet.FirstName();
                address.Last  = nameDataSet.LastName();

                address.Street = addressDataSet.StreetAddress();
                address.City   = addressDataSet.City();
                address.State  = addressDataSet.State();
                address.Zip    = addressDataSet.ZipCode();
                address.Phone  = phoneDataSet.PhoneNumberFormat(0);

                list.Add(address);
            }

            // serialize to output.json
            var json = Newtonsoft.Json.JsonConvert.SerializeObject(list);

            File.WriteAllText("output.json", json);
        }
Esempio n. 4
0
        /// <summary>
        /// Método responsável por criar um usuario para uso no sistema.
        /// </summary>
        /// <returns></returns>
        public Usuario UsuarioPadrao()
        {
            var faker       = new Faker("pt_BR");
            var estadoFaker = new Bogus.DataSets.Address("en");
            var usuario     = new Usuario
            {
                Sexo         = faker.Random.Bool() ? 'F' : 'M',
                PrimeiroNome = faker.Name.FirstName(),
                UltimoNome   = faker.Name.LastName(),
                Password     = "******"
            };

            usuario.Email               = faker.Internet.Email(usuario.PrimeiroNome);
            usuario.DataAniversario     = DateTime.Now.AddYears(-20);
            usuario.Empresa             = faker.Company.CompanyName();
            usuario.EmpresaEndereco     = faker.Address.StreetAddress();
            usuario.Cidade              = faker.Address.City();
            usuario.Estado              = estadoFaker.State();
            usuario.Cep                 = "12345";
            usuario.Pais                = "United States";
            usuario.InformacaoAdicional = faker.Lorem.Lines();
            usuario.TelefoneComDDD      = "(23)34732957";
            usuario.CelularComDDD       = "(55)947345729";
            usuario.EnderecoAlternativo = faker.Random.Bool() ? "Home" : "Work";

            return(usuario);
        }
Esempio n. 5
0
        static void Main()
        {
            var random    = new Randomizer();
            var lorem     = new Bogus.DataSets.Lorem();
            var addresses = new Bogus.DataSets.Address();

            var order = new Order()
            {
                OrderId  = random.Number(1, 100),
                Item     = string.Join(" ", lorem.Letter(100)),
                Quantity = random.Number(1, 10),
                ZipCode  = addresses.ZipCode()
            };

            order.Dump();

            Console.ReadLine();
            var fruit = new[] { "apple", "banana", "orange", "strawberry", "kiwi", "grapefruit" };

            var testOrders = new Faker <Order>()
                             //Ensure all properties have rules. By default, StrictMode is false
                             //Set a global policy by using Faker.DefaultStrictMode
                             .StrictMode(true)
                             //OrderId is deterministic
                             .RuleFor(o => o.OrderId, f => f.Random.Number(1, 100))
                             //Pick some fruit from a basket
                             .RuleFor(o => o.Item, f => f.PickRandom(fruit))
                             //A random quantity from 1 to 10
                             .RuleFor(o => o.Quantity, f => f.Random.Number(1, 10))
                             .RuleFor(o => o.ZipCode, f => f.Address.ZipCode());

            testOrders.Generate(3).ToList().ForEach(o => o.Dump());
            Console.ReadLine();
        }
        /// <summary>
        /// Generates a random address using the Bogus library (a port of Faker.js)
        /// </summary>
        /// <returns></returns>
        private static IEnumerable <Address> RandomAddresses()
        {
            List <Address> addresses = new List <Address>();

            var random = new Random();

            for (int i = 0; i < random.Next(1, 5); i++)
            {
                var bogusAddress = new Bogus.DataSets.Address();


                Country country;
                State   state;

                var countries = Enum.GetValues(typeof(Country));
                var states    = Enum.GetValues(typeof(State));

                if (random.Next(1, 100) > 75)
                {
                    country = (Country)countries.GetValue(random.Next(countries.Length));
                }
                else
                {
                    country = Country.United_States;
                }

                if (country == Country.United_States)
                {
                    state = (State)states.GetValue(random.Next(states.Length));
                }
                else
                {
                    state = State.NA;
                }

                addresses.Add(new Address()
                {
                    HouseNum    = bogusAddress.BuildingNumber(),
                    Street      = bogusAddress.StreetName() + (random.Next() % 2 == 0 ? bogusAddress.StreetSuffix() : ""),
                    City        = bogusAddress.City(),
                    CountryCode = country,
                    StateCode   = state,
                    Zip         = bogusAddress.ZipCode(),
                    Pid         = System.Guid.NewGuid()
                });
            }

            return(addresses);
        }
Esempio n. 7
0
        private static Customer CreateCustomer(_CustomerType type)
        {
            var name    = new Bogus.DataSets.Name();
            var address = new Bogus.DataSets.Address();
            var random  = new Randomizer();

            if (type == _CustomerType.Individual)
            {
                var phoneNo = new Bogus.DataSets.PhoneNumbers();

                return(new IndividualCustomer()
                {
                    FirstName = name.FirstName(),
                    LastName = name.LastName(),
                    CustomerType = type.ToString(),
                    Street = address.StreetName(),
                    City = address.City(),
                    State = address.State(),
                    Zipcode = int.Parse(address.ZipCode("######")),
                    PhoneNo = int.Parse(phoneNo.PhoneNumber("########")),
                    Age = random.Number(18, 100),
                    Gender = (int)random.Enum <_Gender>()
                });
            }
            else if (type == _CustomerType.Enterprise)
            {
                var companyName = new Bogus.DataSets.Company();

                return(new EnterpriseCustomer()
                {
                    FirstName = name.FirstName(),
                    LastName = name.LastName(),
                    CustomerType = type.ToString(),
                    Street = address.StreetName(),
                    City = address.City(),
                    State = address.State(),
                    Zipcode = int.Parse(address.ZipCode("######")),
                    OrganizationName = companyName.CompanyName() + companyName.CompanySuffix(),
                    OrganizationType = random.Enum <_OrganizationType>().ToString()
                });
            }
            else
            {
                return(null);
            }
        }
Esempio n. 8
0
        public Record()
        {
            var randombogus = new Bogus.DataSets.Name.Gender();

            var randomName    = new Bogus.DataSets.Name("en");
            var randomPhone   = new Bogus.DataSets.PhoneNumbers("en");
            var randomAddress = new Bogus.DataSets.Address("en");

            Random rand = new Random();

            if (rand.NextDouble() >= 0.5)
            {
                Sex         = "female";
                randombogus = (Bogus.DataSets.Name.Gender) 1;
            }
            else
            {
                Sex         = "male";
                randombogus = (Bogus.DataSets.Name.Gender) 0;
            }

            //generate race
            //source for stats: 2019 US census beaurau estimates
            var racerand = rand.NextDouble();

            if (racerand <= 0.6)
            {
                Race = "white";
            }
            else if (racerand > 0.6 && racerand <= 0.78)
            {
                Race = "hispanic (of any race)";
            }
            else if (racerand > 0.78 && racerand <= 0.91)
            {
                Race = "black";
            }

            else if (racerand > 0.91 && racerand <= 0.97)
            {
                Race = "asian";
            }
            else if (racerand > 0.97 && racerand <= 0.98)
            {
                Race = "native american or alaskan native";
            }
            else if (racerand > 0.98 && racerand <= 0.985)
            {
                Race = "native hawaiian or other pacific islander";
            }
            else
            {
                Race = "two or more races";
            }


            if (Sex == "male")
            {
                //The multiplier makes taller people slightly heavier. Someone 1.9 meters will be about  8% heavier than someone that's 1.5 meters, compared to without the bonus. Make divisor smaller to make effect more extreme
                HeightInMeters = NormalDistribution.Random(1.8, 0.1);
                //if (HeightInMeters < 2.0) { var heightWeightMultiplier = (1 + (HeightInMeters - 2.0) / 4.0); }
                //else { var heightWeightMultiplier = (2.0 + ((HeightInMeters -2.0)  / 4.0)); }
                Weight    = NormalDistribution.Random(86, 18); //average values and stddev. source: google
                Waistline = 40 + ((Weight - 86) / 4);          //you gain 1in / 4kg
            }
            else
            {
                HeightInMeters = NormalDistribution.Random(1.65, 0.1);
                //if (HeightInMeters < 2.0) { var heightWeightMultiplier = (1 + (HeightInMeters - 2.0) / 4.0); }
                //else { var heightWeightMultiplier = (2.0 + ((HeightInMeters - 2.0) / 4.0)); }

                Weight    = NormalDistribution.Random(78, 14);
                Waistline = 36 + ((Weight - 86) / 4); //in meters. since 1kg causes +/- 0.01m waistline. average just happens to be 1.0
            }

            double weightHeightCorrelation = (.5) * ((HeightInMeters * 100) - 180);

            Weight += weightHeightCorrelation;


            //convert meters to ft/in
            var inchFeet = (HeightInMeters / 0.3048);

            HeightFeet   = (int)inchFeet;
            HeightInches = Math.Floor(Math.Round((inchFeet - HeightFeet) / 0.0833));

            //convert kg to pounds
            WeightInLb = Weight * 2.20462;


            FirstName   = randomName.FirstName(randombogus);
            LastName    = randomName.LastName();
            PhoneNumber = randomPhone.PhoneNumber();
            Address     = randomAddress.StreetAddress();

            Random   gen         = new Random();
            double   probability = gen.NextDouble();
            DateTime start       = new DateTime(DateTime.Today.Year - 85, 1, 1);

            int rangeMax; int rangeMin;

            if (probability <= 0.15)
            {
                rangeMin = 0; rangeMax = (85 * 365 - 65 * 365);
            }
            else
            {
                rangeMin = 21 * 365;  rangeMax = 65 * 365;
            }

            DateOfBirth = start.AddDays(gen.Next(rangeMin, rangeMax));
            Age         = DateTime.Today.Year - DateOfBirth.Year;
            if (DateOfBirth.Date > DateTime.Today.AddYears(-Age))
            {
                Age--;
            }

            BMI = Weight / Math.Pow(HeightInMeters, 2);
        }
Esempio n. 9
0
 public static string DowntownTorontoPostalCode(this Bogus.DataSets.Address address)
 {
     return(address.Random.ArrayElement(CanadaDowntownTorontoPostalCodes));
 }
Esempio n. 10
0
 public GivenAnAddress()
 {
     _address      = new Address();
     _bogusAddress = new Faker().Address;
 }