Пример #1
0
            public static void SeedContext(IContext context)
            {
                using (var repository = new GenericDbRepository<Home, DataModel.Home>(_mapper, context))
                {
                    repository.Merge(new Home
                    {
                        Id = new Guid("A7FBD140-1CE1-4D6F-9123-29142FDA9E8B"),
                        Address = "901 Willow Street, Klagetoh, Kentucky, 4422",
                        DateBuilt = new DateTime(2000, 1, 1),
                        Neighborhood = new Neighborhood("Central Estates", true),
                        HomeOwnerId = new Guid("9E35B69F-DE06-49C7-A797-1059BBB55D0A"),
                        Rooms = new List<Room>
                        {
                            new Room("Dining Room", 20.2f),
                            new Room("Living Room", 188f)
                        }
                    });

                    repository.Merge(new Home
                    {
                        Id = new Guid("5DA841F7-1111-4F71-8004-CCCFDDB1BE84"),
                        Address = "285 Elliott Place, Bagtown, California, 7415",
                        DateBuilt = new DateTime(2000, 12, 15),
                        Neighborhood = new Neighborhood("Westwood", false),
                        HomeOwnerId = new Guid("D596B755-133E-47DD-BD3D-E2EC54C6507F"),
                        Rooms = new List<Room>
                        {
                            new Room("Dining Room", 172.4f),
                            new Room("Living Room", 216.2f)
                        }
                    });

                    repository.Merge(new Home
                    {
                        Id = new Guid("29D25509-78B6-423F-9B00-A6831341A278"),
                        Address = "754 Butler Street, Seymour, Wyoming, 5762",
                        DateBuilt = new DateTime(1982, 5, 1),
                        Neighborhood = new Neighborhood("754 Butler Street, Seymour, Wyoming, 5762", true),
                        HomeOwnerId = new Guid("9E35B69F-DE06-49C7-A797-1059BBB55D0A"),
                        Rooms = new List<Room>
                        {
                            new Room("Living Room", 350.6f)
                        }
                    });
                }
            }
Пример #2
0
            public void ShouldEqualInsertedCount()
            {
                //Arrange
                var connectionString = DataModelHelpers.GetRandomConnectionString();
                var dbContext = new Context(connectionString);

                try
                {
                    Helpers.SetInitializer(new ContextInitializer(SeedContext));
                    using (var repository = new GenericDbRepository<Home, DataModel.Home>(_mapper, dbContext))
                    {
                        // Act
                        var data = repository.All();

                        // Assert
                        Assert.IsTrue(data.Any());
                    }
                }
                catch { throw; }
                finally { dbContext.Database.Delete(); }
            }
Пример #3
0
            public void ShouldEqualInsertedCount()
            {
                var connectionString = DataModelHelpers.GetRandomConnectionString();
                var dbContext = new Context(connectionString);

                try
                {
                    Helpers.SetInitializer(new ContextInitializer(context =>
                    {
                        using (var repository = new GenericDbRepository<Home, DataModel.Home>(_mapper, dbContext))
                        {
                            repository.Merge(new Home
                            {
                                Id = Guid.NewGuid(),
                                Address = ""
                            });
                            repository.Merge(new Home
                            {
                                Id = Guid.NewGuid(),
                                Address = ""
                            });
                        }
                    }));

                    using (var repository = new GenericDbRepository<Home, DataModel.Home>(_mapper, dbContext))
                    {
                        var expected = 2;

                        int? actual = 0;
                        repository.All(ref actual, pageSize: 1, pageIndex: 0);
                        Assert.AreEqual(expected, actual);

                        actual = repository.Count();
                        Assert.AreEqual(expected, actual);
                    }
                }
                catch { throw; }
                finally { dbContext.Database.Delete(); }
            }
Пример #4
0
            public void ShouldConstruct()
            {
                var connectionString = DataModelHelpers.GetRandomConnectionString();
                var dbContext = new Context(connectionString);

                try
                {
                    Helpers.SetInitializer(new ContextInitializer(context =>
                    {
                        using (var repository = new GenericDbRepository<Home, DataModel.Home>(_mapper, dbContext))
                        {

                        }
                    }));
                    dbContext.Database.Initialize(true); //necessary when not performing query through the EF api
                }
                catch { throw; }
                finally { dbContext.Database.Delete(); }
            }
Пример #5
0
            public void ShouldRespectSorter()
            {
                //Arrange
                var connectionString = DataModelHelpers.GetRandomConnectionString();
                var dbContext = new Context(connectionString);

                try
                {
                    Helpers.SetInitializer(new ContextInitializer(SeedContext));
                    using (var repository = new GenericDbRepository<Home, DataModel.Home>(_mapper, dbContext))
                    {
                        // Act
                        var data = repository.All(sorters: new SortHomes(SortOrder.ASC, dateBuilt: true)).ToList();

                        // Assert
                        Assert.IsTrue(data.Any());
                        Assert.AreEqual(new DateTime(1982, 5, 1), data.First().DateBuilt);
                    }
                }
                catch { throw; }
                finally { dbContext.Database.Delete(); }
            }
Пример #6
0
            public void ShouldRespectFilter()
            {
                //Arrange
                var connectionString = DataModelHelpers.GetRandomConnectionString();
                var dbContext = new Context(connectionString);

                try
                {
                    Helpers.SetInitializer(new ContextInitializer(SeedContext));
                    using (var repository = new GenericDbRepository<Home, DataModel.Home>(_mapper, dbContext))
                    {
                        // Act
                        var data = repository.All(new FilterHomes(roomNames: new[]{"Dining Room"})).ToList();

                        // Assert
                        Assert.IsTrue(data.Any());
                        Assert.AreEqual(2, data.Count());
                    }
                }
                catch { throw; }
                finally { dbContext.Database.Delete(); }
            }