Yatzy { public static int yatzy(int... dice) { int[] counts = new int[6]; for (int die : dice) counts[die-1]++; for (int i = 0; i != 6; i++) if (counts[i] == 5) return 50; return 0; } Yatzy(int d1, int d2, int d3, int d4, int _5); static int chance(int d1, int d2, int d3, int d4, int d5); static int yatzy(int... dice); static int ones(int d1, int d2, int d3, int d4, int d5); static int twos(int d1, int d2, int d3, int d4, int d5); static int threes(int d1, int d2, int d3, int d4, int d5); int fours(); int fives(); int sixes(); static int score_pair(int d1, int d2, int d3, int d4, int d5); static int two_pair(int d1, int d2, int d3, int d4, int d5); static int four_of_a_kind(int _1, int _2, int d3, int d4, int d5); static int three_of_a_kind(int d1, int d2, int d3, int d4, int d5); static int smallStraight(int d1, int d2, int d3, int d4, int d5); static int largeStraight(int d1, int d2, int d3, int d4, int d5); static int fullHouse(int d1, int d2, int d3, int d4, int d5);  }
@Test public void yatzy_scores_50() { int expected = 50; int actual = Yatzy.yatzy(4,4,4,4,4); assertEquals(expected, actual); assertEquals(50, Yatzy.yatzy(6,6,6,6,6)); assertEquals(0, Yatzy.yatzy(6,6,6,6,3)); }