public void Test_to_gas_generic_from_fahrenheit_throws_out_of_range_exception_too_high()
        {
            // Arrange.
            var input = new FahrenheitString("520");

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

            // Assert.
            result.Message.Should().Contain("Temp too high for gas mark!");
        }
        public void Test_to_fahrenheit_generic_from_fahrenheit_returns_correct_value()
        {
            // Arrange.
            var input = new FahrenheitString("50");

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

            // Assert.
            result.Should().Be(input.Temperature);
        }
        public void Test_to_rankine_generic_from_fahrenheit_returns_correct_value()
        {
            // Arrange.
            const string expected = "851.6700000000001";
            var          input    = new FahrenheitString("392");

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

            // Assert.
            result.Should().Be(expected);
        }
        public void Test_to_kelvin_generic_from_fahrenheit_returns_correct_value()
        {
            // Arrange.
            const string expected = "473.15";
            var          input    = new FahrenheitString("392");

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

            // Assert.
            result.Should().Be(expected);
        }
        public void Test_to_celsius_generic_from_fahrenheit_returns_correct_value()
        {
            // Arrange.
            const string expected = "10";
            var          input    = new FahrenheitString("50");

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

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