Esempio n. 1
0
  public void testConcurrentUpgrade() {
    boolean selection = FreeColTestUtils.setStudentSelection(false);
    Game game = ServerTestHelper.startServerGame(getTestMap(true));

    Colony colony = getSchoolColony(2, SchoolLevel.SCHOOLHOUSE);
    Building school = colony.getBuilding(schoolType);
    Iterator<Unit> units = colony.getUnitIterator();

    Unit lumber = units.next();
    lumber.setType(expertLumberJackType);

    Unit student = units.next();
    student.setType(pettyCriminalType);
    student.setLocation(colony.getBuilding(townHallType));

    assertTrue(school.canTeach());
    assertTrue(colony.canTrain(lumber));
    lumber.setLocation(school);

    ServerTestHelper.newTurn();
    assertEquals(student, lumber.getStudent());

    // lumber jack can teach indentured servant
    student.changeType(indenturedServantType);
    assertEquals(student, lumber.getStudent());

    // lumber jack can teach free colonist
    student.changeType(freeColonistType);
    assertEquals(student, lumber.getStudent());

    // lumber jack can not teach expert
    student.changeType(masterCarpenterType);
    assertNull(lumber.getStudent());
    assertNull(student.getTeacher());

    FreeColTestUtils.setStudentSelection(selection);
  }