0
如果有IObservable子項的IObservable對象,那麼如何篩選主觀察值以僅包含子屬性至少具有X個數的實例項目。如何篩選子可觀察項至少有x項的Observable
例如,以下測試用例具有包含2個MyClass的IObservable。第一個包含5個整數的可觀察值和2的第二個。所以我的問題是如何過濾MyClass的IObservable以僅包含包含4個或更多數字的實例?
[TestClass]
public class TestClass
{
public class MyClass
{
public IObservable<int> Numbers { get; set; }
}
[TestMethod]
public void Test()
{
//Arrange
var data = new []
{
new MyClass()
{
Numbers = new Observable.Range(100, 5)
},
new MyClass()
{
Numbers = new Observable.Range(200, 2)
}
};
var observableData = data.ToObservable();
//Act
//TODO: set filtered so that it includes
// all instances of MyClass which have 4
// or more items in Numbers
IObservable<List<MyClass>> filtered = observableData
//Assert
IObservable<List<MyClass>> observableResult =
filtered.Aggregate(new List<MyClass>(),
(l, o) =>
{
l.Add(o);
return l;
});
var result = observableResult.Wait();
//expected result should include data[0] because
// is contains 5 numbers but exclude data[1]
// because it only contains 2.
var expected = new List<MyClass>() { data[0] };
CollectionAssert.AreEquivalent(expected, result);
}
}
任何幫助表示讚賞。
啊,拿(1)。這是我失蹤的部分。很明顯,一旦你知道如何:)非常感謝。 – 1adam12