1+ package com .thealgorithms .conversions ;
2+
3+ import org .junit .jupiter .api .Test ;
4+
5+ import static org .junit .jupiter .api .Assertions .assertEquals ;
6+ import static org .junit .jupiter .api .Assertions .assertThrows ;
7+
8+ public class TemperatureCoverterTest {
9+
10+ @ Test
11+ public void testValidCelsiusToFahrenheit () {
12+ assertEquals (33.8 , TemperatureConverter .celsiusToFahrenheit (1.0 ));
13+ assertEquals (34.718 , TemperatureConverter .celsiusToFahrenheit (1.51 ));
14+ assertEquals (14.0 , TemperatureConverter .celsiusToFahrenheit (-10.0 ));
15+ assertEquals ("33.8°F" , TemperatureConverter .celsiusToFahrenheit ("1°C" ));
16+ assertEquals ("34.718°F" , TemperatureConverter .celsiusToFahrenheit ("1.51°C" ));
17+ assertEquals ("14.0°F" , TemperatureConverter .celsiusToFahrenheit ("-10.0°C" ));
18+ }
19+
20+ @ Test
21+ public void testValidCelsiusToKevin () {
22+ assertEquals (274.15 , TemperatureConverter .celsiusToKelvin (1.0 ));
23+ assertEquals (274.65999999999997 , TemperatureConverter .celsiusToKelvin (1.51 ));
24+ assertEquals (263.15 , TemperatureConverter .celsiusToKelvin (-10.0 ));
25+ assertEquals ("274.15 K" , TemperatureConverter .celsiusToKelvin ("1°C" ));
26+ assertEquals ("274.65999999999997 K" , TemperatureConverter .celsiusToKelvin ("1.51°C" ));
27+ assertEquals ("263.15 K" , TemperatureConverter .celsiusToKelvin ("-10.0°C" ));
28+ }
29+
30+ @ Test
31+ public void testValidFahrenheitToCelsius () {
32+ assertEquals (-17.22222222222222 , TemperatureConverter .fahrenheitToCelsius (1.0 ));
33+ assertEquals (65.55555555555556 , TemperatureConverter .fahrenheitToCelsius (150.0 ));
34+ assertEquals (-23.333333333333336 , TemperatureConverter .fahrenheitToCelsius (-10.0 ));
35+ assertEquals ("-17.22222222222222°C" , TemperatureConverter .fahrenheitToCelsius ("1°F" ));
36+ assertEquals ("65.55555555555556°C" , TemperatureConverter .fahrenheitToCelsius ("150.0°F" ));
37+ assertEquals ("-23.333333333333336°C" , TemperatureConverter .fahrenheitToCelsius ("-10.0°F" ));
38+ }
39+
40+ @ Test
41+ public void testValidFahrenheitToKelvin () {
42+ assertEquals (255.92777777777775 , TemperatureConverter .fahrenheitToKelvin (1.0 ));
43+ assertEquals (328.7055555555555 , TemperatureConverter .fahrenheitToKelvin (132.0 ));
44+ assertEquals (249.81666666666663 , TemperatureConverter .fahrenheitToKelvin (-10.0 ));
45+ assertEquals ("255.92777777777775 K" , TemperatureConverter .fahrenheitToKelvin ("1°F" ));
46+ assertEquals ("328.7055555555555 K" , TemperatureConverter .fahrenheitToKelvin ("132°F" ));
47+ assertEquals ("249.81666666666663 K" , TemperatureConverter .fahrenheitToKelvin ("-10.0°F" ));
48+ }
49+
50+ @ Test
51+ public void testValidKelvinToCelsius () {
52+ assertEquals (-272.15 , TemperatureConverter .kelvinToCelsius (1.0 ));
53+ assertEquals (-141.14999999999998 , TemperatureConverter .kelvinToCelsius (132.0 ));
54+ assertEquals (-263.15 , TemperatureConverter .kelvinToCelsius (10.0 ));
55+ assertEquals ("-272.15°C" , TemperatureConverter .kelvinToCelsius ("1.0 K" ));
56+ assertEquals ("-141.14999999999998°C" , TemperatureConverter .kelvinToCelsius ("132.0 K" ));
57+ assertEquals ("-263.15°C" , TemperatureConverter .kelvinToCelsius ("10.0 K" ));
58+ }
59+
60+ @ Test
61+ public void testValidKelvinToFahrenheit () {
62+ assertEquals (-457.6 , TemperatureConverter .kelvinToFahrenheit (1.0 ));
63+ assertEquals (-221.8 , TemperatureConverter .kelvinToFahrenheit (132.0 ));
64+ assertEquals (-441.40000000000003 , TemperatureConverter .kelvinToFahrenheit (10.0 ));
65+ assertEquals ("-457.6°F" , TemperatureConverter .kelvinToFahrenheit ("1.0 K" ));
66+ assertEquals ("-221.8°F" , TemperatureConverter .kelvinToFahrenheit ("132.0 K" ));
67+ assertEquals ("-441.40000000000003°F" , TemperatureConverter .kelvinToFahrenheit ("10.0 K" ));
68+ }
69+
70+ @ Test
71+ public void testAbsoluteZeroAndBelow () {
72+
73+ assertThrows (IllegalArgumentException .class , () -> TemperatureConverter .celsiusToFahrenheit (-300.0 ));
74+ assertThrows (IllegalArgumentException .class , () -> TemperatureConverter .celsiusToKelvin ("-300°C" ));
75+
76+ assertThrows (IllegalArgumentException .class , () -> TemperatureConverter .fahrenheitToCelsius (-500.0 ));
77+ assertThrows (IllegalArgumentException .class , () -> TemperatureConverter .fahrenheitToKelvin ("-500°F" ));
78+
79+ assertThrows (IllegalArgumentException .class , () -> TemperatureConverter .kelvinToCelsius (-1.0 ));
80+ assertThrows (IllegalArgumentException .class , () -> TemperatureConverter .kelvinToFahrenheit ("-1 K" ));
81+ }
82+
83+ }
0 commit comments