public void ComputeLength_MultiLineString_RetursZeroForMultiLineStringWithoutMembers()
        {
            MultiLineString multilinestring = new MultiLineString();

            Mock <IDimensionsCalculator> calculatorM = new Mock <IDimensionsCalculator>();
            Measurements target = new Measurements(calculatorM.Object);

            double length = target.ComputeLength(multilinestring);

            Assert.Equal(0, length);
        }
        public void ComputeLength_LineString_RetursZeroForLineStringWithoutOne()
        {
            LineString linestring = new LineString(new Coordinate[] { new Coordinate(10.1, 20.1) });

            Mock <IDimensionsCalculator> calculatorM = new Mock <IDimensionsCalculator>();
            Measurements target = new Measurements(calculatorM.Object);

            double length = target.ComputeLength(linestring);

            Assert.Equal(0, length);
        }
        public void ComputeLength_LineString_RetursSumOfSegmentsLengths()
        {
            Random generator      = new Random();
            double segment1Length = generator.Next(100);
            double segment2Length = generator.Next(100);
            double sum            = segment1Length + segment2Length;

            LineString linestring = new LineString(new Coordinate[] { new Coordinate(10.1, 20.1), new Coordinate(10.2, 20.2), new Coordinate(10.3, 20.3) });
            Mock <IDimensionsCalculator> calculatorM = new Mock <IDimensionsCalculator>();

            calculatorM.Setup(calc => calc.CalculateDistance(linestring.Coordinates[0], linestring.Coordinates[1])).Returns(segment1Length);
            calculatorM.Setup(calc => calc.CalculateDistance(linestring.Coordinates[1], linestring.Coordinates[2])).Returns(segment2Length);

            Measurements target = new Measurements(calculatorM.Object);
            double       length = target.ComputeLength(linestring);

            Assert.Equal(sum, length);
        }
        public void ComputeLength_MultiLineString_RetursZeroForMultiLineStringWithoutMembers()
        {
            MultiLineString multilinestring = new MultiLineString();

            Mock<IDimensionsCalculator> calculatorM = new Mock<IDimensionsCalculator>();
            Measurements target = new Measurements(calculatorM.Object);

            double length = target.ComputeLength(multilinestring);

            Assert.Equal(0, length);
        }
        public void ComputeLength_MultiLineString_RetursSumOfLineStringsLengths()
        {
            Random generator = new Random();
            double segment1Length = generator.Next(100);
            double segment2Length = generator.Next(100);
            double sum = 2 * (segment1Length + segment2Length);

            LineString linestring = new LineString(new Coordinate[] { new Coordinate(10.1, 20.1), new Coordinate(10.2, 20.2), new Coordinate(10.3, 20.3) });
            MultiLineString multilinestring = new MultiLineString(new LineString[] { linestring, linestring });

            Mock<IDimensionsCalculator> calculatorM = new Mock<IDimensionsCalculator>();
            calculatorM.Setup(calc => calc.CalculateDistance(linestring.Coordinates[0], linestring.Coordinates[1])).Returns(segment1Length);
            calculatorM.Setup(calc => calc.CalculateDistance(linestring.Coordinates[1], linestring.Coordinates[2])).Returns(segment2Length);

            Measurements target = new Measurements(calculatorM.Object);
            double length = target.ComputeLength(multilinestring);

            Assert.Equal(sum, length);
        }
        public void ComputeLength_LineString_RetursZeroForLineStringWithoutPoints()
        {
            LineString linestring = new LineString();

            Mock<IDimensionsCalculator> calculatorM = new Mock<IDimensionsCalculator>();
            Measurements target = new Measurements(calculatorM.Object);

            double length = target.ComputeLength(linestring);

            Assert.Equal(0, length);
        }