/
TemperatureTests.cs
97 lines (71 loc) · 2.48 KB
/
TemperatureTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
using System;
using Convertinator.Systems;
using FluentAssertions;
using NUnit.Framework;
namespace Convertinator.Tests
{
[TestFixture]
public class TemperatureTests
{
private ConversionGraph _graph;
#region Setup/Teardown
[SetUp]
public void Setup()
{
_graph = new ConversionGraph()
.RoundUsing(MidpointRounding.AwayFromZero)
.RoundToDecimalPlaces(4);
var fahrenheit = US.Temperature.Fahrenheit;
var celcius = SI.Temperature.Celcius;
_graph.AddConversion(
Conversions.From(fahrenheit).To(celcius).Subtract(32).MultiplyBy(5M / 9M));
_graph.AddConversion(Conversions.From(celcius).To(new Unit("Kelvin")).Add(273.15M));
SI.Temperature.Celcius
.CanBeAbbreviated("C", "°C")
.IsAlsoCalled("centigrade", "celcius", "Centigrade");
}
#endregion
[Test]
public void ThirtyTwoDegreesFahrenheitInCelcius()
{
var degrees = new Measurement("Fahrenheit", 32M);
var result = _graph.Convert(degrees, "Celcius");
result.Should().Be(0M);
}
[Test]
public void ZeroDegreesCelciusInFahrenheit()
{
var degrees = new Measurement(new Unit("Celcius"), 0M);
var result = _graph.Convert(degrees, "Fahrenheit");
result.Should().Be(32M);
}
[Test]
public void ZeroDegreesCelciusInKelvin()
{
var degrees = new Measurement(new Unit("Celcius"), 0M);
var result = _graph.Convert(degrees, "Kelvin");
result.Should().Be(273.15M);
}
[Test]
public void BoilingCelciusToFahrenheit()
{
var degrees = new Measurement(new Unit("Celcius"), 100M);
var result = _graph.Convert(degrees, new Unit("Fahrenheit"));
result.Should().Be(212M);
}
[Test]
public void BoilingFahrenheitToCelcius()
{
var degrees = new Measurement("Fahrenheit", 212M);
var result = _graph.Convert(degrees, "Celcius");
result.Should().Be(100M);
}
[Test]
public void HundredDegreesFahrenheitInKelvin()
{
var degrees = new Measurement(new Unit("Fahrenheit"), 100M);
var result = _graph.Convert(degrees, new Unit("Kelvin"));
result.Should().Be(310.9278M);
}
}
}