Skip to content

RC1 TCK: IdentityProcessorVerification expectations #30

@akarnokd

Description

@akarnokd

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions