Ejemplo n.º 1
0
        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);
        }