public void Test_to_rankine_generic_from_celsius_with_invalid_parameter_throws_exception()
        {
            // Arrange.
            var inputCelsius = new CelsiusInt(int.MaxValue);

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

            // Assert.
            result.Message.Should().Contain("Value out of range for type.");
        }
        public void Test_to_celsius_generic_from_celsius_returns_same_value()
        {
            // Arrange.
            var input = new CelsiusInt(42);

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

            // Assert.
            result.Should().Be(input.Temperature);
        }
        public void Test_to_gas_generic_from_celsius_returns_correct_value(int input, int expected)
        {
            // Arrange.
            var inputCelsius = new CelsiusInt(input);

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

            // Assert.
            result.Should().Be(expected);
        }
        public void Test_to_rankine_generic_from_celsius_returns_correct_value()
        {
            // Arrange.
            const int expected = 852;
            var       input    = new CelsiusInt(200);

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

            // Assert.
            result.Should().Be(expected);
        }
        public void Test_to_fahrenheit_generic_from_celsius_returns_correct_value()
        {
            // Arrange.
            const int expected = 54;
            var       input    = new CelsiusInt(12);

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

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