public void Setup()
        {
            m_Logger = Substitute.For <ISelkieLogger>();
            m_Bus = Substitute.For <ISelkieInMemoryBus>();
            m_Factory = Substitute.For <ITrailDetailsFactory>();

            m_Model = new TrailHistoryModel(m_Logger,
                                            m_Bus,
                                            m_Factory);
        }
        public void DisposCallsReleaseTrailDetailsTest()
        {
            var factory = Substitute.For <ITrailDetailsFactory>();
            var model = new TrailHistoryModel(m_Logger,
                                              m_Bus,
                                              factory);

            model.Update(CreateBestTrailMessage());

            model.Dispose();

            factory.Received().Release(Arg.Any <ITrailDetails>());
        }