using Developpez.Dotnet.Measures; using NUnit.Framework; namespace Developpez.Dotnet.Tests.Measures { [TestFixture] public class KelvinTests { [Test] public void Test_Equality() { Kelvin value1 = 40.5; Kelvin value2 = 40.5; Assert.AreEqual(value1, value2); Assert.AreNotSame(value1, value2); Kelvin value3 = 45.5; Assert.AreNotEqual(value1, value3); Assert.IsTrue(value1 == value2); Assert.IsTrue(value1 != value3); } [Test] public void Test_Comparison() { Kelvin value1 = 40.50; Kelvin value2 = 40.55; Assert.IsTrue(value1 < value2); Assert.IsTrue(value2 > value1); Assert.IsFalse(value1 > value2); Assert.IsFalse(value2 < value1); Kelvin value3 = 40.50; Kelvin value4 = 40.50; Kelvin value5 = 40.501; Assert.IsTrue(value3 <= value4); Assert.IsTrue(value3 >= value4); Assert.IsTrue(value4 <= value5); Assert.IsFalse(value4 >= value5); } [Test] public void Test_Operation() { Kelvin value1 = 33.33; Kelvin value2 = 3.55; Kelvin expectedAdd = (33.33 + 3.55); Assert.AreEqual(expectedAdd, value1 + value2); Kelvin expectedRem = (33.33 - 3.55); Assert.AreEqual(expectedRem, value1 - value2); Kelvin expectedMul = 99.99; Assert.AreEqual(expectedMul, value1*3); Kelvin expectedDiv = 11.11; Assert.AreEqual(expectedDiv, value1/3); } [Test] public void Test_Parsing() { Kelvin value1 = -159.987; string text = value1.ToString(); Assert.AreEqual("-159,987 K", text); Kelvin value2; Assert.IsTrue(Kelvin.TryParse(text, out value2)); Assert.AreEqual(value1, value2); Assert.IsFalse(Kelvin.TryParse("15.15,15 K", out value2)); Assert.IsFalse(Kelvin.TryParse("15,15,15 K", out value2)); Assert.IsTrue(Kelvin.TryParse("1 515,15 K", out value2)); } } }