public void G_パラメータでフィルタできる() { var mock = Substitute.For <IObserver <SignalWithClassParameter> >(); var parameterPublishable = new SignalWithClassParameter.ClassParameter(true, 1); var parameterUnpublishable = new SignalWithClassParameter.ClassParameter(true, 1); Receiver.Receive(parameterPublishable).Subscribe(mock.OnNext); Publisher.Publish(SignalWithClassParameter.Create(parameterPublishable)); Publisher.Publish(SignalWithClassParameter.Create(parameterUnpublishable)); mock.Received(1).OnNext(SignalWithClassParameter.Create(parameterPublishable)); mock.DidNotReceive().OnNext(SignalWithClassParameter.Create(parameterUnpublishable)); }
public void F_送信したパラメータを受け取れる() { var mock = Substitute.For <IObserver <SignalWithClassParameter> >(); var parameter = new SignalWithClassParameter.ClassParameter(true, 1); Receiver.Receive().Subscribe(mock.OnNext); Receiver .Receive() .Subscribe( signal => { Assert.That(signal.Parameter.BoolValue, Is.True); Assert.That(signal.Parameter.IntValue, Is.EqualTo(1)); } ); Publisher.Publish(SignalWithClassParameter.Create(parameter)); Publisher.Publish(SignalWithClassParameter.Create(parameter)); mock.Received(2).OnNext(SignalWithClassParameter.Create(parameter)); }