public void TestUpdateStatsSnapshotCount() { // //Arrange // var streamStatsActorRef = ActorOfAsTestActorRef <StreamStatsActor>( Props.Create(() => new StreamStatsActor()), StreamStatsActor.ActorName); var dateNow = DateTime.UtcNow; var updateStatsStartMsg = new UpdateStatsStartMsg { UpdateReceivedAt = dateNow, Sequence = 1, IsSnapshot = true, Fixture = new Fixture { Id = "Fixture1Id", Sequence = 1, Epoch = 1, MatchStatus = MatchStatus.Prematch.ToString() } }; var updateStatsFinishMsg = new UpdateStatsFinishMsg { CompletedAt = dateNow.AddMilliseconds(1500) }; // //Act // streamStatsActorRef.Tell(updateStatsStartMsg); Task.Delay(TimeSpan.FromMilliseconds(500)); streamStatsActorRef.Tell(updateStatsFinishMsg); Task.Delay(TimeSpan.FromMilliseconds(500)); streamStatsActorRef.Tell(updateStatsStartMsg); Task.Delay(TimeSpan.FromMilliseconds(500)); streamStatsActorRef.Tell(updateStatsFinishMsg); // //Assert // AwaitAssert(() => { Assert.AreEqual(2, streamStatsActorRef.UnderlyingActor.SnapshotsCount); Assert.AreEqual(0, streamStatsActorRef.UnderlyingActor.StreamUpdatesCount); Assert.AreEqual(0, streamStatsActorRef.UnderlyingActor.DisconnectionsCount); Assert.AreEqual(0, streamStatsActorRef.UnderlyingActor.ErrorsCount[StreamStatsActor.PluginExceptionType]); Assert.AreEqual(0, streamStatsActorRef.UnderlyingActor.ErrorsCount[StreamStatsActor.ApiExceptionType]); Assert.AreEqual(0, streamStatsActorRef.UnderlyingActor.ErrorsCount[StreamStatsActor.GenericExceptionType]); Assert.AreEqual(DateTime.MinValue, streamStatsActorRef.UnderlyingActor.LastDisconnectedDate); }, TimeSpan.FromMilliseconds(ASSERT_WAIT_TIMEOUT), TimeSpan.FromMilliseconds(ASSERT_EXEC_INTERVAL)); }
private void UpdateStatsStartMsgHandler(UpdateStatsStartMsg msg) { _startMessagesStack.Push(msg); }