public void ThrowsWhenConvertingToSameUnit(TemparatureUnit unit) { // Arrange TestDelegate convertToTheSameUnit = () => _converter.Convert(unit, 0, unit); // Act & Assert Assert.Throws <ArgumentException>(convertToTheSameUnit); }
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); }
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); }