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."); }
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); }
static void Main(string[] args) { DynamicStrategy.Run(); StaticStrategy.Run(); }