org.reactivestreams.tck.flow.support.PublisherVerificationRules
, org.reactivestreams.tck.flow.support.SubscriberWhiteboxVerificationRules
public abstract class IdentityFlowProcessorVerification<T> extends org.reactivestreams.tck.IdentityProcessorVerification<T> implements org.reactivestreams.tck.flow.support.SubscriberWhiteboxVerificationRules, org.reactivestreams.tck.flow.support.PublisherVerificationRules
Constructor | Description |
---|---|
IdentityFlowProcessorVerification(org.reactivestreams.tck.TestEnvironment env) |
|
IdentityFlowProcessorVerification(org.reactivestreams.tck.TestEnvironment env,
long publisherReferenceGCTimeoutMillis) |
|
IdentityFlowProcessorVerification(org.reactivestreams.tck.TestEnvironment env,
long publisherReferenceGCTimeoutMillis,
int processorBufferSize) |
Modifier and Type | Method | Description |
---|---|---|
protected abstract java.util.concurrent.Flow.Publisher<T> |
createFailedFlowPublisher() |
By implementing this method, additional TCK tests concerning a "failed" Flow publishers will be run.
|
org.reactivestreams.Publisher<T> |
createFailedPublisher() |
|
protected abstract java.util.concurrent.Flow.Processor<T,T> |
createIdentityFlowProcessor(int bufferSize) |
This is the main method you must implement in your test incarnation.
|
org.reactivestreams.Processor<T,T> |
createIdentityProcessor(int bufferSize) |
boundedDepthOfOnNextAndRequestRecursion, createPublisher, createSubscriber, doesCoordinatedEmission, maxElementsFromPublisher, maxSupportedSubscribers, mustImmediatelyPassOnOnErrorEventsReceivedFromItsUpstreamToItsDownstream, notVerified, notVerified, optional_spec104_mustSignalOnErrorWhenFails, optional_spec105_emptyStreamMustTerminateBySignallingOnComplete, optional_spec111_maySupportMultiSubscribe, optional_spec111_multicast_mustProduceTheSameElementsInTheSameSequenceToAllOfItsSubscribersWhenRequestingManyUpfront, optional_spec111_multicast_mustProduceTheSameElementsInTheSameSequenceToAllOfItsSubscribersWhenRequestingManyUpfrontAndCompleteAsExpected, optional_spec111_multicast_mustProduceTheSameElementsInTheSameSequenceToAllOfItsSubscribersWhenRequestingOneByOne, optional_spec111_registeredSubscribersMustReceiveOnNextOrOnCompleteSignals, optional_spec309_requestNegativeNumberMaySignalIllegalArgumentExceptionWithSpecificMessage, optionalMultipleSubscribersTest, required_createPublisher1MustProduceAStreamOfExactly1Element, required_createPublisher3MustProduceAStreamOfExactly3Elements, required_exerciseWhiteboxHappyPath, required_mustRequestFromUpstreamForElementsThatHaveBeenRequestedLongAgo, required_spec101_subscriptionRequestMustResultInTheCorrectNumberOfProducedElements, required_spec102_maySignalLessThanRequestedAndTerminateSubscription, required_spec104_mustCallOnErrorOnAllItsSubscribersIfItEncountersANonRecoverableError, required_spec105_mustSignalOnCompleteWhenFiniteStreamTerminates, required_spec107_mustNotEmitFurtherSignalsOnceOnCompleteHasBeenSignalled, required_spec109_mayRejectCallsToSubscribeIfPublisherIsUnableOrUnwillingToServeThemRejectionMustTriggerOnErrorAfterOnSubscribe, required_spec109_mustIssueOnSubscribeForNonNullSubscriber, required_spec109_subscribeThrowNPEOnNullSubscriber, required_spec201_mustSignalDemandViaSubscriptionRequest, required_spec203_mustNotCallMethodsOnSubscriptionOrPublisherInOnComplete, required_spec203_mustNotCallMethodsOnSubscriptionOrPublisherInOnError, required_spec205_mustCallSubscriptionCancelIfItAlreadyHasAnSubscriptionAndReceivesAnotherOnSubscribeSignal, required_spec208_mustBePreparedToReceiveOnNextSignalsAfterHavingCalledSubscriptionCancel, required_spec209_mustBePreparedToReceiveAnOnCompleteSignalWithoutPrecedingRequestCall, required_spec209_mustBePreparedToReceiveAnOnCompleteSignalWithPrecedingRequestCall, required_spec210_mustBePreparedToReceiveAnOnErrorSignalWithoutPrecedingRequestCall, required_spec210_mustBePreparedToReceiveAnOnErrorSignalWithPrecedingRequestCall, required_spec213_onError_mustThrowNullPointerExceptionWhenParametersAreNull, required_spec213_onNext_mustThrowNullPointerExceptionWhenParametersAreNull, required_spec213_onSubscribe_mustThrowNullPointerExceptionWhenParametersAreNull, required_spec302_mustAllowSynchronousRequestCallsFromOnNextAndOnSubscribe, required_spec303_mustNotAllowUnboundedRecursion, required_spec306_afterSubscriptionIsCancelledRequestMustBeNops, required_spec307_afterSubscriptionIsCancelledAdditionalCancelationsMustBeNops, required_spec308_requestMustRegisterGivenNumberElementsToBeProduced, required_spec309_requestNegativeNumberMustSignalIllegalArgumentException, required_spec309_requestZeroMustSignalIllegalArgumentException, required_spec312_cancelMustMakeThePublisherToEventuallyStopSignaling, required_spec313_cancelMustMakeThePublisherEventuallyDropAllReferencesToTheSubscriber, required_spec317_mustNotSignalOnErrorWhenPendingAboveLongMaxValue, required_spec317_mustSupportACumulativePendingElementCountUpToLongMaxValue, required_spec317_mustSupportAPendingElementCountUpToLongMaxValue, required_validate_boundedDepthOfOnNextAndRequestRecursion, required_validate_maxElementsFromPublisher, setUp, skipStochasticTests, stochastic_spec103_mustSignalOnMethodsSequentially, untested_spec106_mustConsiderSubscriptionCancelledAfterOnErrorOrOnCompleteHasBeenCalled, untested_spec107_mustNotEmitFurtherSignalsOnceOnErrorHasBeenSignalled, untested_spec108_possiblyCanceledSubscriptionShouldNotReceiveOnErrorOrOnCompleteSignals, untested_spec109_subscribeShouldNotThrowNonFatalThrowable, untested_spec110_rejectASubscriptionRequestIfTheSameSubscriberSubscribesTwice, untested_spec202_shouldAsynchronouslyDispatch, untested_spec204_mustConsiderTheSubscriptionAsCancelledInAfterRecievingOnCompleteOrOnError, untested_spec206_mustCallSubscriptionCancelIfItIsNoLongerValid, untested_spec207_mustEnsureAllCallsOnItsSubscriptionTakePlaceFromTheSameThreadOrTakeCareOfSynchronization, untested_spec211_mustMakeSureThatAllCallsOnItsMethodsHappenBeforeTheProcessingOfTheRespectiveEvents, untested_spec212_mustNotCallOnSubscribeMoreThanOnceBasedOnObjectEquality_specViolation, untested_spec213_failingOnSignalInvocation, untested_spec301_mustNotBeCalledOutsideSubscriberContext, untested_spec304_requestShouldNotPerformHeavyComputations, untested_spec305_cancelMustNotSynchronouslyPerformHeavyComputation, untested_spec310_requestMaySynchronouslyCallOnNextOnSubscriber, untested_spec311_requestMaySynchronouslyCallOnCompleteOrOnError, untested_spec314_cancelMayCauseThePublisherToShutdownIfNoOtherSubscriptionExists, untested_spec315_cancelMustNotThrowExceptionAndMustSignalOnError, untested_spec316_requestMustNotThrowExceptionAndMustOnErrorTheSubscriber
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
optional_spec104_mustSignalOnErrorWhenFails, optional_spec105_emptyStreamMustTerminateBySignallingOnComplete, optional_spec111_maySupportMultiSubscribe, optional_spec111_multicast_mustProduceTheSameElementsInTheSameSequenceToAllOfItsSubscribersWhenRequestingManyUpfront, optional_spec111_multicast_mustProduceTheSameElementsInTheSameSequenceToAllOfItsSubscribersWhenRequestingManyUpfrontAndCompleteAsExpected, optional_spec111_multicast_mustProduceTheSameElementsInTheSameSequenceToAllOfItsSubscribersWhenRequestingOneByOne, optional_spec111_registeredSubscribersMustReceiveOnNextOrOnCompleteSignals, optional_spec309_requestNegativeNumberMaySignalIllegalArgumentExceptionWithSpecificMessage, required_createPublisher1MustProduceAStreamOfExactly1Element, required_createPublisher3MustProduceAStreamOfExactly3Elements, required_spec101_subscriptionRequestMustResultInTheCorrectNumberOfProducedElements, required_spec102_maySignalLessThanRequestedAndTerminateSubscription, required_spec105_mustSignalOnCompleteWhenFiniteStreamTerminates, required_spec107_mustNotEmitFurtherSignalsOnceOnCompleteHasBeenSignalled, required_spec109_mayRejectCallsToSubscribeIfPublisherIsUnableOrUnwillingToServeThemRejectionMustTriggerOnErrorAfterOnSubscribe, required_spec109_mustIssueOnSubscribeForNonNullSubscriber, required_spec109_subscribeThrowNPEOnNullSubscriber, required_spec302_mustAllowSynchronousRequestCallsFromOnNextAndOnSubscribe, required_spec303_mustNotAllowUnboundedRecursion, required_spec306_afterSubscriptionIsCancelledRequestMustBeNops, required_spec307_afterSubscriptionIsCancelledAdditionalCancelationsMustBeNops, required_spec309_requestNegativeNumberMustSignalIllegalArgumentException, required_spec309_requestZeroMustSignalIllegalArgumentException, required_spec312_cancelMustMakeThePublisherToEventuallyStopSignaling, required_spec313_cancelMustMakeThePublisherEventuallyDropAllReferencesToTheSubscriber, required_spec317_mustNotSignalOnErrorWhenPendingAboveLongMaxValue, required_spec317_mustSupportACumulativePendingElementCountUpToLongMaxValue, required_spec317_mustSupportAPendingElementCountUpToLongMaxValue, required_validate_boundedDepthOfOnNextAndRequestRecursion, required_validate_maxElementsFromPublisher, stochastic_spec103_mustSignalOnMethodsSequentially, untested_spec106_mustConsiderSubscriptionCancelledAfterOnErrorOrOnCompleteHasBeenCalled, untested_spec107_mustNotEmitFurtherSignalsOnceOnErrorHasBeenSignalled, untested_spec108_possiblyCanceledSubscriptionShouldNotReceiveOnErrorOrOnCompleteSignals, untested_spec109_subscribeShouldNotThrowNonFatalThrowable, untested_spec110_rejectASubscriptionRequestIfTheSameSubscriberSubscribesTwice, untested_spec304_requestShouldNotPerformHeavyComputations, untested_spec305_cancelMustNotSynchronouslyPerformHeavyComputation
required_exerciseWhiteboxHappyPath, required_spec201_mustSignalDemandViaSubscriptionRequest, required_spec203_mustNotCallMethodsOnSubscriptionOrPublisherInOnComplete, required_spec203_mustNotCallMethodsOnSubscriptionOrPublisherInOnError, required_spec205_mustCallSubscriptionCancelIfItAlreadyHasAnSubscriptionAndReceivesAnotherOnSubscribeSignal, required_spec208_mustBePreparedToReceiveOnNextSignalsAfterHavingCalledSubscriptionCancel, required_spec209_mustBePreparedToReceiveAnOnCompleteSignalWithoutPrecedingRequestCall, required_spec209_mustBePreparedToReceiveAnOnCompleteSignalWithPrecedingRequestCall, required_spec210_mustBePreparedToReceiveAnOnErrorSignalWithoutPrecedingRequestCall, required_spec210_mustBePreparedToReceiveAnOnErrorSignalWithPrecedingRequestCall, required_spec213_onError_mustThrowNullPointerExceptionWhenParametersAreNull, required_spec213_onNext_mustThrowNullPointerExceptionWhenParametersAreNull, required_spec213_onSubscribe_mustThrowNullPointerExceptionWhenParametersAreNull, required_spec308_requestMustRegisterGivenNumberElementsToBeProduced, untested_spec202_shouldAsynchronouslyDispatch, untested_spec204_mustConsiderTheSubscriptionAsCancelledInAfterRecievingOnCompleteOrOnError, untested_spec206_mustCallSubscriptionCancelIfItIsNoLongerValid, untested_spec207_mustEnsureAllCallsOnItsSubscriptionTakePlaceFromTheSameThreadOrTakeCareOfSynchronization, untested_spec211_mustMakeSureThatAllCallsOnItsMethodsHappenBeforeTheProcessingOfTheRespectiveEvents, untested_spec212_mustNotCallOnSubscribeMoreThanOnceBasedOnObjectEquality_specViolation, untested_spec213_failingOnSignalInvocation, untested_spec301_mustNotBeCalledOutsideSubscriberContext, untested_spec310_requestMaySynchronouslyCallOnNextOnSubscriber, untested_spec311_requestMaySynchronouslyCallOnCompleteOrOnError, untested_spec314_cancelMayCauseThePublisherToShutdownIfNoOtherSubscriptionExists, untested_spec315_cancelMustNotThrowExceptionAndMustSignalOnError, untested_spec316_requestMustNotThrowExceptionAndMustOnErrorTheSubscriber
public IdentityFlowProcessorVerification(org.reactivestreams.tck.TestEnvironment env)
public IdentityFlowProcessorVerification(org.reactivestreams.tck.TestEnvironment env, long publisherReferenceGCTimeoutMillis)
public IdentityFlowProcessorVerification(org.reactivestreams.tck.TestEnvironment env, long publisherReferenceGCTimeoutMillis, int processorBufferSize)
protected abstract java.util.concurrent.Flow.Publisher<T> createFailedFlowPublisher()
Flow.Publisher
returned by this method is hand out a subscription,
followed by signalling onError
on it, as specified by Rule 1.9.
If you want to ignore these additional tests, return null
from this method.protected abstract java.util.concurrent.Flow.Processor<T,T> createIdentityFlowProcessor(int bufferSize)
Flow.Processor
, which simply forwards all stream elements from its upstream
to its downstream. It must be able to internally buffer the given number of elements.bufferSize
- number of elements the processor is required to be able to buffer.public final org.reactivestreams.Processor<T,T> createIdentityProcessor(int bufferSize)
createIdentityProcessor
in class org.reactivestreams.tck.IdentityProcessorVerification<T>
public final org.reactivestreams.Publisher<T> createFailedPublisher()
createFailedPublisher
in class org.reactivestreams.tck.IdentityProcessorVerification<T>