public void ShouldApplyEvent() { var ccyPair = new CurrencyPair() { Ask = 0.1, Bid = 0.1, Mid = 0.1, Spread = 0.02, State = CcyPairState.Active, Id = "EUR/USD" }; var changeStateClose = new ChangeCcyPairState() { State = CcyPairState.Passive }; ccyPair.Apply(changeStateClose); Assert.AreEqual(CcyPairState.Passive, ccyPair.State); Assert.AreEqual(1, ccyPair.AppliedEvents.Count()); var changeStateOpen = new ChangeCcyPairState() { State = CcyPairState.Active }; ccyPair.Apply(changeStateOpen as IEvent); Assert.AreEqual(CcyPairState.Active, ccyPair.State); Assert.AreEqual(2, ccyPair.AppliedEvents.Count()); }