Пример #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CalculatorBot"/> class.
 /// </summary>
 /// <param name="configuration">The current configuration.</param>
 /// <param name="arithmetic">Arithmetic operations DI.</param>
 /// <param name="calcChatBot">Calculator Chat Bot methods DI.</param>
 /// <param name="telemetryClient">ApplicationInsights DI.</param>
 /// <param name="statistics">Statistic operations DI.</param>
 /// <param name="geometrics">Geometric operations DI.</param>
 public CalculatorBot(
     IConfiguration configuration,
     IArithmetic arithmetic,
     ICalcChatBot calcChatBot,
     TelemetryClient telemetryClient,
     IStatistic statistics,
     IGeometric geometrics)
 {
     this.configuration   = configuration;
     this.arithmetic      = arithmetic;
     this.telemetryClient = telemetryClient;
     this.calcChatBot     = calcChatBot;
     this.statistics      = statistics;
     this.geometrics      = geometrics;
 }
Пример #2
0
        public void GetPerimeterTest()
        {
            var geoCal    = new GeometricCalculator();
            var geoThings = new IGeometric[]
            {
                new Triangle(3, 4, 5),
                new Square(10),
                new Circle(3)
            };

            var actual   = geoCal.GetPerimeter(geoThings);
            var expected = 12 + 40 + 18.85;

            Assert.AreEqual(expected, actual, 0.01);
        }
Пример #3
0
        /// <summary>
        /// Genera una instancia del objeto de acuerdo a la cantidad de planetas que tiene el sistema.
        /// Actualemente soporta un sistems de 3 planetas pero eventualemente se podría extender el comportamiento para soporte de otros sistemas diferentes.
        /// Si el sistema tiene una cantidad de angulos distinta de tres se genera una excepcion Ad Hoc.
        /// </summary>
        /// <param name="planets">Referencia a los planetas de la galaxia</param>
        /// <returns></returns>
        public static IGeometric GetGeometric(List <Planet> planets)
        {
            IGeometric resultGeometric = null;

            switch (planets.Count)
            {
            case 3:
                resultGeometric = new Triangle(planets);
                break;

            default:
                throw new GeometricModelNotSupported(planets.Count);
            }

            return(resultGeometric);
        }