public void Part2(string cups, int rounds, long expected) { var cupsArr = cups.Select(c => Convert.ToInt32(c.ToString())).ToArray(); var sut = new CupsGame(cupsArr.Concat(this.Generate(cupsArr.Max())).ToArray()); var actual = sut.Play(rounds); Assert.Equal(expected, BigInteger.Multiply(actual[1], actual[actual[1]])); }
public void Part1(string cups, int rounds, string expected) { var sut = new CupsGame(cups.Select(c => Convert.ToInt32(c.ToString())).ToArray()); var actual = sut.Play(rounds); var result = ""; var index = 1; while (true) { if (actual[index] == 1) { break; } result += actual[index]; index = actual[index]; } Assert.Equal(expected, result); }