Пример #1
0
        public void PonerPiedra_cuandoMovimientoEsValido_AdicionNuevaPiedraYRegistraMovimiento()
        {
            string puntoId = "9X2Y2";

            _jugada.PonerPiedra(puntoId);

            Assert.AreEqual(1, _juego.Piedras.Count());
            Assert.AreEqual(1, _juego.Movimientos.Count());
        }
Пример #2
0
        public void ObtenerPiedrasPorColor_RetornaListaDePiedras()
        {
            Juego  juego  = new Juego(Tablero.nueveXnueve);
            Jugada jugada = new Jugada(juego);

            jugada.PonerPiedra("9X2Y2");
            jugada.CambiarTurno();
            jugada.PonerPiedra("9X7Y7");
            jugada.CambiarTurno();
            jugada.PonerPiedra("9X3Y3");
            jugada.CambiarTurno();

            List <Piedra> piedrasPorColor = juego.ObtenerPiedrasPorColor(Color.Negro);

            Assert.AreEqual(2, piedrasPorColor.Count);
        }
Пример #3
0
        public void ObtenerPuntosOcupados_RetornaListaPuntosId()
        {
            Juego  juego  = new Juego(Tablero.nueveXnueve);
            Jugada jugada = new Jugada(juego);

            jugada.PonerPiedra("9X2Y2");
            List <string> puntosOcupados = juego.ObtenerPuntosOcupados();

            Assert.IsTrue((new List <string> {
                "9X2Y2"
            }).SequenceEqual(puntosOcupados));
        }
Пример #4
0
        public Juego JugarPiedra(Guid juegoGuid, string puntoId)
        {
            Juego juego = _juegoRepo.ObtenerJuego(juegoGuid);

            if (_puntoRepo.ExistePuntoEnTablero(puntoId, juego.Tablero) is false)
            {
                throw new FenixExceptionInvalidParameter("El punto no se encuentra en el tablero.");
            }
            Jugada jugada = new Jugada(juego);

            jugada.PonerPiedra(puntoId);


            GrupoCreador grupoCreador = new GrupoCreador(juego);
            List <Grupo> gruposNuevos = grupoCreador.AgruparPiedras(_puntoRepo.ObtenerPuntoPorId(puntoId));

            juego.ActualizarGrupos(gruposNuevos);

            jugada.CambiarTurno();

            _juegoRepo.GuardarCambios();

            return(juego);
        }