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"));
        }
        /// <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();
        }