public void DebugOutputViewModelPendingQueueExpectedQueuesMessagesAndFlushesWhenFinishedProcessing()
{
ImportService.CurrentContext = _importServiceContext;
var envRepo = new Mock<IEnvironmentRepository>();
envRepo.Setup(e => e.All()).Returns(new List<IEnvironmentModel>());
envRepo.Setup(e => e.IsLoaded).Returns(true);
var vm = new DebugOutputViewModel(envRepo.Object) { DebugStatus = DebugStatus.Executing };
for(var i = 0; i < 10; i++)
{
var state = new Mock<IDebugState>();
var stateType = i % 2 == 0 ? StateType.Message : StateType.After;
state.Setup(s => s.StateType).Returns(stateType);
vm.Append(state.Object);
}
Assert.AreEqual(5, vm.PendingItemCount);
Assert.AreEqual(5, vm.ContentItemCount);
vm.DebugStatus = DebugStatus.Finished;
Assert.AreEqual(0, vm.PendingItemCount);
Assert.AreEqual(10, vm.ContentItemCount);
}