Example #1
0
        public String Statistic(String cmdType, String arg1, String arg2)
        {
            ICommand cmd;

            if (cmdType == "Sum")
            {
                ISum sum = SumFactory.GetCommand(arg1, arg2);
                cmd = new SumCommand(sum);
            }
            else if (cmdType == "Average")
            {
                IAverage average = AverageFactory.GetCommand(arg1, arg2);
                cmd = new AverageCommand(average);
            }
            else if (cmdType == "Max")
            {
                IMax max = MaxFactory.GetCommand(arg1, arg2);
                cmd = new MaxCommand(max);
            }
            else
            {
                IMin min = MinFactory.GetCommand(arg1, arg2);
                cmd = new MinCommand(min);
            }

            String res = CommandInvoker.DoCommand(cmd);

            return(res);
        }
        public void Works_with_sum_factory_and_0_then_1_as_data_source()
        {
            var factoryProviders = GetFactoryProvidersSource(new DefaultFactoryProvider<SumFactory>());
            var dataSource = GetDataSource(0, 1);

            var factory = new SumFactory { FactoryProvidersSource = factoryProviders, DataSource = dataSource, StackSize = 3 };
            var enumerator = factory.GetEnumerator();

            IsFalse(enumerator.MoveNext());
        }
        public void Works_with_number_factory_0_as_data_source()
        {
            var factoryProviders = GetFactoryProvidersSource(new DefaultFactoryProvider<NumberFactory>());
            var dataSource = GetDataSource(0);

            var factory = new SumFactory { FactoryProvidersSource = factoryProviders, DataSource = dataSource, StackSize = 3 };
            var enumerator = factory.GetEnumerator();

            Assert(enumerator, "(0+0)");
            IsFalse(enumerator.MoveNext());
        }
        public void Works_with_number_and_contrariety_factory_and_1_then_2_as_data_source()
        {
            var factoryProviders = GetFactoryProvidersSource(
                new DefaultFactoryProvider<NumberFactory>(),
                new DefaultFactoryProvider<ContrarietyFactory>());
            var dataSource = GetDataSource(1, 2);

            var factory = new SumFactory { FactoryProvidersSource = factoryProviders, DataSource = dataSource, StackSize = 3 };
            var enumerator = factory.GetEnumerator();

            Assert(enumerator, "(1+(-1))");
            Assert(enumerator, "(1+1)");
            Assert(enumerator, "(2+(-2))");
            Assert(enumerator, "(2+(-1))");
            Assert(enumerator, "(2+2)");
            Assert(enumerator, "(2+1)");
            IsFalse(enumerator.MoveNext());
        }