public void NoDenominationsProduceNoSolution()
        {
            var strategy = new DynamicStrategy();
            var result   = strategy.Solve(1, Array.Empty <int>());

            Assert.That(result, Is.Not.Null, "The result should have been returned.");
            Assert.That(result, Is.Empty, "The result should not contain any denominations.");
        }
        public void NoValueProducesNoSolution(int value)
        {
            var strategy = new DynamicStrategy();
            var result   = strategy.Solve(value, new[] { 1, 5, 10, 25 });

            Assert.That(result, Is.Not.Null, "The result should have been returned.");
            Assert.That(result, Is.Empty, "The result should not contain any denominations.");
        }
        public void UnsolvableCombinationsProduceNoSolution(int value,
                                                            int[] denominations)
        {
            var strategy = new DynamicStrategy();
            var result   = strategy.Solve(value, denominations);

            Assert.That(result, Is.Not.Null, "The result should have been returned.");
            Assert.That(result, Is.Empty, "The result should not contain any denominations.");
        }
        public void SolvableCasesProduceCorrectSolutions(int value,
                                                         int[] denominations,
                                                         IReadOnlyList <CoinUse> expectedResult)
        {
            var strategy = new DynamicStrategy();
            var result   = strategy.Solve(value, denominations);

            Assert.That(result, Is.Not.Null, "The result should have been returned.");
            Assert.That(result.IsEquivalentTo(expectedResult), Is.True, "The result should have matched the expectation.");
        }
Пример #5
0
        public void DynamycStrategy_CallculateSumShould()
        {
            int[,] nodes = new int[4, 4]
            {
                { 1, 0, 0, 0 },
                { 8, 9, 0, 0 },
                { 1, 5, 9, 0 },
                { 4, 5, 2, 3 }
            };

            IBinaryTree tree   = new ArrayTreeReader(nodes).Read();
            long        maxSum = new DynamicStrategy().CalculateSum(tree);

            Assert.Equal(16, maxSum);
        }
Пример #6
0
        static void Main(string[] args)
        {
            DynamicStrategy.Run();

            StaticStrategy.Run();
        }