Ejemplo n.º 1
0
        public string Get(double inputTemp, string inputUnit, string conversionUnit, double convertedTemp)
        {
            ScienceTest model = new ScienceTest(inputTemp, inputUnit, conversionUnit, convertedTemp);

            switch (model.ConversionUnit)
            {
            case "Kelvin":
            {
                return(ConvertToKelvin(model));
            }

            case "Celsius":
            {
                return(ConvertToCelsius(model));
            }

            case "Fahrenheit":
            {
                return(ConvertToFahrenheit(model));
            }

            case "Rankine":
            {
                return(ConvertToRankine(model));
            }

            default:
                return("Invalid");
            }
        }
Ejemplo n.º 2
0
        private string ConvertToCelsius(ScienceTest model)
        {
            switch (model.InputUnit)
            {
            case "Kelvin":
            {
                return(Math.Round((model.InputTemp - 273.15), MidpointRounding.AwayFromZero)
                       == Math.Round(model.ConversionTemp, MidpointRounding.AwayFromZero)
                            ? "Correct" : "Incorrect");
            }

            case "Fahrenheit":
            {
                return(Math.Round(((model.InputTemp - 32) * 5) / 9, MidpointRounding.AwayFromZero)
                       == Math.Round(model.ConversionTemp, MidpointRounding.AwayFromZero)
                                ? "Correct" : "Incorrect");
            }

            case "Rankine":
            {
                return(Math.Round(((model.InputTemp - 491.67) * 5) / 9, MidpointRounding.AwayFromZero)
                       == Math.Round(model.ConversionTemp, MidpointRounding.AwayFromZero)
                                ? "Correct" : "Incorrect");
            }

            case "Celsius":     //in case question uses same input unit as conversion unit
            {
                return(Math.Round(model.InputTemp, MidpointRounding.AwayFromZero)
                       == Math.Round(model.ConversionTemp, MidpointRounding.AwayFromZero)
                            ? "Correct" : "Incorrect");
            }

            default:
                return("Invalid");
            }
        }