Exemplo n.º 1
0
        public void TemperatureToArbitralFeelingDescription(TemperatureEnum temperatureC, string expected)
        {
            var model = new WeatherQueryResult
            {
                TemperatureC = (double)temperatureC
            };
            var creator = new WeatherDescriptionCreator(model);
            var actual  = creator
                          .BuildTemperatureDescription();

            Assert.Equal(actual.WeatherDescription, expected);
        }
Exemplo n.º 2
0
        //// execute
        //private static bool DoExecute(string[] lineArray, int lineNumber)
        //{
        //    bool valid = true;
        //    if (lineArray.Length != 1)
        //    {
        //        System.Console.WriteLine("Invalid EXECUTE format at line " + lineNumber);
        //        valid = false;
        //    }
        //    else
        //    {
        //    }

        //    return valid;
        //}


        private static bool DoModifyTemperature(string[] lineArray, int lineNumber)
        {
            bool            valid         = true;
            int             oldTempIndex  = 2;
            int             byIndex       = 3;
            int             modTypeIndex  = 4;
            int             modValueIndex = 5;
            int             sideIndex     = -1;
            TemperatureEnum tempType      = TemperatureEnum.ALL;

            // check parameter count
            if (lineArray.Length < 6 || lineArray.Length > 7)
            {
                System.Console.WriteLine("Invalid MODIFY TEMPERATURE at line " + lineNumber);
                valid = false;
            }
            // LEFT/RIGHT/MID specified
            else if (lineArray.Length == 7)
            {
                sideIndex     = 2;
                oldTempIndex  = 3;
                byIndex       = 4;
                modTypeIndex  = 5;
                modValueIndex = 6;
            }


            if (valid && sideIndex > 0)
            {
                valid = Enum.TryParse(lineArray[sideIndex], out tempType);
                if (!valid)
                {
                    System.Console.WriteLine("Invalid MODIFY TEMPERATURE side setting at line " + lineNumber);
                }
            }

            if (valid)
            {
                String oldTemperature = lineArray[oldTempIndex];
                String byStr          = lineArray[byIndex].ToUpper();
                String modType        = lineArray[modTypeIndex].ToUpper();
                String modValueStr    = lineArray[modValueIndex];
                int    modValue;

                TemperatureModifier tempMod = new TemperatureModifier();

                // process OldTemperature
                if (!int.TryParse(oldTemperature, out tempMod.oldValue))
                {
                    System.Console.WriteLine("Nonnumeric MODIFY TEMPERATURE old value at line " + lineNumber);
                    valid = false;
                }

                if (!int.TryParse(modValueStr, out modValue))
                {
                    System.Console.WriteLine("Invalid MODIFY TEMPERATURE modification value at line " + lineNumber);
                    valid = false;
                }

                // process BY string
                if (valid && !byStr.Equals("BY"))
                {
                    System.Console.WriteLine("Invalid MODIFY TEMPERATURE at line " + lineNumber);
                    valid = false;
                }

                // process modtype string
                if (valid)
                {
                    if (modType.Equals("PERCENTAGE"))
                    {
                        double percentage = modValue;
                        tempMod.newValue = Convert.ToInt32(tempMod.oldValue + (percentage / 100) * tempMod.oldValue);
                    }
                    else if (modType.Equals("ADD"))
                    {
                        tempMod.newValue = tempMod.oldValue + modValue;
                    }
                    else if (modType.Equals("REPLACE"))
                    {
                        tempMod.newValue = modValue;
                    }
                    else
                    {
                        System.Console.WriteLine("Invalid MODIFY TEMPERATURE modificaiton setting at line " + lineNumber);
                        valid = false;
                    }
                }

                if (valid)
                {
                    TemperatureModifier leftMod  = null;
                    TemperatureModifier rightMod = null;
                    TemperatureModifier midMod   = null;

                    switch (tempType)
                    {
                    case TemperatureEnum.ALL:
                        leftMod  = new TemperatureModifier();
                        rightMod = new TemperatureModifier();
                        midMod   = new TemperatureModifier();
                        break;

                    case TemperatureEnum.LEFT:
                        leftMod = new TemperatureModifier();
                        break;

                    case TemperatureEnum.RIGHT:
                        rightMod = new TemperatureModifier();
                        break;

                    case TemperatureEnum.MID:
                        midMod = new TemperatureModifier();
                        break;
                    }

                    if (leftMod != null)
                    {
                        leftMod.extruder = BFBConstants.LEFT_TEMP;
                        leftMod.oldValue = tempMod.oldValue;
                        leftMod.newValue = tempMod.newValue;
                        temperatureModifers.Add(leftMod);
                    }

                    if (rightMod != null)
                    {
                        rightMod.extruder = BFBConstants.RIGHT_TEMP;
                        rightMod.oldValue = tempMod.oldValue;
                        rightMod.newValue = tempMod.newValue;
                        temperatureModifers.Add(rightMod);
                    }

                    if (midMod != null)
                    {
                        midMod.extruder = BFBConstants.MID_TEMP;
                        midMod.oldValue = tempMod.oldValue;
                        midMod.newValue = tempMod.newValue;
                        temperatureModifers.Add(midMod);
                    }
                }
            }

            return(valid);
        }