public void Constructor_SetsMaxLoopCount_WhenCalled() { // Arrange CircleAsBitArray sut = CreateSut(); // Act // Assert Assert.Equal(10000000, sut.MaxLoopCount); }
public void NextPersonId_Throws_ForToManyLoops() { // Arrange bool[] bitArray = Enumerable.Repeat(false, 10).ToArray(); CircleAsBitArray sut = CreateSut(); sut.SetMaxLoopCount(2); // Act // Assert Assert.Throws <ArgumentException>(() => sut.NextPersonId(bitArray, 1)); }
public void Run(int numberOfPeopleStandingInACircle, int numberOfPeopleToCountOverEachTime) { var circle = new CircleAsBitArray(); IEnumerable <int> result = circle.Run(numberOfPeopleStandingInACircle, numberOfPeopleToCountOverEachTime).ToArray(); int winner = result.Last(); System.Console.WriteLine("The sequence of children as they are eliminated: {0}", m_Helper.ArrayToString(result)); System.Console.WriteLine("The id of the winning child: {0}", winner); }
public void NextPersonId_ReturnsNextPersonId_WhenCalled( int personId, int expected, bool[] array) { // Arrange CircleAsBitArray sut = CreateSut(); // Act int actual = sut.NextPersonId(array, personId); // Assert Assert.Equal(expected, actual); }
public void Run_ReturnsPersonIds_WhenCalled( int numberOfPeople, int countTo, int[] expected) { // Arrange CircleAsBitArray sut = CreateSut(); // Act IEnumerable <int> actual = sut.Run(numberOfPeople, countTo); // Assert TestHelper.AssertArray(expected, actual); }
public void Run_ReturnsPersonIds_WhenCalled( int numberOfPeople, int countTo, int expectedWinner) { // Arrange CircleAsBitArray sut = CreateSut(); // Act int actual = sut.Run(numberOfPeople, countTo).Last(); // Assert Assert.Equal(expectedWinner, actual); }