public void GetFactorTest_Above200_ThrowsArgumentOutOfRangeException()
        {
            var terrain = new Mock <ITerrain>();

            terrain.Setup(t => t.MinimumHeight).Returns(1);
            terrain.Setup(t => t.RoughnessLength).Returns(3);
            var turbulentLengthScale = new TurbulentLengthScale(terrain.Object);

            Assert.Throws <ArgumentOutOfRangeException>(
                () => turbulentLengthScale.GetFactorAt(201));
        }
        public void GetFactorTest_Success(double minimumHeight,
                                          double height, double expectedResult)
        {
            var terrain = new Mock <ITerrain>();

            terrain.Setup(t => t.MinimumHeight).Returns(minimumHeight);
            terrain.Setup(t => t.RoughnessLength).Returns(3);
            var turbulentLengthScale = new TurbulentLengthScale(terrain.Object);

            var result = turbulentLengthScale.GetFactorAt(height);

            Assert.That(result, Is.EqualTo(expectedResult).Within(0.001));
        }