public void GetWindForecast_InvalidDayInTheFuture_ThrowsOutOfRangeException(Type testBuilderType, int daysFromToday)
        {
            const string location = "Sample Location";

            var builder  = (ITestBuilder)Activator.CreateInstance(testBuilderType);
            var director = new TestDirector(builder);

            director.SetupWindspeedForNextDays(7, 8, 9, 10, 11);

            Assert.Throws <ArgumentOutOfRangeException>(() => director.GetWindForecastBeaufort(location, daysFromToday));
        }
        public void GetWindForecast_GivenDayInTheFuture_ReturnsWindSpeed(Type testBuilderType, int daysFromToday, int expectedWindSpeedBeaufort)
        {
            const string location = "Sample Location";

            var builder  = (ITestBuilder)Activator.CreateInstance(testBuilderType);
            var director = new TestDirector(builder);

            director.SetupWindspeedForNextDays(7, 8, 9, 10, 11);
            var actualWindSpeedBeaufort = director.GetWindForecastBeaufort(location, daysFromToday);

            director.VerifyMocks();
            Assert.Equal(expectedWindSpeedBeaufort, actualWindSpeedBeaufort);
        }