public void Submit_100_Messages_Result_In_100_Delivered_UserMessages_And_100_Notified_Receipts()
        {
            // Arrange
            const int messageCount = 100;

            Corner2.PlaceMessages(messageCount, SIMPLE_ONEWAY_TO_C3);

            // Act
            Corner2.Start();
            Corner3.Start();

            // Assert
            PollingTillAllMessages(
                messageCount,
                pollingRetries: 120,
                corner: Corner3,
                assertion: () => AssertMessages(messageCount));

            PollingTillAllMessages(
                messageCount,
                pollingRetries: 120,
                corner: Corner3,
                assertion: () => Assert.True(
                    messageCount == Corner2.CountReceivedReceipts(),
                    $"Corner 2 notifies {messageCount} receipts"));
        }
        private void AssertMessages(int expectedSize)
        {
            int actualSize = Corner3.FirstDeliveredMessageLength("*.jpg");

            int Floor(int i) => (int)(i * 0.1);

            Assert.Equal(Floor(expectedSize), Floor(actualSize));
        }
        private void AssertMessages(int messageCount)
        {
            void AssertOnFileCount(int expectedCount, string searchPattern, string userMessage)
            {
                int actualCount = Corner3.CountDeliveredMessages(searchPattern);

                if (expectedCount != actualCount)
                {
                    throw new AssertActualExpectedException(expectedCount, actualCount, userMessage);
                }
            }

            AssertOnFileCount(messageCount, "*.jpg", $"Payloads count expected to be '{messageCount}'");
            AssertOnFileCount(messageCount, "*.xml", $"Deliver Message count expected to be '{messageCount}'");
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="PerformanceTestBridge"/> class.
        /// </summary>
        /// <param name="fixture">The fixture.</param>
        /// <param name="outputHelper"></param>
        /// <param name="startup"></param>
        public PerformanceTestBridge(
            CornersFixture fixture,
            ITestOutputHelper outputHelper,
            CornerStartup startup = CornerStartup.Auto)
        {
            Corner2 = fixture.Corner2;
            Corner3 = fixture.Corner3;

            if (startup == CornerStartup.Auto)
            {
                Corner2.Start();
                Corner3.Start();
            }

            Corner2.TryCleanupMessages();
            Corner3.TryCleanupMessages();

            _outputHelper = outputHelper;
            _stopWatch    = Stopwatch.StartNew();
        }
Example #5
0
 public override string ToString()
 {
     return("Rectangle [" + Corner1.ToString() + ", " + Corner2.ToString() + ", "
            + Corner3.ToString() + ", " + Corner4.ToString() + "]");
 }