Package modelo

Source Code of modelo.PartidaAjedrezTestP3

package modelo;
import static org.junit.Assert.*;

import java.util.Iterator;

import modelo.Casilla;
import modelo.Color;
import modelo.Coordenada;
import modelo.PartidaAjedrez;
import modelo.Pieza;
import modelo.Tablero;
import modelo.excepciones.ExcepcionCasillaDestinoOcupada;
import modelo.excepciones.ExcepcionCoordenadaErronea;
import modelo.excepciones.ExcepcionMovimientoCoronacion;
import modelo.excepciones.ExcepcionMovimientoIlegal;
import modelo.excepciones.ExcepcionNoExisteMovimiento;
import modelo.excepciones.ExcepcionPiezaDesconocida;
import modelo.excepciones.ExcepcionPosicionNoValida;

import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;


public class PartidaAjedrezTestP3 {

  static PartidaAjedrez paj;
 
  Peon pb,pb2;
  Pieza db;
  Peon pn,pn2;
  Pieza dn;
  Pieza rn;

  @BeforeClass
  public static void setUpClass() throws Exception {
    paj=PartidaAjedrez.getInstancia();
  }
 
  @Before
  public void setUp() throws Exception {
     pb = new Peon(Color.BLANCO);
     db = new Dama(Color.BLANCO);
     pn = new Peon(Color.NEGRO);
     dn = new Dama(Color.NEGRO);
     pb2 = new Peon(Color.BLANCO);
     pn2 = new Peon(Color.NEGRO);
     rn = new Rey(Color.NEGRO);

  }

  @After
  public void tearDown() throws Exception {
     pb.quitaDeCasilla();
     db.quitaDeCasilla();
     pn.quitaDeCasilla();
     dn.quitaDeCasilla();
     pb2.quitaDeCasilla();
     pn2.quitaDeCasilla();
     rn.quitaDeCasilla();
  // P4  
      Iterator<Pieza> itb = paj.getPiezas(Color.BLANCO).iterator();
      Iterator<Pieza> itn = paj.getPiezas(Color.NEGRO).iterator();
     
      while(itb.hasNext())
        itb.next().quitaDeCasilla();
      while(itn.hasNext())
        itn.next().quitaDeCasilla();   

  }

  @Test
  public final void testPartidaAjedrez() throws ExcepcionCoordenadaErronea {
    // Comprobamos el tablero 8x8

    Tablero t = paj.getTablero();
    Coordenada coor;
      //Prueba Diagonal tablero Negras para getCasilla(Coordenada)
      for (int i=0; i<8; i++) {
        coor = new Coordenada( (char)((int)'A'+i),i+1 );
        assertEquals( "Diagonal negras",Color.NEGRO,(t.getCasillaAt(coor)).getColor() );
      }
     
      //Prueba Diagonal tablero Blancas para getCasilla(Coordenada)
      int j=7;
      for (int i=0; i<8; i++) {
        coor = new Coordenada((char)((int)'A'+j),i+1 );
        assertEquals( "Diagonal blancas",Color.BLANCO,(t.getCasillaAt(coor)).getColor() );
        j--;
      }
     
      // Tablero vacio
      Pieza p=null;
      for (int i=0; i<8; i++) {
        for (j=7; j>=0; j--) {
          coor = new Coordenada((char)((int)'A'+j),i+1 );
          p=t.getCasillaAt(coor).getPieza();
          assertNull(p);
        }
      }
     
      // Sin movimientos
      // assertEquals(0, paj.getNumMovimientos());
  }

  @Test
  public final void testGetInstancia() {
    PartidaAjedrez p = PartidaAjedrez.getInstancia();
    p = PartidaAjedrez.getInstancia();
    assertSame(paj,p);
  }

  @Test
  public final void testGetPiezaAt() throws ExcepcionPiezaDesconocida, ExcepcionCoordenadaErronea, ExcepcionPosicionNoValida {
    pb.setCasilla(paj.getTablero().getCasillaAt('A',2));
    Pieza p = paj.getPiezaAt(new Coordenada('A', 2));
    assertSame(pb,p);
    pb.quitaDeCasilla();
  }

  @Test
  public final void testColocaPieza() throws ExcepcionPiezaDesconocida, ExcepcionCoordenadaErronea, ExcepcionPosicionNoValida  {
    paj.colocaPieza("Pb F3");
    Pieza p = paj.getPiezaAt(new Coordenada('F', 3));
    p.quitaDeCasilla();
    assertEquals(Color.BLANCO, p.getColor());
    assertEquals('P', p.getTipo());
  }
   

    @Test(expected=ExcepcionPiezaDesconocida.class)
    public final void testColocaPieza_GetPiezaAt2() throws ExcepcionPiezaDesconocida, ExcepcionCoordenadaErronea, ExcepcionPosicionNoValida {
            paj.colocaPieza("Xb F3");
    }


 
  @Test
  public final void testAddMovimiento() throws ExcepcionCoordenadaErronea, ExcepcionNoExisteMovimiento {
    Coordenada co = new Coordenada('E',2);
    Coordenada cd = new Coordenada('E',3);
    paj.addMovimiento(co, cd);
    Movimiento mov = paj.getMovimientoAt(0);
    assertEquals(co,mov.getCoordenadaOrigen());
    assertEquals(cd,mov.getCoordenadaDestino());
    assertEquals(1,paj.getNumMovimientos());
  }

}
TOP

Related Classes of modelo.PartidaAjedrezTestP3

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.