mirror of
https://github.com/Cysharp/R3.git
synced 2026-10-28 23:12:29 +08:00
51 lines
994 B
C#
51 lines
994 B
C#
namespace R3.Tests.OperatorTests;
|
|
|
|
public class ZipLatestTest
|
|
{
|
|
[Fact]
|
|
public void ZipLatest()
|
|
{
|
|
var source1 = new Subject<int>();
|
|
var source2 = new Subject<string>();
|
|
|
|
using var list = source1.ZipLatest(source2, ValueTuple.Create).ToLiveList();
|
|
|
|
source1.OnNext(1);
|
|
|
|
list.AssertEmpty();
|
|
|
|
source1.OnNext(2);
|
|
|
|
list.AssertEmpty();
|
|
|
|
source2.OnNext("a");
|
|
|
|
list.AssertEqual([(2, "a")]);
|
|
|
|
source1.OnNext(3);
|
|
|
|
list.AssertEqual([(2, "a")]);
|
|
|
|
source2.OnNext("b");
|
|
|
|
list.AssertEqual([(2, "a"), (3, "b")]);
|
|
|
|
source2.OnNext("c");
|
|
|
|
list.AssertEqual([(2, "a"), (3, "b")]);
|
|
|
|
source1.OnCompleted();
|
|
|
|
list.AssertIsNotCompleted();
|
|
|
|
source1.OnNext(4);
|
|
source2.OnNext("d");
|
|
|
|
list.AssertEqual([(2, "a"), (3, "b")]);
|
|
|
|
source2.OnCompleted();
|
|
|
|
list.AssertIsCompleted();
|
|
}
|
|
}
|