public void GetGameAction() { // Arrange var teams = new List <Team> { new Team(), new Team(), new Team() }; _context.Teams.AddRange(teams); _context.SaveChanges(); var games = new List <Game> { new Game(), new Game() { Name = "Toto" } }; _context.AddRange(games); _context.SaveChanges(); var nodes = new List <Node>() { new FirstNode() { Latitude = 10.0001, Longitude = 15.0001 }, new ObjectNode() { Latitude = 12, Longitude = 16 }, new LastNode() }; _context.Nodes.AddRange(nodes); _context.SaveChanges(); var gameActions = new List <GameAction>() { new GameAction() { Game = games[1], Action = Action.StartGame, DateOccured = DateTime.Now, Latitude = 10, Longitude = 15, Node = nodes[0], Team = teams[1] }, new GameAction() { Game = games[1], Action = Action.VisitWaypoint, DateOccured = DateTime.Now, Latitude = 11, Longitude = 15.2, Node = nodes[1], Team = teams[1] }, new GameAction() { Game = games[1], Action = Action.VisitWaypoint, DateOccured = DateTime.Now.AddMinutes(15), Latitude = 11.3, Longitude = 15.5, Team = teams[1] }, new GameAction() { Game = games[0], Action = Action.VisitWaypoint, DateOccured = DateTime.Now, Latitude = 11, Longitude = 15.2, Node = nodes[1], Team = teams[1] }, }; _context.GameActions.AddRange(gameActions); _context.SaveChanges(); // Act var result = _target.GetGameAction(gameActions[1].Id); // Assert Check.That(result.Action).Equals(Action.VisitWaypoint); Check.That(result.Game.Name).Equals(games[1].Name); Check.That(result.Delta).IsEqualsWithDelta(141447.769119081, 0.001); }