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()); }