public void PonerPiedra_cuandoMovimientoEsValido_AdicionNuevaPiedraYRegistraMovimiento() { string puntoId = "9X2Y2"; _jugada.PonerPiedra(puntoId); Assert.AreEqual(1, _juego.Piedras.Count()); Assert.AreEqual(1, _juego.Movimientos.Count()); }
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); }
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)); }
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); }