public void NoStrategy_ThrowsException() { // Arrange var calculations = Enumerable.Empty <IBinaryCalculation>(); var calculator = new AggregateCalculator(calculations); // Act Action run = () => calculator.Solve(new CalculationCommand()); // Assert run.ShouldThrow <ArgumentException>(); }
public void ValidStrategy_CallsStrategy() { // Arrange var calculation = CreateMockCalculation(); var calculations = Enumerable.Repeat(calculation, 1); var calculator = new AggregateCalculator(calculations); // Act calculator.Solve(new CalculationCommand()); // Assert calculation.Received().Apply(0, 0); }