예제 #1
0
        public void ThrowsWhenConvertingToSameUnit(TemparatureUnit unit)
        {
            // Arrange
            TestDelegate convertToTheSameUnit = () => _converter.Convert(unit, 0, unit);

            // Act & Assert
            Assert.Throws <ArgumentException>(convertToTheSameUnit);
        }
예제 #2
0
        public double Convert(TemparatureUnit fromUnit, double input, TemparatureUnit toUnit)
        {
            if (fromUnit == toUnit)
            {
                throw new ArgumentException("Cannot convert to the same temperature.");
            }
            double middleCelsius = _converters[fromUnit].FromUnitToCelsius(input);
            double result        = _converters[toUnit].FromCelsiusToUnit(middleCelsius);

            return(result);
        }
예제 #3
0
        public void ConvertToExpectedValue(
            TemparatureUnit fromUnit,
            double input,
            TemparatureUnit toUnit,
            double expectedOutput
            )
        {
            //Arrange & Act
            double actual = _converter.Convert(fromUnit, input, toUnit);

            //Assert
            Assert.AreEqual(expectedOutput, actual, Tolerance);
        }