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); }