예제 #1
0
        public void HourlyRadiation_WhenTimeOutOfBounds_ThrowsException(double time, double sunAngle)
        {
            // Arrange
            var mock      = SetupMockSolar(time, sunAngle);
            var radiation = new SolarRadiation(mock.Object)
            {
                Daily = 16.5,
                RPAR  = 0.5
            };

            // Act

            // Assert
            Assert.Throws <Exception>(() => radiation.UpdateRadiationValues(time));
        }
예제 #2
0
        public void DirectRadiation_GivenValidInput_MatchesExpectedValue(double time, double expected, double sunAngle)
        {
            // Arrange
            var mock      = SetupMockSolar(time, sunAngle);
            var radiation = new SolarRadiation(mock.Object)
            {
                Daily = 16.5,
                RPAR  = 0.5
            };

            // Act
            radiation.UpdateRadiationValues(time);
            var actual = radiation.Direct;

            // Assert
            Assert.AreEqual(expected, actual);
            mock.Verify();
        }