public void RegisteringObservation_Fires_EventAgent_Out_Of_Order() { _context.Database.EnsureDeleted(); var agentMock = new Mock <IStateChangeReaction>(); var service = new TimeLineService(_context); service.RegisterReaction(agentMock.Object); var o1 = new Observation() { On = "2001/01/01", Entity = "E1", Expressions = new[] { "State.MyVal=Hello World" } }; var o2 = new Observation() { On = "2001/01/02", Entity = "E1", Expressions = new[] { "State.MyVal=Hello World Again" } }; service.RegisterObservation(o2); service.RegisterObservation(o1); agentMock.Verify(x => x.OnChange("E1", "MyVal", "Hello World", "Hello World Again", "01/02/2001 00:00:00.0000000")); }