Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
        }