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> changeInitialMeldThresholdEvent = new MockEvent1<Integer>();
|
||||||
/** */
|
/** */
|
||||||
public MockEvent1<Integer> changeJokerNumberEvent = new MockEvent1<Integer>();
|
public MockEvent1<Integer> changeJokerNumberEvent = new MockEvent1<Integer>();
|
||||||
|
/** */
|
||||||
|
public MockEvent1<Integer> changeStoneSetNumberEvent = new MockEvent1<Integer>();
|
||||||
/** */
|
/** */
|
||||||
public int initialMeldThreshold;
|
public int initialMeldThreshold;
|
||||||
/** */
|
/** */
|
||||||
public int jokerNumber;
|
public int jokerNumber;
|
||||||
|
|
||||||
|
public int stoneSetNumber;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IEvent getAddPlayerEvent() {
|
public IEvent getAddPlayerEvent() {
|
||||||
return addPlayerEvent;
|
return addPlayerEvent;
|
||||||
|
@ -127,4 +131,14 @@ public class MockSettingsPanel implements ISettingsPanel {
|
||||||
return changePlayerTypeEvent;
|
return changePlayerTypeEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IEvent1<Integer> getChangeStoneSetNumberEvent() {
|
||||||
|
return changeStoneSetNumberEvent;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setStoneSetNumber(int number) {
|
||||||
|
stoneSetNumber = number;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,6 +81,8 @@ public interface ISettingsPanel {
|
||||||
*/
|
*/
|
||||||
public IEvent1<Integer> getChangeInitialMeldThresholdEvent();
|
public IEvent1<Integer> getChangeInitialMeldThresholdEvent();
|
||||||
|
|
||||||
|
public IEvent1<Integer> getChangeStoneSetNumberEvent();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the start game event is emitted when the user wants to start the game
|
* the start game event is emitted when the user wants to start the game
|
||||||
*
|
*
|
||||||
|
@ -157,6 +159,8 @@ public interface ISettingsPanel {
|
||||||
*/
|
*/
|
||||||
public void setInitialMeldThreshold(int value);
|
public void setInitialMeldThreshold(int value);
|
||||||
|
|
||||||
|
public void setStoneSetNumber(int number);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emitted when the joker number is changed
|
* Emitted when the joker number is changed
|
||||||
*
|
*
|
||||||
|
@ -164,6 +168,7 @@ public interface ISettingsPanel {
|
||||||
*/
|
*/
|
||||||
public IEvent1<Integer> getChangeJokerNumberEvent();
|
public IEvent1<Integer> getChangeJokerNumberEvent();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the joker number in the option pane
|
* 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 Event2<Integer, TurnControlFactory.Type> changePlayerTypeEvent = new Event2<Integer, TurnControlFactory.Type>();
|
||||||
private Event1<Integer> changeInitialMeldThresholdEvent = new Event1<Integer>();
|
private Event1<Integer> changeInitialMeldThresholdEvent = new Event1<Integer>();
|
||||||
private Event1<Integer> changeJokerNumberEvent = new Event1<Integer>();
|
private Event1<Integer> changeJokerNumberEvent = new Event1<Integer>();
|
||||||
|
private Event1<Integer> changeStoneSetNumberEvent = new Event1<Integer>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IEvent getStartGameEvent() {
|
public IEvent getStartGameEvent() {
|
||||||
|
@ -106,6 +107,11 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
|
||||||
return changeInitialMeldThresholdEvent;
|
return changeInitialMeldThresholdEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IEvent1<Integer> getChangeStoneSetNumberEvent() {
|
||||||
|
return changeStoneSetNumberEvent;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setError(SettingsError error) {
|
public void setError(SettingsError error) {
|
||||||
switch (error) {
|
switch (error) {
|
||||||
|
@ -246,8 +252,6 @@ class SettingsPanel extends JPanel implements ISettingsPanel {
|
||||||
c.weightx = 1;
|
c.weightx = 1;
|
||||||
c.weighty = 1;
|
c.weighty = 1;
|
||||||
optionsPanel.add(makeFiller(), c);
|
optionsPanel.add(makeFiller(), c);
|
||||||
|
|
||||||
// TODO Knöpfe für Dinge
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private JSpinner makeOptionSpinner(int row, int min, int max, int step,
|
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() {
|
public IEvent2<Integer, Type> getChangePlayerTypeEvent() {
|
||||||
return changePlayerTypeEvent;
|
return changePlayerTypeEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setStoneSetNumber(int number) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,8 @@ public class SettingsControlTest {
|
||||||
/** */
|
/** */
|
||||||
@Test
|
@Test
|
||||||
public void initialStateTest() {
|
public void initialStateTest() {
|
||||||
assertSame(ISettingsPanel.SettingsError.NO_ERROR, view.settingsPanel.error);
|
assertSame(ISettingsPanel.SettingsError.NO_ERROR,
|
||||||
|
view.settingsPanel.error);
|
||||||
view.settingsPanel.startGameEvent.emit();
|
view.settingsPanel.startGameEvent.emit();
|
||||||
assertNotNull(gameSettings);
|
assertNotNull(gameSettings);
|
||||||
assertEquals(2, gameSettings.getPlayerList().size());
|
assertEquals(2, gameSettings.getPlayerList().size());
|
||||||
|
@ -156,7 +157,8 @@ public class SettingsControlTest {
|
||||||
view.settingsPanel.changePlayerNameEvent.emit(1, name2);
|
view.settingsPanel.changePlayerNameEvent.emit(1, name2);
|
||||||
|
|
||||||
assertTrue(view.settingsPanel.startButtonEnabled);
|
assertTrue(view.settingsPanel.startButtonEnabled);
|
||||||
assertSame(ISettingsPanel.SettingsError.NO_ERROR, view.settingsPanel.error);
|
assertSame(ISettingsPanel.SettingsError.NO_ERROR,
|
||||||
|
view.settingsPanel.error);
|
||||||
|
|
||||||
view.settingsPanel.startGameEvent.emit();
|
view.settingsPanel.startGameEvent.emit();
|
||||||
assertNotNull(gameSettings);
|
assertNotNull(gameSettings);
|
||||||
|
@ -179,7 +181,8 @@ public class SettingsControlTest {
|
||||||
/** */
|
/** */
|
||||||
@Test
|
@Test
|
||||||
public void initialMeldThresholdTest() {
|
public void initialMeldThresholdTest() {
|
||||||
assertEquals(initialSettings.getInitialMeldThreshold(), view.settingsPanel.initialMeldThreshold);
|
assertEquals(initialSettings.getInitialMeldThreshold(),
|
||||||
|
view.settingsPanel.initialMeldThreshold);
|
||||||
|
|
||||||
view.settingsPanel.changeInitialMeldThresholdEvent.emit(25);
|
view.settingsPanel.changeInitialMeldThresholdEvent.emit(25);
|
||||||
view.settingsPanel.startGameEvent.emit();
|
view.settingsPanel.startGameEvent.emit();
|
||||||
|
@ -189,24 +192,42 @@ public class SettingsControlTest {
|
||||||
/** */
|
/** */
|
||||||
@Test
|
@Test
|
||||||
public void jokerNumberTest() {
|
public void jokerNumberTest() {
|
||||||
assertEquals(initialSettings.getJokerNumber(), view.settingsPanel.jokerNumber);
|
assertEquals(initialSettings.getJokerNumber(),
|
||||||
|
view.settingsPanel.jokerNumber);
|
||||||
|
|
||||||
view.settingsPanel.changeJokerNumberEvent.emit(25);
|
view.settingsPanel.changeJokerNumberEvent.emit(25);
|
||||||
view.settingsPanel.startGameEvent.emit();
|
view.settingsPanel.startGameEvent.emit();
|
||||||
assertEquals(25, gameSettings.getJokerNumber());
|
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
|
@Test
|
||||||
public void typeChangeTest() {
|
public void typeChangeTest() {
|
||||||
view.settingsPanel.changePlayerTypeEvent.emit(0, TurnControlFactory.Type.COMPUTER);
|
view.settingsPanel.changePlayerTypeEvent.emit(0,
|
||||||
view.settingsPanel.changePlayerTypeEvent.emit(1, TurnControlFactory.Type.COMPUTER);
|
TurnControlFactory.Type.COMPUTER);
|
||||||
view.settingsPanel.changePlayerTypeEvent.emit(1, TurnControlFactory.Type.HUMAN);
|
view.settingsPanel.changePlayerTypeEvent.emit(1,
|
||||||
|
TurnControlFactory.Type.COMPUTER);
|
||||||
|
view.settingsPanel.changePlayerTypeEvent.emit(1,
|
||||||
|
TurnControlFactory.Type.HUMAN);
|
||||||
view.settingsPanel.startGameEvent.emit();
|
view.settingsPanel.startGameEvent.emit();
|
||||||
assertNotNull(gameSettings);
|
assertNotNull(gameSettings);
|
||||||
assertEquals(2, gameSettings.getPlayerList().size());
|
assertEquals(2, gameSettings.getPlayerList().size());
|
||||||
assertSame(TurnControlFactory.Type.COMPUTER, gameSettings.getPlayerList().get(0).getTurnControlType());
|
assertSame(TurnControlFactory.Type.COMPUTER, gameSettings
|
||||||
assertSame(TurnControlFactory.Type.HUMAN, gameSettings.getPlayerList().get(1).getTurnControlType());
|
.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 {
|
public class StoneHeapTest {
|
||||||
private StoneHeap testHeap;
|
private StoneHeap testHeap;
|
||||||
|
private GameSettings testSettings;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
@Before
|
@Before
|
||||||
public void createHeap() {
|
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
|
@Test
|
||||||
public void fullStoneHeap() {
|
public void fullStoneHeap() {
|
||||||
assertEquals(106, testHeap.heap.size());
|
assertEquals(calculateTotalNumberOfStones(), testHeap.heap.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -33,6 +42,8 @@ public class StoneHeapTest {
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void fullColor() {
|
public void fullColor() {
|
||||||
|
int stonesOfAColor = testSettings.getHighestCard()
|
||||||
|
* testSettings.getStoneSetNumber();
|
||||||
Map<StoneColor, Integer> counters = new HashMap<StoneColor, Integer>();
|
Map<StoneColor, Integer> counters = new HashMap<StoneColor, Integer>();
|
||||||
for (StoneColor c : EnumSet.allOf(StoneColor.class)) {
|
for (StoneColor c : EnumSet.allOf(StoneColor.class)) {
|
||||||
counters.put(c, 0);
|
counters.put(c, 0);
|
||||||
|
@ -44,7 +55,7 @@ public class StoneHeapTest {
|
||||||
counters.put(i.getColor(), count + 1);
|
counters.put(i.getColor(), count + 1);
|
||||||
}
|
}
|
||||||
for (StoneColor c : EnumSet.allOf(StoneColor.class)) {
|
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())
|
if (i.isJoker())
|
||||||
countJoker++;
|
countJoker++;
|
||||||
}
|
}
|
||||||
assertEquals(2, countJoker);
|
assertEquals(testSettings.getJokerNumber(), countJoker);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
@Test
|
@Test
|
||||||
public void drawStoneTest() {
|
public void drawStoneTest() {
|
||||||
assertNotNull(testHeap.drawStone());
|
assertNotNull(testHeap.drawStone());
|
||||||
assertEquals(105, testHeap.heap.size());
|
assertEquals(calculateTotalNumberOfStones() - 1, testHeap.heap.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
|
@ -73,6 +84,6 @@ public class StoneHeapTest {
|
||||||
public void drawStonesTest() {
|
public void drawStonesTest() {
|
||||||
List<Stone> testStones = testHeap.drawStones(5);
|
List<Stone> testStones = testHeap.drawStones(5);
|
||||||
assertEquals(5, testStones.size());
|
assertEquals(5, testStones.size());
|
||||||
assertEquals(101, testHeap.heap.size());
|
assertEquals(calculateTotalNumberOfStones() - 5, testHeap.heap.size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue