예제 #1
0
        /// <summary>
        /// This constructor method will set the ohms value property, as well as low and high tolerance values properties from passed variable length collection of band color codes.
        /// </summary>
        /// <param name="bandColors"></param>
        // public LaResistance(List<string> bandColors)
        public LaResistance(OhmBandsListModel model)
        {
            _bandColors = model.bandColors;

            CodedResistance calc = new CodedResistance();

            calc.CalculateOhmValue(_bandColors, out _ohms, out _tolerance, out _ohmsLow, out _ohmsHigh);
            ohms      = _ohms;
            tolerance = _tolerance * 100; //for outputting pct
            ohmsLow   = _ohmsLow;
            ohmsHigh  = _ohmsHigh;
        }
예제 #2
0
        public void GetResistanceValue_TestArrayMultiple()
        {
            //arrange
            List <string> colors = new List <string>();

            colors.Add("Brown");
            colors.Add("Red");
            colors.Add("Blue");
            colors.Add("Orange");
            colors.Add("Gold");

            OhmBandsListModel ohmBands_input = new
                                               OhmBandsListModel
            {
                bandColors = colors
            };

            OhmValuesModel ohmValues_check = new OhmValuesModel
            {
                ohms      = 126000,
                tolerance = 5,
                low       = 119700,
                high      = 132300
            };


            //act
            LaResistance   laResistance     = new LaResistance(ohmBands_input);
            OhmValuesModel ohmValues_output = new OhmValuesModel
            {
                ohms      = laResistance.ohms,
                tolerance = laResistance.tolerance,
                low       = laResistance.ohmsLow,
                high      = laResistance.ohmsHigh
            };

            //assert
            //we shouldn't test equality with data in a database, demo project.
            Assert.AreEqual(ohmValues_check.ohms, ohmValues_output.ohms);
            Assert.AreEqual(ohmValues_check.tolerance, ohmValues_output.tolerance);
            Assert.AreEqual(ohmValues_check.low, ohmValues_output.low);
            Assert.AreEqual(ohmValues_check.high, ohmValues_output.high);
        }
예제 #3
0
        public void GetResistanceValue_TestArraySingle()
        {
            //arrange
            List <string> colors = new List <string>();

            colors.Add("Violet");

            OhmBandsListModel ohmBands_input = new
                                               OhmBandsListModel
            {
                bandColors = colors
            };

            OhmValuesModel ohmValues_check = new OhmValuesModel
            {
                ohms      = 7,
                tolerance = 0,
                low       = 7,
                high      = 7
            };


            //act
            LaResistance   laResistance     = new LaResistance(ohmBands_input);
            OhmValuesModel ohmValues_output = new OhmValuesModel
            {
                ohms      = laResistance.ohms,
                tolerance = laResistance.tolerance,
                low       = laResistance.ohmsLow,
                high      = laResistance.ohmsHigh
            };

            //assert
            Assert.AreEqual(ohmValues_check.ohms, ohmValues_output.ohms);
            Assert.AreEqual(ohmValues_check.tolerance, ohmValues_output.tolerance);
            Assert.AreEqual(ohmValues_check.low, ohmValues_output.low);
            Assert.AreEqual(ohmValues_check.high, ohmValues_output.high);
        }
        public OhmValuesModel GetResistanceValue(OhmBandsListModel ohmBands)
        {
            try
            {
                using (var context = new ElectronicsCalculatorDbContext())
                {
                    LaResistance   laResistance = new LaResistance(ohmBands);
                    OhmValuesModel ohmValues    = new OhmValuesModel
                    {
                        ohms      = laResistance.ohms,
                        tolerance = laResistance.tolerance,
                        low       = laResistance.ohmsLow,
                        high      = laResistance.ohmsHigh
                    };

                    return(ohmValues);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }