/** Test renaming of Players including checking events are raised */ public void testPlayerNaming() throws RulesBrokenException { PlayerColor blue = new PlayerColor("Blue", Color.blue, 'b'); Player p = new Player(blue, changeNo, mockConstraints); mockListener.playerRenamed(new PlayerEvent(p)); mockListener.playerRenamed(new PlayerEvent(p)); replay(mockListener); p.addPlayerListener(mockListener); // Check the default name works assertEquals(p.getName(), blue.toString()); // Can we change it (and does the right event fire?) p.setName("BLAH"); assertEquals(p.getName(), "BLAH"); // Back to where we started (along with another event) p.resetName(); assertEquals(p.getName(), blue.toString()); // Check the remove works (the next setName shouldn't send an event) p.removePlayerListener(mockListener); p.setName("MORE BLAHS"); verify(mockListener); }