Код: Выделить всё
// Arrange
var testScheduler = new TestScheduler();
var udpStream = new Subject();
_functionMock.Setup(x => x.CreateListener()!.GetStream()).Returns(udpStream);
var observer = testScheduler.CreateObserver();
var sut = new MySutClass(_functionMock.Object);
// Act
var subscription = sut.MyMethod(testScheduler).Subscribe(observer);
testScheduler.AdvanceTo(TimeSpan.FromSeconds(5).Ticks);
udpStream.OnNext(new UdpReceiveResult());
testScheduler.AdvanceTo(TimeSpan.FromSeconds(9).Ticks);
udpStream.OnNext(new UdpReceiveResult());
// Assert
observer.Messages.Count.Should().Be(1);
observer.Messages[0].Value.Should().BeEquivalentTo(TimeSpan.FromSeconds(4));
Expected Observer.Messages[0] .Значение равно 4 секундам, но найдено OnNext (00:00:04)
Значение времени такое же, как я ожидал, 4 секунды, но я думаю, что сравнение формат недействителен, и эти два значения не могу корректно сравнить.
Подробнее здесь: https://stackoverflow.com/questions/789 ... e-timespan