/// <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);
 }
Example #2
0
 public WhiteboxTestStage(TestEnvironment environment, SubscriberWhiteboxVerification <T> verification, bool runDefaultInit = true) : base(environment)
 {
     _verification = verification;
     if (runDefaultInit)
     {
         Publisher = CreateHelperPublisher(long.MaxValue);
         Tees      = Environment.NewManualSubscriber(Publisher);
         Probe     = new WhiteboxSubscriberProbe <T>(Environment, Subscriber);
         Subscribe(verification.CreateSubscriber(Probe));
         Probe.Puppet.ExpectCompletion(environment.DefaultTimeoutMilliseconds,
                                       $"Subscriber {Sub} did not call `RegisterOnSubscribe`");
     }
 }
Example #3
0
 public Spec203OnErrorSubscription(SubscriberWhiteboxVerification <T> verification)
 {
     _environment = verification._environment;
 }