public void EnergySaverCalculator_should_throw_exception_when_starting_date_after_expiration_date(int gas, int electricity, decimal initGasRate, decimal finalGasRate, decimal initElecRate, decimal finalElecRate, DateTime startingDate, DateTime expirationDate, decimal expected)
        {
            var energySaver = new AbstractCalculator(gas, electricity, initGasRate, finalGasRate, initElecRate, finalElecRate, startingDate, expirationDate);
            var annualCost  = energySaver.GetTotalAnnualCost();

            Assert.Equal(annualCost, expected);
        }
Esempio n. 2
0
        static void Main()
        {
            AbstractCalculator abs1 = CalculatorFactory.GenerateCalculator(OperatorEnum.Add);

            abs1._num1 = 10.5;
            abs1._num2 = 20.2;
            Console.WriteLine(abs1.CalculateDispose());

            AbstractCalculator abs2 = CalculatorFactory.GenerateCalculator(OperatorEnum.Substract);

            abs2._num1 = 10.5;
            abs2._num2 = 20.2;
            Console.WriteLine(abs2.CalculateDispose());

            AbstractCalculator abs3 = CalculatorFactory.GenerateCalculator(OperatorEnum.Multiply);

            abs3._num1 = 10.5;
            abs3._num2 = 20.2;
            Console.WriteLine(abs3.CalculateDispose());

            AbstractCalculator abs4 = CalculatorFactory.GenerateCalculator(OperatorEnum.Divide);

            abs4._num1 = 10.5;
            abs4._num2 = 20.2;
            Console.WriteLine(abs4.CalculateDispose());

            Console.ReadLine();
        }
        public void SaveOnlineCalculator_should_output_correct_tariff(int gas, int electricity, decimal initGasRate, decimal finalGasRate, decimal initElecRate, decimal finalElecRate, DateTime startingDate, DateTime expirationDate, decimal expected)
        {
            var energySaver = new AbstractCalculator(gas, electricity, initGasRate, finalGasRate, initElecRate, finalElecRate, startingDate, expirationDate);
            var annualCost  = energySaver.GetTotalAnnualCost();

            Assert.Equal(annualCost, expected);
        }
Esempio n. 4
0
        public ImageInfo ProcessImage(AnalysisType imageType, string rgb, bool resize, Bitmap inputImage)
        {
            ImageInfo result = new ImageInfo();

            if (resize)
            {
                inputImage = new System.Drawing.Bitmap(inputImage, new System.Drawing.Size(900, 900));
                int cutSize = 480;
                int startX  = inputImage.Width / 2 - cutSize / 2;
                int startY  = inputImage.Height / 2 - cutSize / 2;
                System.Drawing.Rectangle section = new System.Drawing.Rectangle(new System.Drawing.Point(startX, startY), new System.Drawing.Size(cutSize, cutSize));
                inputImage = AbstractCalculator.cropImage(inputImage, section);
            }

            int r, g, b;

            this.ReadRGBFromHexColor(rgb, out r, out g, out b);

            AbstractCalculator abstractCalculator = null;

            switch (imageType)
            {
            case AnalysisType.Lens:
                abstractCalculator = new InstallLensCalculator(inputImage);
                break;

            case AnalysisType.Human:
                abstractCalculator = new HumanSkinCalculator(inputImage);
                break;

            case AnalysisType.Inflammation:
                abstractCalculator = new InflammationCalculator(inputImage);
                break;

            case AnalysisType.Mositure:
                abstractCalculator = new MositureCalculator(inputImage);
                break;

            case AnalysisType.Oil:
                abstractCalculator = new OilValueCalclator(inputImage);
                break;

            case AnalysisType.Pigment:
                abstractCalculator = new PigmentCalculator(inputImage);
                break;

            case AnalysisType.Pores:
                abstractCalculator = new PoresCalculator(inputImage);
                break;

            case AnalysisType.Texture:
                abstractCalculator = new TextureCalculator(inputImage);
                break;
            }

            if (abstractCalculator == null)
            {
                return(result);
            }

            if (r != -1 && g != -1 && b != -1)
            {
                abstractCalculator.setSpecifyColor(r, g, b);
            }

            abstractCalculator.calculate();
            result = abstractCalculator.calcResult;
            result.ImageInBase64 = null;

            return(result);
        }