public void TestRead() { var track = new Track() { BestTime = 121213123, LengthInMeters = 123214, MaxCars = 50, Name = "RaceTrack" }; var race = new Race() { NumberOfLaps = 5, PlannedEnd = new DateTime(1920, 11, 11), PlannedStart = new DateTime(1920, 11, 11), Track = track }; context.Add(race); context.SaveChanges(); var raceCreate = new RaceCreateDTO() { PlannedEnd = race.PlannedEnd, PlannedStart = race.PlannedStart, Id = race.Id, ActualEnd = race.ActualEnd, ActualStart = race.ActualStart, NumberOfLaps = race.NumberOfLaps, TrackId = race.Track.Id }; Assert.Equal(raceCreate, raceRepository.Read(race.Id)); }
public void Read_To_Get_One_Race_Create_From_Id() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); var builder = new DbContextOptionsBuilder <SlotCarContext>() .UseSqlite(connection); _context = new SlotCarContext(builder.Options); _context.Database.EnsureCreated(); var track = new Track() { Id = 1, Name = "Huge Lane", LengthInMeters = 1000, MaxCars = 4 }; var race = new Race() { Id = 1, TrackId = 1, Track = track, NumberOfLaps = 2, ActualStart = new DateTime(2015, 09, 28), PlannedEnd = new DateTime(2017, 09, 28) }; _context.Races.Add(race); _context.SaveChanges(); using (var repository = new RaceRepository(_context)) { var dto = repository.Read(1); Assert.Equal(1, dto.Id); Assert.Equal(1, dto.TrackId); Assert.Equal(2, dto.NumberOfLaps); Assert.Equal(null, dto.PlannedStart); Assert.Equal(new DateTime(2015, 09, 28), dto.ActualStart); Assert.Equal(new DateTime(2017, 09, 28), dto.PlannedEnd); Assert.Equal(null, dto.ActualEnd); } }
public void Read_returns_Ennumerable_of_Race() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); var builder = new DbContextOptionsBuilder <SlotCarContext>() .UseSqlite(connection); _context = new SlotCarContext(builder.Options); _context.Database.EnsureCreated(); var track = new Track() { Id = 1, Name = "Huge Lane", LengthInMeters = 1000, MaxCars = 4 }; var race = new Race() { Id = 1, TrackId = 1, Track = track, NumberOfLaps = 2, ActualStart = new DateTime(2015, 09, 28), PlannedEnd = new DateTime(2017, 09, 28) }; var car = new Car() { Id = 1, Name = "BMW", Driver = "Hugh Hefner" }; var car2 = new Car() { Id = 2, Name = "Opel", Driver = "Barack Obama" }; var raceCar = new CarInRace() { CarId = car.Id, RaceId = race.Id, Car = car, Race = race, EndPosition = 2 }; var raceCar2 = new CarInRace() { CarId = car2.Id, RaceId = race.Id, Car = car2, Race = race, EndPosition = 1 }; _context.Cars.Add(car); _context.Cars.Add(car2); _context.Races.Add(race); _context.CarsInRace.Add(raceCar); _context.CarsInRace.Add(raceCar2); _context.SaveChanges(); using (var repository = new RaceRepository(_context)) { var dtos = repository.Read(); var result = dtos.FirstOrDefault(); var expected = new List <RaceListDTO>(); expected.Add(new RaceListDTO() { Id = 1, TrackName = "Huge Lane", NumberOfLaps = 2, Start = new DateTime(2015, 09, 28), End = new DateTime(2017, 09, 28), MaxCars = 4, NumberOfCars = 2, WinningCar = "Opel", WinningDriver = "Barack Obama" }); var expectedFinal = expected.FirstOrDefault(); Assert.Equal(expectedFinal.Id, result.Id); Assert.Equal(expectedFinal.TrackName, result.TrackName); Assert.Equal(expectedFinal.Start, result.Start); Assert.Equal(expectedFinal.End, result.End); Assert.Equal(expectedFinal.MaxCars, result.MaxCars); Assert.Equal(expectedFinal.NumberOfCars, result.NumberOfCars); Assert.Equal(expectedFinal.WinningCar, result.WinningCar); Assert.Equal(expectedFinal.WinningDriver, result.WinningDriver); } }