public void Should_return_the_same_instance_of_MarketData_given_the_same_rawMaterial_name() { var marketDataProvider = new MarketDataProvider(); marketDataProvider.RegisterRawMaterial("eggs"); Check.That(marketDataProvider.GetRawMaterial("eggs")).IsSameReferenceThan(marketDataProvider.GetRawMaterial("eggs")); }
public void Should_only_get_MarketData_for_registered_rawMaterials_or_throw_an_exception_otherwise() { var marketDataProvider = new MarketDataProvider(); marketDataProvider.RegisterRawMaterial("eggs"); marketDataProvider.RegisterRawMaterial("flour"); Check.That(marketDataProvider.GetRawMaterial("flour")).IsNotNull(); Check.ThatCode(() => marketDataProvider.GetRawMaterial("banana")).Throws<InvalidOperationException>(); Check.That(marketDataProvider.GetRawMaterial("eggs")).IsNotNull(); }
public void Should_only_get_MarketData_for_registered_rawMaterials_or_throw_an_exception_otherwise() { var marketDataProvider = new MarketDataProvider(); marketDataProvider.RegisterRawMaterial("eggs"); marketDataProvider.RegisterRawMaterial("flour"); Check.That(marketDataProvider.GetRawMaterial("flour")).IsNotNull(); Check.ThatCode(() => marketDataProvider.GetRawMaterial("banana")).Throws <InvalidOperationException>(); Check.That(marketDataProvider.GetRawMaterial("eggs")).IsNotNull(); }
public void Should_provide_MarketData_for_eggs() { var marketDataProvider = new MarketDataProvider(); marketDataProvider.RegisterRawMaterial("eggs"); Check.That(marketDataProvider.GetRawMaterial("eggs")).IsInstanceOf<RawMaterialMarketData>(); }
public void Should_provide_MarketData_for_eggs() { var marketDataProvider = new MarketDataProvider(); marketDataProvider.RegisterRawMaterial("eggs"); Check.That(marketDataProvider.GetRawMaterial("eggs")).IsInstanceOf <RawMaterialMarketData>(); }
public void Should_receive_price_for_registered_RawMaterials_once_started() { var marketDataProvider = new MarketDataProvider(); marketDataProvider.RegisterRawMaterial("eggs"); void Handler(object o, RawMaterialPriceChangedEventArgs args) => this.priceChangedRaisedEvent.Set(); marketDataProvider.GetRawMaterial("eggs").PriceChanged += Handler; marketDataProvider.Start(); const int TimeoutInMsec = 500; var hasReceivedEvent = this.priceChangedRaisedEvent.WaitOne(TimeoutInMsec); Check.That(hasReceivedEvent).IsTrue(); marketDataProvider.Stop(); marketDataProvider.GetRawMaterial("eggs").PriceChanged -= Handler; }
public void Should_receive_price_for_registered_RawMaterials_once_started() { var marketDataProvider = new MarketDataProvider(); marketDataProvider.RegisterRawMaterial("eggs"); marketDataProvider.GetRawMaterial("eggs").PriceChanged += (o, args) => this.priceChangedRaisedEvent.Set(); marketDataProvider.Start(); const int TimeoutInMsec = 100; var hasReceivedEvent = this.priceChangedRaisedEvent.WaitOne(TimeoutInMsec); Check.That(hasReceivedEvent).IsTrue(); marketDataProvider.Stop(); }