public void ConectarPuntos(TableroDTO grilla, PuntoDTO punto) { ObtenerPuntoIzquierda(grilla, punto); ObtenerPuntoDerecha(grilla, punto); ObtenerPuntoAbajo(grilla, punto); ObtenerPuntoArriba(grilla, punto); }
public void CuandoIngresaGrillaRetornaTableroConPuntosRelacionados() { TableroDTO grilla3x3 = _grilla.CrearGrillaConTamaño(3); _grilla.CrearTableroDesdeGrilla(grilla3x3); Assert.AreEqual(2, grilla3x3.puntos[0].puntosConectados.Count); }
public void CuandoIngresaIdPuntoInexistenteRetornaError() { string idPunto = "Z100"; TableroDTO tablero = _tablero.CrearTablero(9); PuntoDTO puntoObtenido = _tablero.ObtenerPuntoPorId(tablero, idPunto); }
public TableroDTO CrearTablero(int tamaño) { TableroDTO tablero = _grilla.CrearGrillaConTamaño(tamaño); _grilla.CrearTableroDesdeGrilla(tablero); return(tablero); }
public void CuandoIngresaCoordenadasDePuntoInexistenteRetornaError() { TableroDTO grilla3x3 = _grilla.CrearGrillaConTamaño(3); int x = 4; int y = 4; PuntoDTO puntoRetornado = _grilla.ObtenerPuntoPorCoordenadas(grilla3x3, x, y); }
public void CunadoIngresaTamañoRetornaTableroConPuntosConectados() { int tamaño = 9; TableroDTO tablero = _tablero.CrearTablero(tamaño); Assert.AreEqual(81, tablero.cantidadPuntos); Assert.IsTrue(tablero.puntos.TrueForAll(punto => punto.puntosConectados.Count >= 2 && punto.puntosConectados.Count <= 4)); }
private void ObtenerPuntoIzquierda(TableroDTO grilla, PuntoDTO punto) { try { PuntoDTO puntoIzquierda = ObtenerPuntoPorCoordenadas(grilla, punto.x - 1, punto.y); punto.puntosConectados.Add(puntoIzquierda); } catch (Exception) {} }
private void ObtenerPuntoAbajo(TableroDTO grilla, PuntoDTO punto) { try { PuntoDTO puntoAbajo = ObtenerPuntoPorCoordenadas(grilla, punto.x, punto.y - 1); punto.puntosConectados.Add(puntoAbajo); } catch (Exception) { } }
public void CuandoIngresaTamaño3CreaGrillaCon9Puntos() { int tamaño = 3; TableroDTO grilla3x3 = _grilla.CrearGrillaConTamaño(tamaño); Assert.AreEqual(9, grilla3x3.cantidadPuntos); Assert.AreEqual("C3", grilla3x3.puntos.Last().id); Assert.AreEqual(tamaño, grilla3x3.tamaño); }
public void CuandoIngresaIdPuntoRetornaPuntoDTO() { string idPunto = "A1"; TableroDTO tablero = _tablero.CrearTablero(9); PuntoDTO puntoObtenido = _tablero.ObtenerPuntoPorId(tablero, idPunto); Assert.AreEqual(idPunto, puntoObtenido.id); }
public void CuandoIngresaCoordenadasDelPuntoRetornaPuntoDTO() { TableroDTO grilla3x3 = _grilla.CrearGrillaConTamaño(3); int x = 1; int y = 2; PuntoDTO puntoRetornado = _grilla.ObtenerPuntoPorCoordenadas(grilla3x3, x, y); Assert.AreEqual("A2", puntoRetornado.id); }
public void CuandoIngresaPuntoRetornaPuntosConectados() { TableroDTO grilla3x3 = _grilla.CrearGrillaConTamaño(3); PuntoDTO puntoA1 = _grilla.ObtenerPuntoPorCoordenadas(grilla3x3, 1, 1); _grilla.ConectarPuntos(grilla3x3, puntoA1); Assert.AreEqual(2, puntoA1.puntosConectados.Count); Assert.IsTrue(puntoA1.puntosConectados.Any(punto => punto.id == "A2")); Assert.IsTrue(puntoA1.puntosConectados.Any(punto => punto.id == "B1")); }
public PuntoDTO ObtenerPuntoPorCoordenadas(TableroDTO grilla, int x, int y) { PuntoDTO puntoDTO = grilla.puntos.Where(punto => punto.x == x && punto.y == y) .FirstOrDefault(); if (puntoDTO == null) { throw new Exception("El punto no pertenece al tablero."); } return(puntoDTO); }
public PuntoDTO ObtenerPuntoPorId(TableroDTO tablero, string idPunto) { PuntoDTO puntoDTO = tablero.puntos .Where(punto => punto.id == idPunto) .FirstOrDefault(); if (puntoDTO == null) { throw new Exception("El punto no existe en el tablero."); } return(puntoDTO); }
public TableroDTO CrearGrillaConTamaño(int tamaño) { TableroDTO grilla = new TableroDTO(); grilla.tamaño = tamaño; grilla.puntos = new List <PuntoDTO>(); PuntoDTO puntoDTO = new PuntoDTO(); for (int posicionX = 1; posicionX <= tamaño; posicionX++) { for (int posicionY = 1; posicionY <= tamaño; posicionY++) { puntoDTO = _punto.CrearPunto(posicionX, posicionY); grilla.puntos.Add(puntoDTO); } } grilla.cantidadPuntos = grilla.puntos.Count; return(grilla); }
public void CrearTableroDesdeGrilla(TableroDTO grilla) { grilla.puntos.ForEach(punto => ConectarPuntos(grilla, punto)); }