예제 #1
0
        protected virtual void InsertData()
        {
            InMemoryUsers = new List<User>();
            InMemoryExtraUserInfos = new List<ExtraUserInfo>();
            InMemoryHouses = new List<House>();

            for (var i = 0; i < 5; i++)
            {
                var house = new House()
                {
                    Address = i + " Road Street, Suburb"
                };
                Database.Insert(house);
                InMemoryHouses.Add(house);
            }

            Database.Insert(new House
                {
                    Address = "_ Road\\Street, Suburb"
                }
            );

            for (var i = 0; i < 15; i++)
            {
                var user = new User
                {
                    Name = "Name" + (i + 1),
                    Age = 20 + (i + 1),
                    DateOfBirth = new DateTime(1970, 1, 1).AddYears(i - 1),
                    Savings = 50.00m + (1.01m * (i + 1)),
                    IsMale = (i % 2 == 0),
                    YorN = (i % 2 == 0) ? 'Y' : 'N',
                    UniqueId = (i % 2 != 0 ? Guid.NewGuid() : (Guid?)null),
                    TimeSpan = new TimeSpan(1, 1, 1),
                    House = i % 2 == 0 ? null : InMemoryHouses[i % 5],
                    SupervisorId = (i + 1) % 2 == 0 ? (i + 1) : (int?)null,
                    Address = i % 10 == 0 ? null : new Address()
                    {
                        Street = i + " Road Street",
                        City = "City " + i
                    },
                    TestEnum = (i + 1) % 2 == 0 ? TestEnum.All : TestEnum.None
                };
                Database.Insert(user);
                InMemoryUsers.Add(user);

                var extra = new ExtraUserInfo
                {
                    UserId = user.UserId,
                    Email = "email" + (i + 1) + "@email.com",
                    Children = (i + 1)
                };
                Database.Insert(extra);
                InMemoryExtraUserInfos.Add(extra);

                var one = new One()
                {
                    Name = "Name" + (i + 1),
                };
                Database.Insert(one);

                for (int j = 0; j < (i % 3); j++)
                {
                    var many = new Many()
                    {
                        OneId = one.OneId,
                        Currency = "Cur" + (i + j + 1),
                        Value = (i + j + 1)
                    };
                    Database.Insert(many);
                }
            }
        }
예제 #2
0
        protected void InsertData()
        {
            InMemoryUsers = new List<UserDecorated>();
            InMemoryExtraUserInfos = new List<ExtraUserInfoDecorated>();
            InMemoryCompositeObjects = new List<CompositeObjectDecorated>();
            InMemoryHouses = new List<HouseDecorated>();

            for (var i = 0; i < 5; i++)
            {
                var house = new HouseDecorated()
                {
                    Address = i + " Road Street, Suburb"
                };
                Database.Insert(house);
                InMemoryHouses.Add(house);
            }

            for (var i = 0; i < 15; i++)
            {
                var pos = i + 1;

                var user = new UserDecorated
                {
                    Name = "Name" + (i + 1),
                    Age = 20 + (i + 1),
                    DateOfBirth = new DateTime(1970, 1, 1).AddYears(i + 1),
                    Savings = 50.00m + (1.01m * (i + 1)),
                    IsMale = (i%2==0),
                    HouseId = i % 2 == 0 ? (int?)null : InMemoryHouses[i % 5].HouseId
                };
                Database.Insert(user);
                InMemoryUsers.Add(user);

                var extra = new ExtraUserInfoDecorated
                {
                    UserId = user.UserId,
                    Email = "email" + (i + 1) + "@email.com",
                    Children = (i + 1)
                };
                Database.Insert(extra);
                InMemoryExtraUserInfos.Add(extra);

                var composite = new CompositeObjectDecorated
                {
                    Key1ID = pos,
                    Key2ID = i + 2,
                    Key3ID = i + 4,
                    TextData = "This is some text data.",
                    DateEntered = DateTime.Now
                };
                Database.Insert(composite);
                InMemoryCompositeObjects.Add(composite);

                var recursionUser = new RecursionUser
                {
                    Name = "Name" + (i + 1),
                    CreatedBy = new RecursionUser() {Id = 1},
                    Supervisor = new RecursionUser() {Id = 2}
                };
                Database.Insert(recursionUser);

                var one = new One()
                {
                    Name = "Name" + (i + 1),
                };
                Database.Insert(one);

                for (int j = 0; j < (i%3); j++)
                {
                    var many = new Many()
                    {
                        OneId = one.OneId,
                        Currency = "Cur" + (i + j + 1),
                        Value = (i + j + 1)
                    };
                    Database.Insert(many);
                }

                var userWithAddress = new UserWithAddress()
                {
                    Name = "Name" + (i + 1),
                    Address = new UserWithAddress.MyAddress()
                    {
                        StreetNo = i + 1,
                        StreetName = "Street" + (i + 1),
                        MovedInOn = new DateTime(1970, 1, 1).AddYears(i + 1),
                        AddressFurtherInfo = new UserWithAddress.MyAddress.AddressInfo()
                        {
                            PostCode = "99999"
                        }
                    }
                };

                Database.Insert(userWithAddress);
            }

            // Verify DB record counts
            var userCount = Database.ExecuteScalar<int>("SELECT COUNT(UserId) FROM Users");
            Assert.AreEqual(InMemoryUsers.Count, userCount, "Test User Data not in sync db has " + userCount + " records, but the in memory copy has only " + InMemoryUsers.Count + " records.");
            System.Diagnostics.Debug.WriteLine("Created " + userCount + " test users for the unit tests.");

            var userExtraInfoCount = Database.ExecuteScalar<int>("SELECT COUNT(ExtraUserInfoId) FROM ExtraUserInfos");
            Assert.AreEqual(InMemoryExtraUserInfos.Count, userExtraInfoCount, "Test User Extra Info Data not in sync db has " + userExtraInfoCount + " records, but the in memory copy has only " + InMemoryExtraUserInfos.Count + " records.");
            System.Diagnostics.Debug.WriteLine("Created " + userExtraInfoCount + " test extra user info records for the unit tests.");

            var compositeObjectCount = Database.ExecuteScalar<int>("SELECT COUNT(Key1_ID) FROM CompositeObjects");
            Assert.AreEqual(InMemoryCompositeObjects.Count, compositeObjectCount, "Test Composite Object Data not in sync db has " + compositeObjectCount + " records, but the in memory copy has only " + InMemoryCompositeObjects.Count + " records.");
            System.Diagnostics.Debug.WriteLine("Created " + compositeObjectCount + " test composite PK objects for the unit tests.");
        }