diff options
Diffstat (limited to 'dice/src/test/java/bjc/dicelang/neodice/DieTest.java')
| -rw-r--r-- | dice/src/test/java/bjc/dicelang/neodice/DieTest.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/dice/src/test/java/bjc/dicelang/neodice/DieTest.java b/dice/src/test/java/bjc/dicelang/neodice/DieTest.java new file mode 100644 index 0000000..fc69f99 --- /dev/null +++ b/dice/src/test/java/bjc/dicelang/neodice/DieTest.java @@ -0,0 +1,45 @@ +package bjc.dicelang.neodice; + +import static org.junit.Assert.*; + +import java.util.*; + +import org.junit.*; + +@SuppressWarnings("javadoc") +public class DieTest { + private final static Random rng = new Random(); + + @Test + public void onesidedDiceReturnOne() { + Die die = DieFactory.polyhedral(1); + + for (int i = 0; i < 10; i++) { + assertEquals("One-sided dice always return 1", 1, die.roll(rng)); + } + } + + @Test + public void polyhedralDiceStayInRange() { + Die die = DieFactory.polyhedral(6); + + for (int i = 0; i < 50; i++) { + int result = die.roll(rng); + + boolean inRange = result <= 6 && result >= 1; + + assertTrue("Six-sided dice always return a value from 1 to 6", inRange); + } + } + + public void polyhedralDiceEqualityFunctionsProperly() { + Die dieA1 = DieFactory.polyhedral(1); + Die dieA2 = DieFactory.polyhedral(1); + Die dieB1 = DieFactory.polyhedral(2); + + assertEquals("Polyhedral dice with the same number of sides are equal", + dieA1, dieA2); + assertNotEquals("Polyhedral dice with a diffeent number of sides aren't equal", + dieA1, dieB1); + } +} |
