Exemplo n.º 1
0
        static void Main(string[] args)
        {
            do
            {
                Console.WriteLine("1. Dodawanie");
                Console.WriteLine("2. Dzielenie");
                Console.WriteLine("3 Exit");

                switch (Console.ReadLine())
                {
                case "1":
                    double a, b;
                    double.TryParse(Console.ReadLine(), out a);
                    double.TryParse(Console.ReadLine(), out b);
                    CalcClient client = new CalcClient();
                    double     wynik  = client.Add(a, b);
                    Console.WriteLine("Wynik: " + wynik);
                    client.Close();
                    break;
                }
            } while (Console.ReadLine() != "3");
        }
Exemplo n.º 2
0
        private void bSubComplex_Click(object sender, EventArgs e)
        {
            CalcClient client = new CalcClient();
            double     aReal, aImagine, bReal, bImagine;

            double.TryParse(tbAReal.Text, out aReal);
            double.TryParse(tbAImagine.Text, out aImagine);
            double.TryParse(tbBReal.Text, out bReal);
            double.TryParse(tbBImagine.Text, out bImagine);

            Complex a = new Complex();
            Complex b = new Complex();

            a._real = aReal;
            a._imag = aImagine;
            b._real = bReal;
            b._imag = bImagine;
            Complex result = client.ComplexSub(a, b);

            tbResultComplex.Text = result._real + " + i" + result._imag;

            client.Close();
        }
Exemplo n.º 3
0
        public void TestMethod1()
        {
            ConsoleWriter writer = new ConsoleWriter();
            CalcClient    client = new CalcClient();

            try
            {
                //For repo
                // проверка соединения
                writer.Write("Проверка соединения с сервисом... ");
                if (!string.Equals(client.TestConnection(), "OK", StringComparison.InvariantCultureIgnoreCase))
                {
                    throw new Exception("Проверка соединения не удалась");
                }
                writer.WriteLineSuccess();
                writer.WriteLine();
                // лямбда-функция проверки метода
                var CheckArithmeticOperation =
                    new Action <Func <double, double, double>, string, double, double, double>
                    (
                        (operation, operationName, arg1, arg2, expectedResult) =>
                {
                    writer.Write("Проверка операции");
                    writer.Write(ConsoleColor.White, operation.Method.Name);
                    writer.Write("', {0} {1} {2} = ",
                                 arg1.ToString(CultureInfo.InvariantCulture),
                                 operationName, arg2.ToString(CultureInfo.InvariantCulture));

                    double result = operation(arg1, arg2);
                    if (result == expectedResult)
                    {
                        // проверка пройдена
                        writer.Write("{0} ", result.ToString(CultureInfo.InvariantCulture));
                        writer.WriteLineSuccess();
                    }
                    else
                    {
                        // ошибка
                        throw new Exception(string
                                            .Format("Ошибка проверки метода '{0}': {1} {2} {3} != {4}",
                                                    operation.Method.Name,
                                                    arg1.ToString(CultureInfo.InvariantCulture),
                                                    operationName,

                                                    arg2.ToString(CultureInfo.InvariantCulture),
                                                    expectedResult.ToString(CultureInfo.InvariantCulture)));
                    }
                }
                    );
                // проверка метода Addition
                CheckArithmeticOperation(client.Addition, "+", 2.5, 5, 2.5 + 5);
                // проверка метода Subtraction
                CheckArithmeticOperation(client.Subtraction, "-", 2.5, 5, 2.5 - 5);
                // проверка метода Multiplication
                CheckArithmeticOperation(client.Multiplication, "*", 2.5, 5, 2.5 * 5);
                // проверка метода Division
                CheckArithmeticOperation(client.Division, "/", 2.5, 5, 2.5 / 5);
                // в конце работы закрываем клиент
                client.Close();
            }
            catch (Exception ex)
            {
                // в случае ошибки необходимо принудительно закрыть клиент методом Abort()
                client.Abort();
                // выводим информацию об ошибке
                writer.WriteLine();
                writer.WriteLineError("Ошибка: {0}", ex.Message);
            }
            Console.WriteLine();
            Console.WriteLine("Нажмите любую клавишу для продолжения...");
            Console.ReadKey();
        }
 public RealCalcClient(string uri)
 {
     client = new CalcClient(uri);
 }