Beispiel #1
0
        public void Test_UnitOfWork_Success()
        {
            vmuow.UnitOfWorkEFcore <Context> uow = new vmuow.UnitOfWorkEFcore <Context>(new DbContextOptionsBuilder <Context>()
                                                                                        .UseInMemoryDatabase("Teste"));

            using (var ctx = uow.dbContext)
            {
                ctx.Cars.Add(new Car {
                    id = 1, name = "Honda Civic"
                });
                ctx.SaveChanges();
            }

            IList <Car> cars = null;

            using (var ctx = uow.dbContext)
            {
                cars = ctx.Cars.ToList();
            }

            Assert.AreEqual(1, cars.Count);


            var carTst = new Car
            {
                id   = 1,
                name = "Toyota Corola"
            };

            using (var ctx = uow.dbContext)
            {
                ctx.Cars.Update(carTst);
                ctx.SaveChanges();
            }

            cars = null;
            using (var ctx = uow.dbContext)
            {
                cars = ctx.Cars.ToList();
            }

            Assert.AreEqual(1, cars.Count);
            Assert.AreEqual("Toyota Corola", cars.First().name);
        }
Beispiel #2
0
        public void RepositoryWrite_Assembler_Success()
        {
            vmuow.UnitOfWorkEFcore <Context> uow = new vmuow.UnitOfWorkEFcore <Context>(new DbContextOptionsBuilder <Context>()
                                                                                        .UseInMemoryDatabase("Teste"));

            ITest <Assembler> RepAssembler = new MyRepository <Assembler, Context>(uow);

            using (var ctx = uow.dbContext)
            {
                RepAssembler.Add(new Assembler {
                    id   = 1,
                    name = "Honda"
                });

                RepAssembler.Add(new Assembler
                {
                    id   = 2,
                    name = "Toyota"
                });

                RepAssembler.Add(new Assembler
                {
                    id   = 3,
                    name = "Fiat"
                });

                ctx.SaveChanges();
            }

            IList <Assembler> Asseblers = null;

            using (var ctx = uow.dbContext)
            {
                Asseblers = RepAssembler.FindAll();
            }

            Assert.AreEqual(3, Asseblers.Count);
            uow.Dispose();
        }
Beispiel #3
0
        public void RepositoryWrite_car_Success()
        {
            RepositoryWrite_Assembler_Success();

            vmuow.UnitOfWorkEFcore <Context> uow = new vmuow.UnitOfWorkEFcore <Context>(new DbContextOptionsBuilder <Context>()
                                                                                        .UseInMemoryDatabase("Teste"));


            ITest <Car>       RepCar       = new MyRepository <Car, Context>(uow);
            ITest <Assembler> RepAssembler = new MyRepository <Assembler, Context>(uow);

            using (var ctx = uow.dbContext)
            {
                var _assembler = RepAssembler.Find(f => f.name == "Honda");

                Assert.IsNotNull(_assembler);

                var car = new Car
                {
                    id        = 1,
                    name      = "Honda Civic",
                    assembler = _assembler,
                };

                RepCar.Add(car);
                ctx.SaveChanges();
            }

            IList <Assembler> assemblers = null;
            IList <Car>       cars       = null;

            using (var ctx = uow.dbContext)
            {
                assemblers = RepAssembler.FindAll();
                cars       = RepCar.FindAll();
            }

            Assert.AreEqual(3, assemblers.Count);
            Assert.AreEqual(1, cars.Count);



            var carTst = new Car
            {
                id        = 1,
                name      = "Toyota Corola",
                assembler = assemblers.FirstOrDefault(f => f.name == "Toyota")
            };

            Assert.IsNotNull(carTst.assembler);

            using (var ctx = uow.dbContext)
            {
                RepCar.Update(carTst);
                ctx.SaveChanges();
            }

            cars       = null;
            assemblers = null;

            using (var ctx = uow.dbContext)
            {
                assemblers = RepAssembler.FindAll();
                cars       = RepCar.FindAll();
            }


            Assert.AreEqual(3, assemblers.Count);
            Assert.AreEqual(1, cars.Count);
            Assert.AreEqual("Toyota Corola", cars.First().name);
        }