RX.NET测试方式如何重播事件



我正在尝试了解如何在C#

中实现以下内容

我有此类的列表

public class StockTickerChangeHistory
{
    public DateTime Time;
    public string Stock;
}

我想创建一个可观察到的可观察到在时间成员变量指定的时间内启动的可见。我了解RX.NET带有Testscheduler船舶,但我对如何与我拥有的结构一起使用。

我已经阅读了这篇文章,但不确定如何将其转换为C#,因为它似乎完全可以完成我需要的事情。

https://blog.niallconnaughton.com/2015/05/09/time-travel-with-with-reactive-extensions/

任何帮助将不胜感激。罗恩。

给定stocksIEnumerable<StockTickerChangeHistory>订购的CC_2

var scheduler = new TestScheduler();
//Convert to array of OnNext notifications and create an Observable
var history = stocks.Select(i => OnNext(i.Time.Ticks, i)).ToArray();
var stockHistoryObservable = scheduler.CreateHotObservable(history);
//Create an observer and subscribe
var observer = scheduler.CreateObserver<StockTickerChangeHistory>();
stockHistoryObservable.Subscribe(observer);
scheduler.AdvanceTo(dateWhenNoHistoryYet); //no history
observer.Messages.AssertEqual(); 
scheduler.AdvanceTo(dateWhenHistoryIsCompleted); //all history arrived
observer.Messages.AssertEqual(history); 

最新更新