public void PlatoonPut() { // In-memory database only exists while the connection is open var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <ApplitactionDbContext>() .UseSqlite(connection) .Options; //var context = new ApplitactionDbContext(options); using (var context = new ApplitactionDbContext(options)) { context.Database.EnsureCreated(); } using (var context = new ApplitactionDbContext(options)) { var g = new Strategy_game.Models.Game(); var c = new Strategy_game.Models.Country() { CountryName = "zzzz" }; var a = new Strategy_game.Models.Archer() { OwnerCountry = c, Counter = 2 }; var h = new Strategy_game.Models.Horseman() { OwnerCountry = c, Counter = 2 }; var s = new Strategy_game.Models.Elite() { OwnerCountry = c, Counter = 2 }; var f = new Strategy_game.Models.Farm() { OwnerCountry = c, Counter = 4 }; var b = new Strategy_game.Models.Barrack() { OwnerCountry = c, Counter = 2 }; context.Games.Add(g); context.Countries.Add(c); context.Archers.Add(a); context.Horsemans.Add(h); context.Elites.Add(s); context.Farms.Add(f); context.Barracks.Add(b); context.SaveChanges(); var ch = context.Countries.FirstOrDefaultAsync(d => d.CountryName == "zzzz").Result; //var casd = context.Countries.FirstOrDefaultAsync(); var p = new Platoon() { Owner = ch, Archers = new Archer() { Counter = 150 }, Horsemans = new Horseman() { Counter = 150 }, Soldiers = new Elite() { Counter = 150 }, }; context.Platoons.Add(p); context.SaveChanges(); } using (var context = new ApplitactionDbContext(options)) { var service = new PlatoonService(context); var p = context.Platoons .Include(pts => pts.Archers) .Include(pts => pts.Horsemans) .Include(pts => pts.Soldiers) .Include(pts => pts.Owner).FirstOrDefaultAsync().Result; //service.DoOneRound(); var from = context.Countries.FirstOrDefaultAsync(C => C.CountryName == "zzzz").Result; var ra = context.Archers.Include(Ra => Ra.OwnerCountry).FirstOrDefaultAsync(C => C.OwnerCountry.CountryName == "zzzz").Result; var rh = context.Horsemans.Include(Ra => Ra.OwnerCountry).FirstOrDefaultAsync(C => C.OwnerCountry.CountryName == "zzzz").Result; var rs = context.Elites.Include(Ra => Ra.OwnerCountry).FirstOrDefaultAsync(C => C.OwnerCountry.CountryName == "zzzz").Result; service.putUnitToPlatoon(from.CountryId, p.PlatoonId); service.putHorsemanInPlatoon(from.CountryId, p.PlatoonId); service.putSoldierInPlatoon(from.CountryId, p.PlatoonId); Assert.Equal(1, ra.Counter); Assert.Equal(1, rh.Counter); Assert.Equal(1, rs.Counter); //Assert.Equal(0, p.Intent); Assert.Equal(151, p.Archers.Counter); Assert.Equal(151, p.Horsemans.Counter); Assert.Equal(151, p.Soldiers.Counter); } } finally { connection.Close(); } }