Exemplo n.º 1
0
        public void GenerateSexShouldGenerateRandomSexes()
        {
            int maleCount   = 0;
            int femaleCount = 0;
            int count       = 9999;

            for (int i = 0; i < count; i++)
            {
                var sex = CustomerSeeder.GenerateSex();
                switch (sex)
                {
                case CustomerSeeder.Sex.Male:
                    maleCount++;
                    break;

                case CustomerSeeder.Sex.Female:
                    femaleCount++;
                    break;

                default:
                    break;
                }
            }

            Debug.WriteLine("Male count: {0}, Female count {1}",
                            maleCount, femaleCount);

            Assert.IsTrue(femaleCount > count / 3);
        }
Exemplo n.º 2
0
 protected override void Seed(TestDb context)
 {
     Console.WriteLine("Seeding Data..");
     CustomerSeeder.Seed(context, RELATIVE_FOLDER_DATA_SOURCES);
     RaceSeeder.Seed(context, RELATIVE_FOLDER_DATA_SOURCES);
     BetSeeder.Seed(context, RELATIVE_FOLDER_DATA_SOURCES);
 }
Exemplo n.º 3
0
        public void PhoneNumberGeneratorShouldGenerateRandomNumbers()
        {
            var uniqueNumbers = new HashSet <string>();
            int count         = 9999;

            for (int i = 0; i < count; i++)
            {
                string number = CustomerSeeder.GeneratePhoneNumber();
                uniqueNumbers.Add(number);
            }

            Assert.IsTrue(9500 < uniqueNumbers.Count);
        }
Exemplo n.º 4
0
        public void NextCustomerShouldGenerateRandomCustomers()
        {
            var uniqueCustomers = new HashSet <Customer>();
            int count           = 1000;

            for (int i = 0; i < count; i++)
            {
                var customer = CustomerSeeder.NextCustomer();
                Debug.WriteLine(customer.FirstName);
                Debug.WriteLine(customer.LastName);
                Debug.WriteLine(customer.PhoneNumber);
                uniqueCustomers.Add(customer);
            }

            Assert.AreEqual(count, uniqueCustomers.Count);
        }
Exemplo n.º 5
0
        protected override void Seed(TestDb context)
        {
            var dbName = context.Database.GetDbConnection().Database;

            Console.WriteLine($"Deleting {dbName}..");
            context.Database.EnsureDeleted();

            Console.WriteLine($"Creating {dbName}..");
            context.Database.EnsureCreated();

            Console.WriteLine("Running Migration..");
            context.Database.Migrate();

            Console.WriteLine("Seeding Data..");
            CustomerSeeder.Seed(context, RELATIVE_FOLDER_DATA_SOURCES);
            RaceSeeder.Seed(context, RELATIVE_FOLDER_DATA_SOURCES);
            BetSeeder.Seed(context, RELATIVE_FOLDER_DATA_SOURCES);
        }
Exemplo n.º 6
0
        public void GenerateNamesShouldGenerateRandomNames()
        {
            var uniqueNames = new HashSet <string>();
            int count       = 9999;

            for (int i = 0; i < count; i++)
            {
                var    sex       = CustomerSeeder.GenerateSex();
                var    name      = CustomerSeeder.GenerateName(sex);
                string firstName = name["first"];
                string lastName  = name["last"];
                string fullName  = firstName + " " + lastName;
                // Debug.WriteLine(fullName);
                uniqueNames.Add(fullName);
            }
            // 944 = maximum different combinations
            Assert.AreEqual(944, uniqueNames.Count);
        }
        protected override void Seed(MyDbContext context)
        {
            //  This method will be called after migrating to the latest version.
            //ClearDatabase<MyDbContext>();
            context = new MyDbContext();

            #region Seeding ApplicationUsers
            bool exists = context.Users
                          .Any(u => u.UserName == "*****@*****.**");

            if (!exists)
            {
                var store   = new UserStore <ApplicationUser>(context);
                var manager = new UserManager <ApplicationUser>(store);
                var user    = new ApplicationUser
                {
                    UserName    = "******",
                    Email       = "*****@*****.**",
                    PhoneNumber = "088888888",
                    UserDetails = new UserDetails
                    {
                        FirstName   = "Ivan",
                        LastName    = "Petrov",
                        CompanyName = "Auto Repair",
                        City        = "Ruse"
                    }
                };

                manager.Create(user, "password");
                #endregion

                #region Seeding customers and their cars
                var currentUser   = manager.FindByEmail("*****@*****.**");
                var customersList = new List <Customer>();
                var cars          = new List <Car>();

                for (int i = 0; i < 40; i++)
                {
                    var customer = CustomerSeeder.NextCustomer(currentUser);
                    for (int j = 0; j < 3; j++)
                    {
                        var car = CarSeeder.NextCar(currentUser, customer);
                        cars.Add(car);
                        customer.Cars.Add(car);
                    }
                    customersList.Add(customer);
                }

                customersList.ForEach(c => context.Customers.Add(c));
                context.SaveChanges();
                #endregion

                #region Suppliers seeding
                var suppliersToAdd = new List <Supplier>
                {
                    new Supplier
                    {
                        Name = "No supplier",
                        DiscountPercentage = 0.0m,
                        User      = currentUser,
                        IsDeleted = true,
                        IsDefault = true
                    },
                    new Supplier
                    {
                        Name = "Euro 07",
                        DiscountPercentage = 45.0m,
                        City         = "Rousse",
                        WebsiteUrl   = "http://euro07.bg",
                        EmailAddress = "*****@*****.**",
                        SkypeName    = "euro07.ruse",
                        User         = currentUser
                    },
                    new Supplier
                    {
                        Name = "Auto Plus",
                        DiscountPercentage = 33.0m,
                        City         = "Rousse",
                        WebsiteUrl   = "http://autoplus.bg",
                        EmailAddress = "*****@*****.**",
                        SkypeName    = "autoplus",
                        User         = currentUser
                    },
                    new Supplier
                    {
                        Name = "Auto Commerce",
                        DiscountPercentage = 25.0m,
                        City       = "Rousse",
                        WebsiteUrl = "http://acommers.bg",
                        User       = currentUser
                    },
                    new Supplier
                    {
                        Name = "Mega Parts",
                        DiscountPercentage = 10.0m,
                        City         = "Sofia",
                        WebsiteUrl   = "http://megaparts.bg",
                        EmailAddress = "*****@*****.**",
                        User         = currentUser
                    },
                    new Supplier
                    {
                        Name = "Inter Cars",
                        DiscountPercentage = 40.0m,
                        City       = "Rousse",
                        WebsiteUrl = "http://intercars.bg",
                        SkypeName  = "intercars-bg",
                        User       = currentUser
                    },
                    new Supplier
                    {
                        Name = "Auto Morgue",
                        DiscountPercentage = 0.0m,
                        City       = "Rousse",
                        WebsiteUrl = "",
                        User       = currentUser
                    }
                };
                suppliersToAdd.ForEach(s => context.Suppliers.Add(s));
                context.SaveChanges();
                #endregion

                #region Jobs seeding
                foreach (var car in cars)
                {
                    var jobs = new List <Job>();
                    for (int i = 0; i < 3; i++)
                    {
                        jobs.Add(JobSeeder.NextJob(user, car, car.Customer));
                    }
                    jobs.ForEach(j => context.Jobs.Add(j));
                    jobs.ForEach(j => j.SpareParts.ForEach(
                                     sp => context.SpareParts.Add(sp)));
                }
                SaveChanges(context);
                #endregion
            }
            ;
        }