public void GrupoCreador_CuandoPonePrimeraPiedra_CreaUnGrupoDeUnaPiedraConSusLibertades() { Punto punto = new Punto(Tablero.nueveXnueve, 2, 2); List <Grupo> gruposNegros = new List <Grupo>(); List <Grupo> gruposNuevos = _grupoCreador.AgruparPiedras(punto); Assert.AreEqual(1, gruposNuevos.Count); Assert.AreEqual(4, gruposNuevos[0].PuntosLibertades.Count); }
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); }