Exemplo n.º 1
0
        public void OutputsExpectedExpression(int value, string expr)
        {
            var ary    = new Rational[] { 2, 0, 1, 7 };
            var runner = new OperationRunner(new[] { ary });
            IEnumerable <OpResult> rslt = runner.Run();

            Assert.Contains(expr, rslt.Select(r => r.ToString()));
        }
Exemplo n.º 2
0
        public void OperationRunnerTest_negative_number()
        {
            var op       = Operation.Parse("+ -1 2");
            var result   = OperationRunner.Run(op);
            var expected = 1;

            Assert.AreEqual(expected, result);
        }
Exemplo n.º 3
0
        public void OperationRunnerTest()
        {
            var op       = Operation.Parse("* + 2 3 4");
            var result   = OperationRunner.Run(op);
            var expected = 20;

            Assert.AreEqual(expected, result);
        }
Exemplo n.º 4
0
        public void OperationRunnerTest1()
        {
            var op       = Operation.Parse("/ + 10 2 4");
            var result   = OperationRunner.Run(op);
            var expected = 9;

            Assert.AreEqual(expected, result);
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            uint total = 0;
            var  opts  = new OperationRunnerOptions(withFactorials: true);

            var inputs = new List <Rational[]> {
                new Rational[] { 2, 0, 1, 7 }
            };

            /*
             *  choose 2:
             *  2 0
             *  2 1
             *  2 7
             *  0 1
             *  0 7
             *  1 7
             */
            inputs.Add(new Rational[] { 12, 70 });
            inputs.Add(new Rational[] { 17, 20 });
            inputs.Add(new Rational[] { 20, 17 });
            inputs.Add(new Rational[] { 20, 71 });
            inputs.Add(new Rational[] { 21, 70 });

            /*
             * choose 3:
             *  2 0 1
             *  2 0 7
             *  2 1 7
             *  0 1 7
             */
            inputs.Add(new Rational[] { 102, 7 });
            inputs.Add(new Rational[] { 120, 7 });
            inputs.Add(new Rational[] { 127, 0 });
            inputs.Add(new Rational[] { 170, 2 });
            inputs.Add(new Rational[] { 172, 0 });
            inputs.Add(new Rational[] { 201, 7 });
            inputs.Add(new Rational[] { 207, 1 });
            inputs.Add(new Rational[] { 271, 0 });
            inputs.Add(new Rational[] { 710, 2 });
            inputs.Add(new Rational[] { 701, 2 });
            inputs.Add(new Rational[] { 712, 0 });
            inputs.Add(new Rational[] { 721, 0 });

            Rational r = Rational.Get(2, 10);

            inputs.Add(new Rational[] { r, 1, 7 });

            r = Rational.Get(1, 10);
            inputs.Add(new Rational[] { 2, r, 7 });

            r = Rational.Get(7, 10);
            inputs.Add(new Rational[] { 2, 1, r });

            var runner = new OperationRunner(inputs, opts);

            string outputFile = Path.GetTempFileName();

            Console.WriteLine("Output: {0}", outputFile);

            using (var sw = new StreamWriter(outputFile))
            {
                foreach (var rslt in runner.Run())
                {
                    ++total;
                    sw.WriteLine("{0} = {1}", rslt.Value, rslt);
                }
            }

            Console.WriteLine("Done! Total: {0}", total);
        }