Skip to content

Commit 052bfa5

Browse files
committed
TemperatureTests: Add test cases for custom arithmetic
1 parent 418b714 commit 052bfa5

File tree

1 file changed

+57
-1
lines changed

1 file changed

+57
-1
lines changed

UnitsNet.Tests/CustomCode/TemperatureTests.cs

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright(c) 2007 Andreas Gullberg Larsen
1+
// Copyright © 2007 Andreas Gullberg Larsen ([email protected]).
22
// https://github.com/anjdreas/UnitsNet
33
//
44
// Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -19,6 +19,11 @@
1919
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2020
// THE SOFTWARE.
2121

22+
using System.Diagnostics.CodeAnalysis;
23+
using System.Globalization;
24+
using NUnit.Framework;
25+
using UnitsNet.Units;
26+
2227
namespace UnitsNet.Tests.CustomCode
2328
{
2429
public class TemperatureTests : TemperatureTestsBase
@@ -38,5 +43,56 @@ public class TemperatureTests : TemperatureTestsBase
3843
protected override double DegreesRoemerInOneKelvin => -135.378750000;
3944

4045
protected override double KelvinsInOneKelvin => 1;
46+
47+
[TestCase(TemperatureUnit.DegreeCelsius, -10, 0, ExpectedResult = "-10 °C")]
48+
[TestCase(TemperatureUnit.DegreeCelsius, -10, 10, ExpectedResult = "0 °C")]
49+
[TestCase(TemperatureUnit.DegreeCelsius, -10, 20, ExpectedResult = "10 °C")]
50+
[TestCase(TemperatureUnit.DegreeFahrenheit, -10, 0, ExpectedResult = "-10 °F")]
51+
[TestCase(TemperatureUnit.DegreeFahrenheit, -10, 10, ExpectedResult = "0 °F")]
52+
[TestCase(TemperatureUnit.DegreeFahrenheit, -10, 20, ExpectedResult = "10 °F")]
53+
public string TemperatureDeltaPlusTemperatureEqualsTemperature(TemperatureUnit unit, int deltaVal, int temperatureVal)
54+
{
55+
Temperature temperature = Temperature.From(temperatureVal, unit);
56+
TemperatureDelta delta = TemperatureDelta.From(deltaVal, (TemperatureDeltaUnit) unit);
57+
58+
// Act
59+
Temperature resultTemp = delta + temperature;
60+
61+
return resultTemp.ToString(unit, CultureInfo.InvariantCulture, "{0:0} {1}");
62+
}
63+
64+
[TestCase(TemperatureUnit.DegreeCelsius, 20, 10, ExpectedResult = "10 °C")]
65+
[TestCase(TemperatureUnit.DegreeCelsius, 20, 20, ExpectedResult = "0 °C")]
66+
[TestCase(TemperatureUnit.DegreeCelsius, 20, 30, ExpectedResult = "-10 °C")]
67+
[TestCase(TemperatureUnit.DegreeFahrenheit, 20, 10, ExpectedResult = "10 °F")]
68+
[TestCase(TemperatureUnit.DegreeFahrenheit, 20, 20, ExpectedResult = "0 °F")]
69+
[TestCase(TemperatureUnit.DegreeFahrenheit, 20, 30, ExpectedResult = "-10 °F")]
70+
public string TemperatureMinusTemperatureDeltaEqualsTemperature(TemperatureUnit unit, int temperatureVal, int deltaVal)
71+
{
72+
Temperature temperature = Temperature.From(temperatureVal, unit);
73+
TemperatureDelta delta = TemperatureDelta.From(deltaVal, (TemperatureDeltaUnit) unit);
74+
75+
// Act
76+
Temperature resultTemp = temperature - delta;
77+
78+
return resultTemp.ToString(unit, CultureInfo.InvariantCulture, "{0:0} {1}");
79+
}
80+
81+
[TestCase(TemperatureUnit.DegreeCelsius, -10, 0, ExpectedResult = "-10 °C")]
82+
[TestCase(TemperatureUnit.DegreeCelsius, -10, 10, ExpectedResult = "0 °C")]
83+
[TestCase(TemperatureUnit.DegreeCelsius, -10, 20, ExpectedResult = "10 °C")]
84+
[TestCase(TemperatureUnit.DegreeFahrenheit, -10, 0, ExpectedResult = "-10 °F")]
85+
[TestCase(TemperatureUnit.DegreeFahrenheit, -10, 10, ExpectedResult = "0 °F")]
86+
[TestCase(TemperatureUnit.DegreeFahrenheit, -10, 20, ExpectedResult = "10 °F")]
87+
public string TemperaturePlusTemperatureDeltaEqualsTemperature(TemperatureUnit unit, int temperatureVal, int deltaVal)
88+
{
89+
Temperature temperature = Temperature.From(temperatureVal, unit);
90+
TemperatureDelta delta = TemperatureDelta.From(deltaVal, (TemperatureDeltaUnit) unit);
91+
92+
// Act
93+
Temperature resultTemp = temperature + delta;
94+
95+
return resultTemp.ToString(unit, CultureInfo.InvariantCulture, "{0:0} {1}");
96+
}
4197
}
4298
}

0 commit comments

Comments
 (0)