public void Given_0234_redistribute_should_produce_1341() { var bank = new MemoryBankDistribution(); var result = new int[] { 0, 2, 3, 4 }; var expected = new int[] { 1, 3, 4, 1 }; bank.Redistribute(result); Assert.True(AreSame(expected, result)); }
public void Given_0270_find_duplicate_should_produce_4_on_second_round() { var bank = new MemoryBankDistribution(2); var input = new int[] { 0, 2, 7, 0 }; const int EXPECTED = 4; var result = bank.FindDuplicateDistribution(input); Assert.Equal(EXPECTED, result); }
public void Given_2412_redistribute_should_produce_3123() { var bank = new MemoryBankDistribution(); var result = new int[] { 2, 4, 1, 2 }; var expected = new int[] { 3, 1, 2, 3 }; bank.Redistribute(result); Assert.True(AreSame(expected, result)); }
public void given_input_should_stop_after_14029_cycles_when_looking_for_second_cycle() { var bank = new MemoryBankDistribution(2); var input = new int[] { 10, 3, 15, 10, 5, 15, 5, 15, 9, 2, 5, 8, 5, 2, 3, 6 }; const int EXPECTED = 2765; var result = bank.FindDuplicateDistribution(input); Assert.Equal(EXPECTED, result); }