-
Notifications
You must be signed in to change notification settings - Fork 28
Description
Maybe this isn't the right place for this but currently I have code available for C# (RxJava 2 doesn't do IdentityProcessorVerification).
I've encountered problems with the IdentityProcessorVerification:
Required_spec104_mustCallOnErrorOnAllItsSubscribersIfItEncountersANonRecoverableError
Looking at the source code, this test expects that an Exception is delivered eagerly to an ISubscriber even if it hasn't requested. My fanout IPublisher implementation first delivers available items and then any error which I believe is also legal. Maybe the verification at L347 could first check if there was an error emitted and if not, request 1 from sub2 and then check for the value and the error.
Required_exerciseWhiteboxHappyPath
Looks like this test expects that when a single the ISubscriber cancels its ISubscription, the IProcessor cancels its ISubscription. The same fanout IPublisher won't cancel its ISubscription as ISubscribers are allowed to come and go at will. I think both behaviors are acceptable and maybe this check should be optionally disabled via a public virtual long SupportsUpstreamCancelOnSubscriberCancel { get; } parameter for example.