Package org.scotlandyard.tests.engine.boardmap

Source Code of org.scotlandyard.tests.engine.boardmap.BoardMapTest

package org.scotlandyard.tests.engine.boardmap;


import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.scotlandyard.engine.GameException;
import org.scotlandyard.engine.boardmap.BoardMap;
import org.scotlandyard.engine.constants.TransportationMethod;
import org.scotlandyard.impl.engine.GameEngine;
import org.scotlandyard.impl.engine.boardmap.BoardMapFactory;
import org.scotlandyard.impl.engine.boardmap.BoardMapImpl;

/**
* TODO add description
*
* @author Hussain Al-Mutawa
* @version 1.0
* @since Sept 2011
*
*/
public class BoardMapTest {

  private transient BoardMap boardMap;
  //TODO add description here
  public BoardMapTest() throws GameException {
    GameEngine.instance().clearRecords();

    BoardMapFactory.setDefaultBoardMap(BoardMapFactory.createBoardMap("Palmerston North"));
  }

  @Before//TODO add description here
  public void setUp() throws Exception {
    boardMap = BoardMapFactory.getDefaultBoardMap();
  }

  @Test//TODO add description here
  public final void testAddLink() throws Exception{
    Assert.assertEquals("Test if the links set is empty",boardMap.getLinks().size(), 0);

    boardMap.addLink(BoardMapFactory.createLink(TransportationMethod.BUS, 1, 1, 0, 0));
    Assert.assertEquals("Test if the links set has one element",boardMap.getLinks().size(), 1);

    boardMap.removeAllLinks();
    Assert.assertEquals("Test if the links set has no element",boardMap.getLinks().size(), 0);
   
    Assert.assertNotSame(boardMap.getCoordinates().size(), 0);
    boardMap.removeAllCoordinates();
    Assert.assertEquals(boardMap.getCoordinates().size(), 0);
  }

  @Test//TODO add description here
  public final void testGetLinkAB()throws Exception{
    final BoardMap map = BoardMapImpl.getNewInstance("pnth");
    map.prepareMap("web/maps/pnth.xml");
    Assert.assertNotNull(map.getLink("4", "3"));
    Assert.assertNotNull(map.getLink("5", "7"));
    Assert.assertNotNull(map.getLink("3", "4"));
    Assert.assertEquals(map.getLink("1", "8").getTransportationMethod().toString(), TransportationMethod.TAXI.toString());
    Assert.assertSame(map.getLink("3", "4").getCoordinateA(),map.getCoordinate("3"));
    GameEngine.instance().getBoardMaps().remove("pnth");
  }
 
  @Test(expected=Exception.class)//TODO add description here
  public final void testBoardMapImpl1() throws GameException{
    BoardMapFactory.createBoardMap(null);
  }
  @Test(expected=Exception.class)//TODO add description here
  public final void testBoardMapImpl2() throws GameException{
    BoardMapImpl.getNewInstance(null);
  }
  @Test//TODO add description here
  public final void testEqualsObject() throws GameException{

    //    for(Object o:GameEngine.instance().boardMaps().entrySet()){
    //      System.out.println(o);
    //    }
    String mapName="Board Map : [Palmerston North]";
    Assert.assertEquals(GameEngine.instance().getBoardMaps().get("Palmerston North").hashCode(),mapName.hashCode());


    Assert.assertEquals(GameEngine.instance().getBoardMaps().size(), 1);

    final BoardMap map = BoardMapFactory.createBoardMap("Palmerston North");
    Assert.assertTrue(map.equals(boardMap));

    Assert.assertEquals(GameEngine.instance().getBoardMaps().size(), 1);

    final BoardMap map2 = BoardMapFactory.createBoardMap("Auckland");
    Assert.assertFalse(map2.equals(boardMap));

    Assert.assertEquals(GameEngine.instance().getBoardMaps().size(), 2);

    GameEngine.instance().getBoardMaps().remove("Auckland");

    Assert.assertEquals(GameEngine.instance().getBoardMaps().size(), 1);
  }

  @Test//TODO add description here
  public final void testGetCoordinates() throws GameException{
    Assert.assertEquals(boardMap.getCoordinates().size(), 0);
    Assert.assertEquals(boardMap.getLinks().size(), 0);
    boardMap.addLink(BoardMapFactory.createLink(TransportationMethod.UG, 1,2,3,4));
    Assert.assertEquals(boardMap.getCoordinates().size(), 2);
    boardMap.addLink(BoardMapFactory.createLink(TransportationMethod.UG, 1,2,3,4));
    Assert.assertEquals(boardMap.getCoordinates().size(), 2);
    boardMap.removeAllCoordinates();
  }

  @Test//TODO add description here
  public final void testGetLinks() {
    Assert.assertEquals(boardMap.getCoordinates().size(), 0);
    Assert.assertEquals(boardMap.getLinks().size(), 0);
  }

  @Test//TODO add description here
  public final void testGetLinksCoordinate() throws GameException{
    boardMap.addLink(BoardMapFactory.createLink(TransportationMethod.UG, 1,2,3,4));
    Assert.assertEquals(boardMap.getLinks(BoardMapFactory.createCoordinate(1, 2)).size(), 1);
    Assert.assertEquals(boardMap.getLinks(BoardMapFactory.createCoordinate(3, 4)).size(), 1);
    Assert.assertEquals(boardMap.getLinks(BoardMapFactory.createCoordinate(9991, 19999)).size(), 0);
  }

  @Test//TODO add description here
  public final void testGetName() {
    Assert.assertEquals(boardMap.getName(), "Palmerston North");
  }

  @Test//TODO add description here
  public final void testToString() {
    Assert.assertEquals(boardMap.toString(), "Board Map : [Palmerston North]");
  }

}
TOP

Related Classes of org.scotlandyard.tests.engine.boardmap.BoardMapTest

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.