public void Test_to_gas_from_celsius_generic_with_invalid_parameters_throws_argument_out_of_range_exception(double input, string expectedErrorMessage)
        {
            // Arrange.
            var inputGas = new CelsiusDouble(input);

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

            // Assert.
            result.Message.Should().Contain(expectedErrorMessage);
        }
        public void Test_to_rankine_generic_from_celsius_with_invalid_parameter_throws_exception(double input)
        {
            // Arrange.
            var inputCelsius = new CelsiusDouble(input);

            // Act.
            var result = Assert.Throws <ArgumentOutOfRangeException>(() => inputCelsius.To <Rankine>());

            // Assert.
            result.Message.Should().Contain("Value out of range for type.");
        }
        public void Test_to_gas_from_celsius_generic_returns_correct_value(double input, double expected)
        {
            // Arrange.
            var inputCelsius = new CelsiusDouble(input);

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

            // Assert.
            result.Should().Be(expected);
        }
        public void Test_to_celsius_generic_from_celsius_returns_same_value()
        {
            // Arrange.
            var input = new CelsiusDouble(42.3d);

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

            // Assert.
            result.Should().Be(input.Temperature);
        }
        public void Test_to_rankine_generic_from_celsius_returns_correct_value()
        {
            // Arrange.
            const double expected = 851.6699999999998d;
            var          input    = new CelsiusDouble(200);

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

            // Assert.
            result.Should().Be(expected);
        }
        public void Test_to_kelvin_generic_from_celsius_returns_correct_value()
        {
            // Arrange.
            const double expected = 473.15d;
            var          input    = new CelsiusDouble(200);

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

            // Assert.
            result.Should().Be(expected);
        }
        public void Test_to_fahrenheit_generic_from_celsius_returns_correct_value()
        {
            // Arrange.
            const double expected = 53.6d;
            var          input    = new CelsiusDouble(12);

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

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