Test für Änderung der StoneSet Anzahl fertig
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@327 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
ad2f226369
commit
c398c081ed
5 changed files with 85 additions and 24 deletions
|
@ -42,11 +42,15 @@ public class MockSettingsPanel implements ISettingsPanel {
|
|||
public MockEvent1<Integer> changeInitialMeldThresholdEvent = new MockEvent1<Integer>();
|
||||
/** */
|
||||
public MockEvent1<Integer> changeJokerNumberEvent = new MockEvent1<Integer>();
|
||||
|
||||
/** */
|
||||
public MockEvent1<Integer> changeStoneSetNumberEvent = new MockEvent1<Integer>();
|
||||
/** */
|
||||
public int initialMeldThreshold;
|
||||
/** */
|
||||
public int jokerNumber;
|
||||
|
||||
public int stoneSetNumber;
|
||||
|
||||
@Override
|
||||
public IEvent getAddPlayerEvent() {
|
||||
return addPlayerEvent;
|
||||
|
@ -127,4 +131,14 @@ public class MockSettingsPanel implements ISettingsPanel {
|
|||
return changePlayerTypeEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent1<Integer> getChangeStoneSetNumberEvent() {
|
||||
return changeStoneSetNumberEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStoneSetNumber(int number) {
|
||||
stoneSetNumber = number;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -80,6 +80,8 @@ public interface ISettingsPanel {
|
|||
* @return the event
|
||||
*/
|
||||
public IEvent1<Integer> getChangeInitialMeldThresholdEvent();
|
||||
|
||||
public IEvent1<Integer> getChangeStoneSetNumberEvent();
|
||||
|
||||
/**
|
||||
* the start game event is emitted when the user wants to start the game
|
||||
|
@ -156,6 +158,8 @@ public interface ISettingsPanel {
|
|||
* initial meld threshold
|
||||
*/
|
||||
public void setInitialMeldThreshold(int value);
|
||||
|
||||
public void setStoneSetNumber(int number);
|
||||
|
||||
/**
|
||||
* Emitted when the joker number is changed
|
||||
|
@ -164,6 +168,7 @@ public interface ISettingsPanel {
|
|||
*/
|
||||
public IEvent1<Integer> getChangeJokerNumberEvent();
|
||||
|
||||
|
||||
/**
|
||||
* Sets the joker number in the option pane
|
||||
*
|
||||
|
|
|
@ -75,6 +75,7 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
|
|||
private Event2<Integer, TurnControlFactory.Type> changePlayerTypeEvent = new Event2<Integer, TurnControlFactory.Type>();
|
||||
private Event1<Integer> changeInitialMeldThresholdEvent = new Event1<Integer>();
|
||||
private Event1<Integer> changeJokerNumberEvent = new Event1<Integer>();
|
||||
private Event1<Integer> changeStoneSetNumberEvent = new Event1<Integer>();
|
||||
|
||||
@Override
|
||||
public IEvent getStartGameEvent() {
|
||||
|
@ -106,6 +107,11 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
|
|||
return changeInitialMeldThresholdEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEvent1<Integer> getChangeStoneSetNumberEvent() {
|
||||
return changeStoneSetNumberEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setError(SettingsError error) {
|
||||
switch (error) {
|
||||
|
@ -246,8 +252,6 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
|
|||
c.weightx = 1;
|
||||
c.weighty = 1;
|
||||
optionsPanel.add(makeFiller(), c);
|
||||
|
||||
// TODO Knöpfe für Dinge
|
||||
}
|
||||
|
||||
private JSpinner makeOptionSpinner(int row, int min, int max, int step,
|
||||
|
@ -517,4 +521,10 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
|
|||
public IEvent2<Integer, Type> getChangePlayerTypeEvent() {
|
||||
return changePlayerTypeEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStoneSetNumber(int number) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,8 @@ public class SettingsControlTest {
|
|||
/** */
|
||||
@Test
|
||||
public void initialStateTest() {
|
||||
assertSame(ISettingsPanel.SettingsError.NO_ERROR, view.settingsPanel.error);
|
||||
assertSame(ISettingsPanel.SettingsError.NO_ERROR,
|
||||
view.settingsPanel.error);
|
||||
view.settingsPanel.startGameEvent.emit();
|
||||
assertNotNull(gameSettings);
|
||||
assertEquals(2, gameSettings.getPlayerList().size());
|
||||
|
@ -156,7 +157,8 @@ public class SettingsControlTest {
|
|||
view.settingsPanel.changePlayerNameEvent.emit(1, name2);
|
||||
|
||||
assertTrue(view.settingsPanel.startButtonEnabled);
|
||||
assertSame(ISettingsPanel.SettingsError.NO_ERROR, view.settingsPanel.error);
|
||||
assertSame(ISettingsPanel.SettingsError.NO_ERROR,
|
||||
view.settingsPanel.error);
|
||||
|
||||
view.settingsPanel.startGameEvent.emit();
|
||||
assertNotNull(gameSettings);
|
||||
|
@ -175,38 +177,57 @@ public class SettingsControlTest {
|
|||
view.settingsPanel.startGameEvent.emit();
|
||||
assertNull(gameSettings);
|
||||
}
|
||||
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void initialMeldThresholdTest() {
|
||||
assertEquals(initialSettings.getInitialMeldThreshold(), view.settingsPanel.initialMeldThreshold);
|
||||
|
||||
assertEquals(initialSettings.getInitialMeldThreshold(),
|
||||
view.settingsPanel.initialMeldThreshold);
|
||||
|
||||
view.settingsPanel.changeInitialMeldThresholdEvent.emit(25);
|
||||
view.settingsPanel.startGameEvent.emit();
|
||||
assertEquals(25, gameSettings.getInitialMeldThreshold());
|
||||
}
|
||||
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void jokerNumberTest() {
|
||||
assertEquals(initialSettings.getJokerNumber(), view.settingsPanel.jokerNumber);
|
||||
|
||||
assertEquals(initialSettings.getJokerNumber(),
|
||||
view.settingsPanel.jokerNumber);
|
||||
|
||||
view.settingsPanel.changeJokerNumberEvent.emit(25);
|
||||
view.settingsPanel.startGameEvent.emit();
|
||||
assertEquals(25, gameSettings.getJokerNumber());
|
||||
}
|
||||
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void changeStoneSetNumberTest() {
|
||||
assertEquals(initialSettings.getStoneSetNumber(),
|
||||
view.settingsPanel.stoneSetNumber);
|
||||
|
||||
view.settingsPanel.changeStoneSetNumberEvent.emit(3);
|
||||
view.settingsPanel.startGameEvent.emit();
|
||||
assertEquals(3, gameSettings.getStoneSetNumber());
|
||||
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void typeChangeTest() {
|
||||
view.settingsPanel.changePlayerTypeEvent.emit(0, TurnControlFactory.Type.COMPUTER);
|
||||
view.settingsPanel.changePlayerTypeEvent.emit(1, TurnControlFactory.Type.COMPUTER);
|
||||
view.settingsPanel.changePlayerTypeEvent.emit(1, TurnControlFactory.Type.HUMAN);
|
||||
view.settingsPanel.changePlayerTypeEvent.emit(0,
|
||||
TurnControlFactory.Type.COMPUTER);
|
||||
view.settingsPanel.changePlayerTypeEvent.emit(1,
|
||||
TurnControlFactory.Type.COMPUTER);
|
||||
view.settingsPanel.changePlayerTypeEvent.emit(1,
|
||||
TurnControlFactory.Type.HUMAN);
|
||||
view.settingsPanel.startGameEvent.emit();
|
||||
assertNotNull(gameSettings);
|
||||
assertEquals(2, gameSettings.getPlayerList().size());
|
||||
assertSame(TurnControlFactory.Type.COMPUTER, gameSettings.getPlayerList().get(0).getTurnControlType());
|
||||
assertSame(TurnControlFactory.Type.HUMAN, gameSettings.getPlayerList().get(1).getTurnControlType());
|
||||
assertSame(TurnControlFactory.Type.COMPUTER, gameSettings
|
||||
.getPlayerList().get(0).getTurnControlType());
|
||||
assertSame(TurnControlFactory.Type.HUMAN, gameSettings.getPlayerList()
|
||||
.get(1).getTurnControlType());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -13,11 +13,20 @@ import static org.junit.Assert.*;
|
|||
*/
|
||||
public class StoneHeapTest {
|
||||
private StoneHeap testHeap;
|
||||
private GameSettings testSettings;
|
||||
|
||||
/** */
|
||||
@Before
|
||||
public void createHeap() {
|
||||
testHeap = new StoneHeap(new GameSettings());
|
||||
testHeap = new StoneHeap(testSettings = new GameSettings());
|
||||
}
|
||||
|
||||
private int calculateTotalNumberOfStones() {
|
||||
int totalStones = testSettings.getHighestCard()
|
||||
* testSettings.getStoneSetNumber()
|
||||
* testSettings.getStoneColors().size()
|
||||
+ testSettings.getJokerNumber();
|
||||
return totalStones;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -25,7 +34,7 @@ public class StoneHeapTest {
|
|||
*/
|
||||
@Test
|
||||
public void fullStoneHeap() {
|
||||
assertEquals(106, testHeap.heap.size());
|
||||
assertEquals(calculateTotalNumberOfStones(), testHeap.heap.size());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -33,6 +42,8 @@ public class StoneHeapTest {
|
|||
*/
|
||||
@Test
|
||||
public void fullColor() {
|
||||
int stonesOfAColor = testSettings.getHighestCard()
|
||||
* testSettings.getStoneSetNumber();
|
||||
Map<StoneColor, Integer> counters = new HashMap<StoneColor, Integer>();
|
||||
for (StoneColor c : EnumSet.allOf(StoneColor.class)) {
|
||||
counters.put(c, 0);
|
||||
|
@ -44,7 +55,7 @@ public class StoneHeapTest {
|
|||
counters.put(i.getColor(), count + 1);
|
||||
}
|
||||
for (StoneColor c : EnumSet.allOf(StoneColor.class)) {
|
||||
assertEquals(26, (long) counters.get(c));
|
||||
assertEquals(stonesOfAColor, (long) counters.get(c));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -58,14 +69,14 @@ public class StoneHeapTest {
|
|||
if (i.isJoker())
|
||||
countJoker++;
|
||||
}
|
||||
assertEquals(2, countJoker);
|
||||
assertEquals(testSettings.getJokerNumber(), countJoker);
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void drawStoneTest() {
|
||||
assertNotNull(testHeap.drawStone());
|
||||
assertEquals(105, testHeap.heap.size());
|
||||
assertEquals(calculateTotalNumberOfStones() - 1, testHeap.heap.size());
|
||||
}
|
||||
|
||||
/** */
|
||||
|
@ -73,6 +84,6 @@ public class StoneHeapTest {
|
|||
public void drawStonesTest() {
|
||||
List<Stone> testStones = testHeap.drawStones(5);
|
||||
assertEquals(5, testStones.size());
|
||||
assertEquals(101, testHeap.heap.size());
|
||||
assertEquals(calculateTotalNumberOfStones() - 5, testHeap.heap.size());
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue