public void handle_if_two_values_already_is_supplied() { var x = new AddNumberEngine(); x.Input("3"); x.Input("6"); ExpectException(AddNumberEngine.Error.AlreadyHaveTwoValues, () => x.Input("9")); int result = x.Result(); Assert.AreEqual(3 + 4 + 5 + 6, result); }
public void should_add_numbers_between_three_and_six() { // (happy path) var x = new AddNumberEngine(); x.Input("3"); x.Input("6"); int result = x.Result(); Assert.AreEqual(3 + 4 + 5 + 6, result); }
public void handle_if_second_value_is_lower_than_the_first_number() { var x = new AddNumberEngine(); x.Input("3"); ExpectException(AddNumberEngine.Error.SecondValueCantBeLowerThanFirst, () => x.Input("2")); x.Input("6"); int result = x.Result(); Assert.AreEqual(3 + 4 + 5 + 6, result); }
public void handle_if_result_is_called_too_early() { var x = new AddNumberEngine(); ExpectException(AddNumberEngine.Error.DontHaveTwoValues, () => x.Result()); x.Input("3"); ExpectException(AddNumberEngine.Error.DontHaveTwoValues, () => x.Result()); x.Input("6"); int result = x.Result(); Assert.AreEqual(3 + 4 + 5 + 6, result); }
public void should_handle_inputs_that_are_not_number() { var x = new AddNumberEngine(); ExpectException(AddNumberEngine.Error.InputIsNotNumber, () => x.Input(null)); ExpectException(AddNumberEngine.Error.InputIsNotNumber, () => x.Input("")); ExpectException(AddNumberEngine.Error.InputIsNotNumber, () => x.Input("a")); x.Input("3"); ExpectException(AddNumberEngine.Error.InputIsNotNumber, () => x.Input("b")); x.Input("6"); ExpectException(AddNumberEngine.Error.InputIsNotNumber, () => x.Input("c")); ExpectException(AddNumberEngine.Error.InputIsNotNumber, () => x.Input(null)); int result = x.Result(); Assert.AreEqual(3 + 4 + 5 + 6, result); }