public void TestSeekShouldUpdateAtMaxSpeedUntilSeekFinished() { var gameReplay = NSubstitute.Substitute.For <GameReplayPlayer> (); gameReplay.GetTotalTime().Returns(100.0f); gameReplay.GetMaxAllowedUpdateTime().Returns(1.0f); var replayPlayer = new ReplayPlayerControlsImplementation(gameReplay); replayPlayer.Play(); replayPlayer.Seek(1.8f); Assert.That(replayPlayer.State, Is.EqualTo(ReplayPlayerControlsState.Seeking)); replayPlayer.Update(0.1f); Assert.That(replayPlayer.GetPlaybackTime(), Is.EqualTo(1.0f)); replayPlayer.Update(0.1f); Assert.That(replayPlayer.GetPlaybackTime(), Is.EqualTo(1.8f)); Assert.That(replayPlayer.State, Is.EqualTo(ReplayPlayerControlsState.Paused)); }
public void TestSeekResetStateIfBeforeCurrentTime() { var gameReplay = NSubstitute.Substitute.For <GameReplayPlayer> (); gameReplay.GetTotalTime().Returns(100.0f); gameReplay.GetMaxAllowedUpdateTime().Returns(1.0f); var replayPlayer = new ReplayPlayerControlsImplementation(gameReplay); replayPlayer.Play(); replayPlayer.Update(1.0f); gameReplay.ClearReceivedCalls(); replayPlayer.Seek(0.25f); gameReplay.Received().Reset(); Assert.That(replayPlayer.State, Is.EqualTo(ReplayPlayerControlsState.Seeking)); Assert.That(replayPlayer.GetPlaybackTime(), Is.EqualTo(0.0f)); }