コード例 #1
0
        public static void Main(string[] args)
        {
            var transformer = new EquationProcessor.EquationTransformer();

            if (args == null || args.Length != 1)
            {
                Console.WriteLine("Interactive mode. Press Ctrl+C to exit");
                while (true)
                {
                    var line = Console.ReadLine();
                    try
                    {
                        var result = transformer.Tranform(new Equation(line));
                        Console.WriteLine($"{line} => {result.ToString()}");
                    }
                    catch (Exception exception)
                    {
                        Console.WriteLine($"Unable to transform: {exception.Message}");
                    }
                }
            }
            else
            {
                Console.WriteLine("File mode:");
                var file = args[0];
                if (!File.Exists(file))
                {
                    Console.WriteLine("Unable to find the file specified: " + file);
                    Console.WriteLine("Press any key to exit");
                    Console.ReadKey();
                    return;
                }

                var lines      = File.ReadAllLines(file);
                var outputFile = file + ".out";
                var resultSet  = new List <string>();
                foreach (var l in lines)
                {
                    try
                    {
                        var e = new Equation(l);
                        resultSet.Add(transformer.Tranform(e).ToString());
                    }
                    catch (Exception exception)
                    {
                        Console.WriteLine($"Error: {exception.Message}");
                    }
                }
                File.AppendAllLines(outputFile, resultSet);
                Console.WriteLine($"{lines.Length} lines processed in {outputFile}");
                Console.WriteLine("Press any key to exit");
                Console.ReadKey();
                return;
            }
        }
コード例 #2
0
        public void EquationTransformer_Transform_1()
        {
            var equation = new Equation("x^2 + 3.5xy + y = y^2 - xy + y");
            var result   = _sut.Tranform(equation);

            Assert.AreEqual("x^2 - y^2 + 4.5xy = 0", result.ToString());
        }