public void ChildCircle_ThrowsArgumentException_WhenInvalidNumberOfChildrenParameter() { try { var circle = new ChildCircle(0, 2); } catch (ArgumentException exc) { Assert.AreEqual(JosephusTestResources.NumberOfChildrenArgumentException, exc.Message); throw; } }
public void ChildCircle_ThrowsArgumentException_WhenInvalidEliminatePositionParameter() { try { var circle = new ChildCircle(1, -2); } catch (ArgumentException exc) { Assert.AreEqual(JosephusTestResources.EliminatePositionArgumentException, exc.Message); throw; } }
public void ChildCircle_ReturnsCorrectWinner() { var circle = new ChildCircle(5, 2); var winner = circle.GetWinner(); Assert.AreEqual(winner, 3); Assert.AreEqual(circle.RemovedChildren.Count, 4); Assert.AreEqual(circle.RemovedChildren[0], 2); Assert.AreEqual(circle.RemovedChildren[1], 4); Assert.AreEqual(circle.RemovedChildren[2], 1); Assert.AreEqual(circle.RemovedChildren[3], 5); }