public MessagesStatistic Count()
        {
            var allMessages = GetAllMessages();

            var generalMessages = GetGeneralMessages(allMessages);

            var receivedMessages = GetReceivedMessages(allMessages);

            var generalReceivedMessages = GetGeneralReceivedMessages(receivedMessages);

            var avarageDeliveryTime = CountAvarageDeliveryTime(receivedMessages);

            var avarageGeneralMessagesDeliveryTime = CountAvarageGeneralMessagesDeliveryTime(generalReceivedMessages);

            var receivedSize = CountReceivedSize(receivedMessages);

            var receivedDataSize = CountReceivedDataSize(receivedMessages);

            var messageStatistic = new MessagesStatistic
            {
                MessagesCount                      = allMessages.GroupBy(m => m.ParentId).Count(),
                GeneralMessagesCount               = generalMessages.GroupBy(m => m.ParentId).Count(),
                ReceivedMessagesCount              = receivedMessages.GroupBy(m => m.ParentId).Count(),
                GeneralMessagesReceivedCount       = generalReceivedMessages.GroupBy(m => m.ParentId).Count(),
                AvarageDeliveryTime                = avarageDeliveryTime,
                AvarageGeneralMessagesDeliveryTime = avarageGeneralMessagesDeliveryTime,
                TotalReceivedMessagesSize          = receivedSize,
                TotalReceivedDataSize              = receivedDataSize
            };

            return(messageStatistic);
        }
Exemple #2
0
 private void ShowOnGui(MessagesStatistic messagesStatistic)
 {
     MessagesCount.Text                      = messagesStatistic.MessagesCount.ToString();
     GeneralMessagesCount.Text               = messagesStatistic.GeneralMessagesCount.ToString();
     ReceivedMessagesCount.Text              = messagesStatistic.ReceivedMessagesCount.ToString();
     GeneralReceivedMessagesCount.Text       = messagesStatistic.GeneralMessagesReceivedCount.ToString();
     AverageDeliveryTime.Text                = messagesStatistic.AvarageDeliveryTime.ToString("N");
     GeneralMessagesAverageDeliveryTime.Text = messagesStatistic.AvarageGeneralMessagesDeliveryTime.ToString("N");
     TotalReceivedMessagesSize.Text          = messagesStatistic.TotalReceivedMessagesSize.ToString();
     TotalReceivedDataSize.Text              = messagesStatistic.TotalReceivedDataSize.ToString();
 }
Exemple #3
0
        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
            };
        }
Exemple #4
0
        public MessagesStatisticWindow(MessagesStatistic messagesStatistic)
        {
            InitializeComponent();

            ShowOnGui(messagesStatistic);
        }