public void OnFuturesQuote_WithAnInvalidContract_StreamsNothing() { var invalidFuturesQuote = new FuturesQuote { Symbol = "invalidcontract" }; var scheduler = new TestScheduler(); var futuresQuotes = scheduler.CreateColdObservable(ReactiveTest.OnNext(0, invalidFuturesQuote)); var quotesWithContractClient = new AntiCorruptionLayerObservableClient(futuresQuotes); var quotesWithContracts = scheduler.Start(() => quotesWithContractClient.Quotes); quotesWithContracts.Messages.Should().BeEmpty(); }
public void OnFuturesQuote_WithAValidContract_StreamsQuoteWithContract() { var validFuturesQuote = new FuturesQuote { Symbol = "CZ2013" }; var scheduler = new TestScheduler(); var futuresQuotes = scheduler.CreateColdObservable(ReactiveTest.OnNext(0, validFuturesQuote)); var quotesWithContractClient = new AntiCorruptionLayerObservableClient(futuresQuotes); var quotesWithContracts = scheduler.Start(() => quotesWithContractClient.Quotes); quotesWithContracts.Messages.Should().HaveCount(1); var quoteWithContract = quotesWithContracts.Messages.Single().Value.Value; quoteWithContract.Quote.ShouldBeEquivalentTo(validFuturesQuote); }