public FixtureState GetFixtureState(string fixtureId)
        {
            FixtureState fixtureState = null;

            Events.TryGetValue(fixtureId, out fixtureState);
            return(fixtureState);
        }
        public void ShouldNotGetASnapshotIfNothingHasChanged()
        {

            // STEP 1: prepare the stub data
            Mock<IResourceFacade> resource = new Mock<IResourceFacade>();
            Mock<IAdapterPlugin> connector = new Mock<IAdapterPlugin>();
            Mock<IEventState> state = new Mock<IEventState>();
            
            IStateManager provider = new StateManager(_settings.Object, connector.Object);

            FixtureState fixture_state = new FixtureState
            {
                Id = "ABC",
                MatchStatus = MatchStatus.InRunning,
                Sequence = 5
            };

            // please not Sequence = 5
            resource.Setup(x => x.Content).Returns(new Summary { Id = "ABC", Sequence = 5 });
            resource.Setup(x => x.MatchStatus).Returns(MatchStatus.InRunning);
            resource.Setup(x => x.StartStreaming()).Raises(x => x.StreamConnected += null, EventArgs.Empty);
            resource.Setup(x => x.Id).Returns("ABC");
            state.Setup(x => x.GetFixtureState("ABC")).Returns(fixture_state);

            // STEP 2: start the listener
            StreamListener listener = new StreamListener(resource.Object, connector.Object, state.Object, provider, _settings.Object);

            listener.Start();

            // STEP 3: check the result

            resource.Verify(x => x.GetSnapshot(), Times.Never, "A new snapshot should not have been retrieved!");
            connector.Verify(x => x.UnSuspend(It.IsAny<Fixture>()), Times.Once);
            listener.IsStreaming.Should().BeTrue();
        }