ReactiveTest を理解するための簡単な単体テストがあります
using Microsoft.Reactive.Testing;
using Xunit;
using FluentAssertions;
using System.Reactive.Linq;
namespace Utils.Spec
{
public class SelectWithCancelationSpec : ReactiveTest
{
[Fact]
public void Foo()
{
var sched = new TestScheduler();
var o = sched.CreateColdObservable
( OnNext(100, 10)
, OnNext(200, 20)
, OnNext(300, 30)
, OnNext(400, 40)
);
var actual = sched.Start(() => {
return o.Select(i=>i+1);
});
var expected = new []
{ OnNext(100, 11)
, OnNext(200, 21)
, OnNext(300, 31)
, OnNext(400, 41)
};
expected.ShouldBeEquivalentTo(actual.Messages);
}
}
}
問題は、実際にはダニが
300
400
500
600
それ以外の
100
200
300
400
ここで何が起こっているのかわかりません。