public void Reverse_ReturnsReversedFeature_WhenCalled()
        {
            // Arrange
            // Act
            ISurveyFeature actual = m_Sut.Reverse();

            // Assert
            Assert.AreEqual(actual.Id,
                            m_Sut.Id,
                            "Id");
            Assert.AreEqual(m_Line.EndPoint,
                            actual.StartPoint,
                            "StartPoint");
            Assert.AreEqual(m_Line.StartPoint,
                            actual.EndPoint,
                            "EndPoint");
            Assert.AreEqual(Angle.For225Degrees,
                            actual.AngleToXAxisAtStartPoint,
                            "AngleToXAxisAtStartPoint");
            Assert.AreEqual(Angle.For225Degrees,
                            actual.AngleToXAxisAtEndPoint,
                            "AngleToXAxisAtEndPoint");
            Assert.AreEqual(Constants.LineDirection.Forward,
                            actual.RunDirection,
                            "RunDirection");
            Assert.AreEqual(m_Line.Length,
                            actual.Length,
                            "Length");
        }
 public SurveyGeoJsonFeature(
     [NotNull] ISurveyFeature surveyFeature,
     [NotNull] string surveyFeatureAsGeoJson)
 {
     SurveyFeature          = surveyFeature;
     SurveyFeatureAsGeoJson = surveyFeatureAsGeoJson;
 }
            public void Reverse_ReturnsThis_WhenCalled()
            {
                // Arrange
                // Act
                ISurveyFeature actual = m_Sut.Reverse();

                // Assert
                Assert.AreEqual(actual,
                                m_Sut);
            }
        public CostMatrixCalculationManager([NotNull] ISelkieLogger logger,
                                            [NotNull] ISelkieBus bus,
                                            [NotNull] ILinesSourceManager linesSourceManager,
                                            [NotNull] IRacetrackSettingsSourceManager racetrackSettingsSourceManager,
                                            [NotNull] IDoubleArrayToIntegerArrayConverter converter,
                                            [NotNull] ISurveyFeatureToSurveyFeatureDtoConverter dtoConverter)
        {
            m_Logger = logger;
            m_Bus = bus;
            m_LinesSourceManager = linesSourceManager;
            m_RacetrackSettingsSourceManager = racetrackSettingsSourceManager;
            m_Converter = converter;
            m_DtoConverter = dtoConverter;

            CostPerFeature = new int[0];
            SurveyFeature = new ISurveyFeature[0];

            string subscriptionId = GetType().FullName;

            m_Bus.SubscribeAsync <CostMatrixResponseMessage>(subscriptionId,
                                                             CostMatrixResponseHandler);
        }
        public void IsAllConditionOkay_ReturnsFalse_ForLinesIsEmpty(
            [NotNull] CostMatrixCalculationManager sut)
        {
            // Arrange
            var polylinesInvalid = new ISurveyFeature[0];
            var costPerLinesValid = new[]
                                    {
                                        1
                                    };

            // Act
            bool actual = sut.IsAllConditionOkay(polylinesInvalid,
                                                 costPerLinesValid);

            // Assert
            Assert.False(actual);
        }
        public void IsAllConditionOkay_CallsLogger_ForLinesIsEmpty(
            [NotNull, Frozen] ISelkieLogger logger,
            [NotNull] CostMatrixCalculationManager sut)
        {
            // Arrange
            var polylinesInvalid = new ISurveyFeature[0];
            var costPerLinesValid = new[]
                                    {
                                        1
                                    };

            // Act
            sut.IsAllConditionOkay(polylinesInvalid,
                                   costPerLinesValid);

            // Assert
            logger.Received().Warn(Arg.Any <string>());
        }
 public SurveyFeaturesToCostPerSurveyFeatureConverter()
 {
     Features = new ISurveyFeature[0];
     CostPerFeature = new int[0];
 }
 public SurveyFeatureToSurveyFeatureDtoConverter()
 {
     Features = new ISurveyFeature[0];
     Dtos = new SurveyFeatureDto[0];
 }