internal void ColonyRacetrackSettingsResponseHandler(ColonyRacetrackSettingsResponseMessage message)
        {
            IRacetrackSettingsSource source = m_Manager.Source;

            var reply = new RacetrackSettingsResponseMessage
                        {
                            TurnRadiusForPort = source.TurnRadiusForPort,
                            TurnRadiusForStarboard = source.TurnRadiusForStarboard,
                            IsPortTurnAllowed = source.IsPortTurnAllowed,
                            IsStarboardTurnAllowed = source.IsStarboardTurnAllowed
                        };

            m_MemoryBus.PublishAsync(reply);
        }
        public void ColonyRacetrackSettingsResponseMessage_SendsMessage_WhenCalled()
        {
            // Arrange
            var message = new ColonyRacetrackSettingsResponseMessage();

            // Act
            m_Model.ColonyRacetrackSettingsResponseHandler(message);

            // Assert
            m_MemoryBus.Received()
                       .PublishAsync(Arg.Is <RacetrackSettingsResponseMessage>(x =>
                                                                               Math.Abs(x.TurnRadiusForPort -
                                                                                        m_Source.TurnRadiusForPort) <
                                                                               Tolerance &&
                                                                               Math.Abs(x.TurnRadiusForStarboard -
                                                                                        m_Source.TurnRadiusForStarboard) <
                                                                               Tolerance &&
                                                                               x.IsPortTurnAllowed ==
                                                                               m_Source.IsPortTurnAllowed &&
                                                                               x.IsStarboardTurnAllowed ==
                                                                               m_Source.IsStarboardTurnAllowed));
        }