diff --git a/lib/subutil/src/main/java/com/blankj/subutil/util/TemperatureUtils.java b/lib/subutil/src/main/java/com/blankj/subutil/util/TemperatureUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..44bd62a4af08a3452895485487bbd4c3829cf077 --- /dev/null +++ b/lib/subutil/src/main/java/com/blankj/subutil/util/TemperatureUtils.java @@ -0,0 +1,41 @@ +package com.blankj.subutil.util; + +/** + * Create by Faramarz Afzali on 2020/9/5 + *

+ * This class is intended for converting temperatures into different units. + * C refers to the Celsius unit + * F refers to the Fahrenheit unit + * K refers to the Kelvin unit + */ + +public final class TemperatureUtils { + + + public static float cToF(float temp) { + return (temp * 9) / 5 + 32; + } + + public static float cToK(float temp) { + return temp + 273.15f; + } + + + public static float fToC(float temp) { + return (temp - 32) * 5 / 9; + } + + public static float fToK(float temp) { + return temp + 255.3722222222f; + } + + + public static float kToC(float temp) { + return temp - 273.15f; + } + + public static float kToF(float temp) { + return temp - 459.67f; + } + +} diff --git a/lib/subutil/src/test/java/com/blankj/subutil/util/TestTempConversion.java b/lib/subutil/src/test/java/com/blankj/subutil/util/TestTempConversion.java new file mode 100644 index 0000000000000000000000000000000000000000..daa61ea0d3a36c28bec4483f7be2ce8a35022a02 --- /dev/null +++ b/lib/subutil/src/test/java/com/blankj/subutil/util/TestTempConversion.java @@ -0,0 +1,51 @@ +package com.blankj.subutil.util; + + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** + * Create by Faramarz Afzali on 2020/9/5 + */ + + +@RunWith(JUnit4.class) +public class TestTempConversion { + + private float delta = 1e-15f; + + @Test + public void testCToF() { + Assert.assertEquals(32f, TemperatureUtils.cToF(0f), delta); + } + + @Test + public void testCToK() { + Assert.assertEquals(273.15f, TemperatureUtils.cToK(0f), delta); + } + + + @Test + public void testFToC() { + Assert.assertEquals(-17.777779f, TemperatureUtils.fToC(0f), delta); + } + + @Test + public void testFToK() { + Assert.assertEquals(255.3722222222f, TemperatureUtils.fToK(0f), delta); + } + + + @Test + public void testKToC() { + Assert.assertEquals(-273.15f, TemperatureUtils.kToC(0f), delta); + } + + @Test + public void testKToF() { + Assert.assertEquals(-459.67f, TemperatureUtils.kToF(0f), delta); + } + +}