Exemple #1
0
        public void A_OnCompletedが即送信される()
        {
            var mock = Substitute.For <IObserver <SingleSignal> >();

            Receiver.Receive().DoOnCompleted(mock.OnCompleted).Subscribe();

            Publisher.Publish(SingleSignal.Create());

            mock.Received(1).OnCompleted();
        }
Exemple #2
0
        public void C_完了後には受信できない()
        {
            var mock = Substitute.For <IObserver <SingleSignal> >();

            Receiver.Receive().Subscribe(mock.OnNext);

            Publisher.Publish(SingleSignal.Create());

            Receiver.Receive().Subscribe(mock.OnNext);

            mock.Received(1).OnNext(Arg.Any <SingleSignal>());
        }
Exemple #3
0
        public void B_複数回送信しても初回のSignalのみが送信される()
        {
            var mock = Substitute.For <IObserver <SingleSignal> >();

            Receiver.Receive().DoOnCompleted(mock.OnCompleted).Subscribe(signal => Assert.That(signal.Parameter, Is.EqualTo(1)));

            Publisher.Publish(SingleSignal.Create(1));
            // ココで Subscription がないという警告が出る
            Publisher.Publish(SingleSignal.Create(2));

            mock.Received(1).OnCompleted();
        }