public void BasicTestInvalidOrder() { var pots = new CalculateSnookerBreakTotal.SnookerBall[] { CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Yellow, CalculateSnookerBreakTotal.SnookerBall.Brown, CalculateSnookerBreakTotal.SnookerBall.Green, CalculateSnookerBreakTotal.SnookerBall.Pink, CalculateSnookerBreakTotal.SnookerBall.Blue, CalculateSnookerBreakTotal.SnookerBall.Black, }; Assert.Throws <Exception>(() => { CalculateSnookerBreakTotal.SumBreak(pots); }); }
public void SoClose() { var pots = new CalculateSnookerBreakTotal.SnookerBall[] { CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Yellow, CalculateSnookerBreakTotal.SnookerBall.Green, CalculateSnookerBreakTotal.SnookerBall.Brown, CalculateSnookerBreakTotal.SnookerBall.Blue, CalculateSnookerBreakTotal.SnookerBall.Pink, }; int tot = CalculateSnookerBreakTotal.SumBreak(pots); Assert.AreEqual(140, tot); }
public void BasicTest() { var pots = new CalculateSnookerBreakTotal.SnookerBall[] { CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Black, CalculateSnookerBreakTotal.SnookerBall.Red, CalculateSnookerBreakTotal.SnookerBall.Pink }; int tot = CalculateSnookerBreakTotal.SumBreak(pots); Assert.AreEqual(15, tot); }
public void RandomTests() { var r = new Random(); for (int i = 0; i < 50; i++) { var pots = new List <CalculateSnookerBreakTotal.SnookerBall>(); int length = (r.Next() % 36) + 1; for (int j = 0; j < length; j++) { int shot = j + 1; bool even = shot % 2 == 0; // 50/50 chance for potting a red on odd go... if (shot <= 30 && !even) { bool isRed = r.Next() % 2 == 0; if (isRed) { pots.Add(CalculateSnookerBreakTotal.SnookerBall.Red); } else { var pot = (CalculateSnookerBreakTotal.SnookerBall)((r.Next() % 6) + 2); pots.Add(pot); } } else { var pot = (CalculateSnookerBreakTotal.SnookerBall)((r.Next() % 7) + 1); pots.Add(pot); } } try { int expected = ActualSnookerBreak(pots.ToArray()); int actual = CalculateSnookerBreakTotal.SumBreak(pots.ToArray()); Assert.AreEqual(expected, actual); } catch { Assert.Throws <Exception>(() => { CalculateSnookerBreakTotal.SumBreak(pots.ToArray()); }); } } }
public void BasicTestFoul() { var pots = new CalculateSnookerBreakTotal.SnookerBall[] { CalculateSnookerBreakTotal.SnookerBall.Pink, }; Assert.Throws <Exception>(() => { CalculateSnookerBreakTotal.SumBreak(pots); }); }