/// <summary>
 /// Test class must specify the expected time it takes for the publisher to
 /// shut itself down when the the last downstream <see cref="ISubscription"/> is cancelled.
 ///
 /// The processor will be required to be able to buffer <see cref="TestEnvironment.TestBufferSize"/> elements.
 /// </summary>
 /// <param name="environment">The test environment</param>
 /// <param name="publisherReferenceGcTimeoutMillis"> used to determine after how much time a reference to a Subscriber should be already dropped by the Publisher.</param>
 /// <param name="processorBufferSize"> number of elements the processor is required to be able to buffer. Default <see cref=" TestEnvironment.TestBufferSize"/></param>
 protected IdentityProcessorVerification(TestEnvironment environment, long publisherReferenceGcTimeoutMillis, int processorBufferSize = TestEnvironment.TestBufferSize)
 {
     _environment            = environment;
     _processorBufferSize    = processorBufferSize;
     _subscriberVerification = new IdentifierWhiteboxVerification(this);
     _publisherVerification  = new IdentifierPublisherVerification(this, publisherReferenceGcTimeoutMillis);
 }
 /// <summary>
 /// Test class must specify the expected time it takes for the publisher to
 /// shut itself down when the the last downstream <see cref="ISubscription"/> is cancelled.
 ///
 /// The processor will be required to be able to buffer <see cref="TestEnvironment.TestBufferSize"/> elements.
 /// </summary>
 protected IdentityProcessorVerification(TestEnvironment environment)
     : this(environment, PublisherVerification <T> .EnvironmentPublisherReferenceGcTimeoutMilliseconds())
 {
 }