public void Test_to_kelvin_generic_from_kelvin_returns_same_value()
        {
            // Arrange.
            var input = new KelvinString("473.15");

            // Act.
            var result = input.To <Kelvin>();

            // Assert.
            result.Should().Be(input.Temperature);
        }
        public void Test_to_gas_generic_from_kelvin_throws_out_of_range_exception_too_high()
        {
            // Arrange.
            var input = new KelvinString("544.15");

            // Act.
            var result = Assert.Throws <ArgumentOutOfRangeException>(() => input.To <Gas>());

            // Assert.
            result.Message.Should().Contain("Temp too high for gas mark!");
        }
        public void Test_to_rankine_generic_from_kelvin_returns_same_value()
        {
            // Arrange.
            const string expected = "851.6699999999998";
            var          input    = new KelvinString("473.15");

            // Act.
            var result = input.To <Rankine>();

            // Assert.
            result.Should().Be(expected);
        }
        public void Test_to_gas_generic_from_kelvin_returns_correct_value()
        {
            // Arrange.
            const string expected = "6";
            var          input    = new KelvinString("478.15");

            // Act.
            var result = input.To <Gas>();

            // Assert.
            result.Should().Be(expected);
        }
        public void Test_to_fahrenheit_generic_from_kelvin_returns_correct_value()
        {
            // Arrange.
            const string expected = "33.8";
            var          input    = new KelvinString("274.15");

            // Act.
            var result = input.To <Fahrenheit>();

            // Assert.
            result.Should().Be(expected);
        }