public async Task ResetsToConfiguredMaxRateIfPastConfiguredMax() { // Arrange bool?result = null; var state = new RevalidationState { DesiredPackageEventRate = 600 }; _state .Setup(s => s.MaybeUpdateStateAsync(It.IsAny <Func <RevalidationState, bool> >())) .Callback((Func <RevalidationState, bool> a) => { result = a(state); }) .ReturnsAsync(state); // Act await _target.IncreaseDesiredPackageEventRateAsync(); // Assert Assert.Equal(500, state.DesiredPackageEventRate); Assert.True(result); _state.Verify(s => s.MaybeUpdateStateAsync(It.IsAny <Func <RevalidationState, bool> >()), Times.Once); }
public async Task UpdatesState(bool isInitialized) { var result = new RevalidationState { IsInitialized = isInitialized }; _state .Setup(s => s.UpdateStateAsync(It.IsAny <Action <RevalidationState> >())) .Callback((Action <RevalidationState> a) => a(result)) .Returns(Task.CompletedTask); await _target.MarkAsInitializedAsync(); _state.Verify( s => s.UpdateStateAsync(It.IsAny <Action <RevalidationState> >()), Times.Once); Assert.True(result.IsInitialized); }
public async Task UpdatesState() { var result = new RevalidationState { DesiredPackageEventRate = 123 }; _state .Setup(s => s.UpdateStateAsync(It.IsAny <Action <RevalidationState> >())) .Callback((Action <RevalidationState> a) => a(result)) .Returns(Task.CompletedTask); await _target.ResetDesiredPackageEventRateAsync(); _state.Verify( s => s.UpdateStateAsync(It.IsAny <Action <RevalidationState> >()), Times.Once); Assert.Equal(100, result.DesiredPackageEventRate); }
public async Task ReturnsDesiredPackageEventRateValue() { // Arrange bool?result = null; var state = new RevalidationState { DesiredPackageEventRate = 123 }; _state .Setup(s => s.MaybeUpdateStateAsync(It.IsAny <Func <RevalidationState, bool> >())) .Callback((Func <RevalidationState, bool> a) => { result = a(state); }) .ReturnsAsync(state); // Act & Assert Assert.Equal(123, await _target.GetDesiredPackageEventRateAsync()); Assert.False(result); _state.Verify(s => s.MaybeUpdateStateAsync(It.IsAny <Func <RevalidationState, bool> >()), Times.Once); }
public async Task UpdatesRateIfCurrentRateOutsideofConfiguredBounds(int storedRate, int expectedRate) { // Arrange bool?result = null; var state = new RevalidationState { DesiredPackageEventRate = storedRate }; _state .Setup(s => s.MaybeUpdateStateAsync(It.IsAny <Func <RevalidationState, bool> >())) .Callback((Func <RevalidationState, bool> a) => { result = a(state); }) .ReturnsAsync(state); // Act & Assert Assert.Equal(expectedRate, await _target.GetDesiredPackageEventRateAsync()); Assert.True(result); _state.Verify(s => s.MaybeUpdateStateAsync(It.IsAny <Func <RevalidationState, bool> >()), Times.Once); }
public RevalidationPageViewModel(RevalidationState state, RevalidationStatistics statistics) { State = state ?? throw new ArgumentNullException(nameof(state)); Statistics = statistics ?? throw new ArgumentNullException(nameof(statistics)); }