public void ShouldReturnFalse_WhenReducerFunctionIsNotRegistered() { var testSubject = new MultiActionReducerTestSubject(); var unsupportedAction = new UnsupportedAction(); Assert.False(testSubject.ShouldReduceStateForAction(unsupportedAction)); }
public void ShouldThrowInvalidOperationException_WhenNoReducerFunctionIsRegisteredForActionType() { var testSubject = new MultiActionReducerTestSubject(); var state = new MultiActionReducerTestState(42); var unsupportedAction = new UnsupportedAction(); Assert.Throws <InvalidOperationException>(() => state = testSubject.Reduce(state, unsupportedAction)); }
public void ShouldReturnTrue_WhenReducerFunctionIsRegistered() { var testSubject = new MultiActionReducerTestSubject(); var addAction = new AddAction(1); Assert.True(testSubject.ShouldReduceStateForAction(addAction)); var multiplyAction = new MultiplyAction(1); Assert.True(testSubject.ShouldReduceStateForAction(multiplyAction)); }
public void ShouldExecuteReducerFunction_WhenReducerFunctionIsRegisteredForActionType() { var testSubject = new MultiActionReducerTestSubject(); var state = new MultiActionReducerTestState(41); var addAction = new AddAction(1); state = testSubject.Reduce(state, addAction); Assert.Equal(42, state.Balance); state = new MultiActionReducerTestState(4); var multiplyAction = new MultiplyAction(10); state = testSubject.Reduce(state, multiplyAction); Assert.Equal(40, state.Balance); }