public void Setup() { _messageRegistratorMock = new Mock <IMessageRegistrator>(); _messageRepoMock = new Mock <IMessageRepository>(); _messagesStatisticCounter = new MessagesStatisticCounter(_messageRegistratorMock.Object, _messageRepoMock.Object); _finishedMessage = new Message { ParentId = Guid.NewGuid(), IsReceived = true, DataSize = 5, ServiceSize = 2, MessageType = MessageType.MatrixUpdateMessage }; _unfinishedMessage = new Message { ParentId = Guid.NewGuid(), DataSize = 5, ServiceSize = 2 }; _messageRegistratorMock.Setup(m => m.MessagesStartTimes) .Returns(new Dictionary <Guid, long> { [_finishedMessage.ParentId] = 0, [_unfinishedMessage.ParentId] = 1, }); _messageRegistratorMock.Setup(m => m.MessagesEndTimes) .Returns(new Dictionary <Guid, long> { [_finishedMessage.ParentId] = 3 }); _messageRepoMock.Setup(m => m.GetAllMessages(It.IsAny <uint?>(), It.IsAny <MessageFiltrationMode>())) .Returns(new[] { _finishedMessage, _unfinishedMessage }); const int avarageDeliveryTime = 3; _expectedStatistic = new MessagesStatistic { MessagesCount = 2, GeneralMessagesCount = 1, AvarageDeliveryTime = avarageDeliveryTime, GeneralMessagesReceivedCount = 0, ReceivedMessagesCount = 1, TotalReceivedDataSize = _finishedMessage.DataSize, TotalReceivedMessagesSize = _finishedMessage.Size }; }
private void InitializeAllServices(double messageGenerateChance, int tableUpdatePeriod, bool isPackageMode, bool isRouterStupid, int messagesSize) { if (isRouterStupid) { _messageRouter = new IndependentMessageRouter(_network); } else { _messageRouter = new MessageRouter(_network); } if (isPackageMode) { _messageCreator = new PackageMessageCreator(_network, _messageRouter); } else { _messageCreator = new RequestMessageCreator(_network, _messageRouter); } _positiveResponseMessageCreator = new PositiveResponseCreator(_network, _messageRouter); _negativeResponseMessageCreator = new NegativeResponseCreator(_network, _messageRouter); _messageHandler = new MessageHandler(_network, _messageCreator, _positiveResponseMessageCreator); _messageReceiver = new MessageReceiver(_messageHandler, _negativeResponseMessageCreator); _messageExchanger = new MessageExchanger(_network, _messageReceiver); if (messagesSize > 0) { _messageGenerator = new SpecifiedSizeMessageGenerator(_network, _messageCreator, messageGenerateChance, messagesSize); } else { _messageGenerator = new MessageGenerator(_network, _messageCreator, messageGenerateChance); } _messageRepository = new MessageRepository(_network); _messageViewUpdater = new MessageViewUpdater(_messageRepository, Messages); _messageRegistrator = new MessageRegistrator(_messageRepository); _messagesStatisticCounter = new MessagesStatisticCounter(_messageRegistrator, _messageRepository); _backgroundWorker = new Background.BackgroundWorker(_messageExchanger, _messageGenerator, _networkDrawer, _messageCreator, _messageRegistrator, _messageViewUpdater, tableUpdatePeriod); _messageCreator.UpdateTables(); FiltrationModeSelect_OnSelectionChanged(FiltrationModeSelect, null); _backgroundWorker.Run(); _backgroundWorker.Interval = IntervalSlider.Value; _headerUpdater = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(IntervalSlider.Value) }; _headerUpdater.Tick += (sender, args) => Title = $"Coursework (time: {_backgroundWorker.Ticks})"; _headerUpdater.Start(); }