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