Beispiel #1
0
        public void ConvertInvalidCtoFTest()
        {
            // Arrange
            var cT            = new CelsiusTemperature(0);
            var fT            = new FahrenheitTemperature(0);
            var validatorMock = new Mock <IValidator>();

            validatorMock.Setup(s => s.Validate(It.IsAny <ITemperature>(), out It.Ref <string> .IsAny))
            .Returns(false);
            var converter = new ConverterService(validatorMock.Object);

            // Act

            // Assert
            Assert.Throws <Exception>(() => converter.Convert(cT, fT));
        }
Beispiel #2
0
        public void ConvertValidCtoFTest(double cValue, double fValue)
        {
            // Arrange
            var cT            = new CelsiusTemperature(cValue);
            var fT            = new FahrenheitTemperature(0);
            var validatorMock = new Mock <IValidator>();

            validatorMock.Setup(s => s.Validate(It.IsAny <CelsiusTemperature>(), out It.Ref <string> .IsAny))
            .Returns(true);
            var converter = new ConverterService(validatorMock.Object);

            // Act
            converter.Convert(cT, fT);

            // Assert
            Assert.AreEqual(fValue, fT.Value);
        }
Beispiel #3
0
        public static ITemperature ToRoomieType(this ControlThinkTemperature input)
        {
            ITemperature result;

            var value = Convert.ToDouble(input.Value);

            switch (input.Scale)
            {
            case ControlThinkTemperatureScale.Celsius:
                result = new CelsiusTemperature(value);
                break;

            case ControlThinkTemperatureScale.Fahrenheit:
                result = new FahrenheitTemperature(value);
                break;

            default:
                result = null;
                break;
            }

            return(result);
        }
Beispiel #4
0
        public ITemperature Add(double amount)
        {
            var result = new FahrenheitTemperature(Value + amount);

            return(result);
        }
Beispiel #5
0
        public ITemperature Add(double amount)
        {
            var result = new FahrenheitTemperature(Value + amount);

            return result;
        }
Beispiel #6
0
        public Response GetTemperature(string from, string to, float value)
        {
            try
            {
                ITempConvert tempConvert;
                float        result;
                Response     response;

                if (!from.ContainsAnyOf(Constants.CELCIUS, Constants.FAHRENHEIT, Constants.KELVIN))
                {
                    throw new InvalidInputException("Invalid from tempature conversion found");
                }

                if (!to.ContainsAnyOf(Constants.CELCIUS, Constants.FAHRENHEIT, Constants.KELVIN))
                {
                    throw new InvalidInputException("Invalid to tempature conversion found");
                }

                switch (from.ToLower())
                {
                case "celcius":
                    tempConvert = new CelciusTemperature();
                    result      = tempConvert.GetConvertedVal(to, value);
                    response    = new Response()
                    {
                        From   = from,
                        To     = to,
                        Result = result
                    };
                    break;

                case "fahrenheit":
                    tempConvert = new FahrenheitTemperature();
                    result      = tempConvert.GetConvertedVal(to, value);
                    response    = new Response()
                    {
                        From   = from,
                        To     = to,
                        Result = result
                    };
                    break;

                case "kelvin":
                    tempConvert = new KelvinTempature();
                    result      = tempConvert.GetConvertedVal(to, value);
                    response    = new Response()
                    {
                        From   = from,
                        To     = to,
                        Result = result
                    };
                    break;

                default:
                    response = new Response();
                    break;
                }
                return(response);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }