Skip to content

Commit 04ced50

Browse files
committed
TemperatureTests: Add tests for Multiply() and Divide()
1 parent 99e07ae commit 04ced50

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

UnitsNet.Tests/CustomCode/TemperatureTests.cs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,42 @@ public class TemperatureTests : TemperatureTestsBase
4444

4545
protected override double KelvinsInOneKelvin => 1;
4646

47+
[SuppressMessage("ReSharper", "ImpureMethodCallOnReadonlyValueField",
48+
Justification = "R# incorrectly identifies method as impure, due to internal method calls.")]
49+
[TestCase(TemperatureUnit.DegreeCelsius, 10, 1, ExpectedResult = "10 °C")]
50+
[TestCase(TemperatureUnit.DegreeCelsius, 10, 5, ExpectedResult = "2 °C")]
51+
[TestCase(TemperatureUnit.DegreeCelsius, 10, -10, ExpectedResult = "-1 °C")]
52+
[TestCase(TemperatureUnit.DegreeFahrenheit, 10, 1, ExpectedResult = "10 °F")]
53+
[TestCase(TemperatureUnit.DegreeFahrenheit, 10, 5, ExpectedResult = "2 °F")]
54+
[TestCase(TemperatureUnit.DegreeFahrenheit, 10, -10, ExpectedResult = "-1 °F")]
55+
public string DividedByTemperatureDeltaEqualsTemperature(TemperatureUnit unit, int temperatureVal, int divisor)
56+
{
57+
Temperature temperature = Temperature.From(temperatureVal, unit);
58+
59+
// Act
60+
Temperature resultTemp = temperature.Divide(divisor, unit);
61+
62+
return resultTemp.ToString(unit, CultureInfo.InvariantCulture, "{0:0} {1}");
63+
}
64+
65+
[SuppressMessage("ReSharper", "ImpureMethodCallOnReadonlyValueField",
66+
Justification = "R# incorrectly identifies method as impure, due to internal method calls.")]
67+
[TestCase(TemperatureUnit.DegreeCelsius, 10, 0, ExpectedResult = "0 °C")]
68+
[TestCase(TemperatureUnit.DegreeCelsius, 10, 5, ExpectedResult = "50 °C")]
69+
[TestCase(TemperatureUnit.DegreeCelsius, 10, -5, ExpectedResult = "-50 °C")]
70+
[TestCase(TemperatureUnit.DegreeFahrenheit, 10, 0, ExpectedResult = "0 °F")]
71+
[TestCase(TemperatureUnit.DegreeFahrenheit, 10, 5, ExpectedResult = "50 °F")]
72+
[TestCase(TemperatureUnit.DegreeFahrenheit, 10, -5, ExpectedResult = "-50 °F")]
73+
public string MultiplyByTemperatureDeltaEqualsTemperature(TemperatureUnit unit, int temperatureVal, int factor)
74+
{
75+
Temperature temperature = Temperature.From(temperatureVal, unit);
76+
77+
// Act
78+
Temperature resultTemp = temperature.Multiply(factor, unit);
79+
80+
return resultTemp.ToString(unit, CultureInfo.InvariantCulture, "{0:0} {1}");
81+
}
82+
4783
[TestCase(TemperatureUnit.DegreeCelsius, -10, 0, ExpectedResult = "-10 °C")]
4884
[TestCase(TemperatureUnit.DegreeCelsius, -10, 10, ExpectedResult = "0 °C")]
4985
[TestCase(TemperatureUnit.DegreeCelsius, -10, 20, ExpectedResult = "10 °C")]

0 commit comments

Comments
 (0)