public void GivenIHaveTheWashTradeRuleParameterValues(Table ruleParameters) { if (ruleParameters.RowCount != 1) { this._scenarioContext.Pending(); return; } var parameters = ruleParameters.CreateInstance <WashTradeApiParameters>(); this._washTradeRuleEquitiesParameters = new WashTradeRuleEquitiesParameters( "0", new TimeSpan(parameters.WindowHours, 0, 0), parameters.UseAverageNetting.GetValueOrDefault(false), parameters.UseClustering.GetValueOrDefault(false), parameters.MinimumNumberOfTrades, parameters.MaximumPositionChangeValue, parameters.MaximumAbsoluteValueChange, parameters.MaximumAbsoluteValueChangeCurrency, parameters.ClusteringPositionMinimumNumberOfTrades, parameters.ClusteringPercentageValueDifferenceThreshold, new[] { ClientOrganisationalFactors.None }, true, true); }
public void Tuner_AdjustWashTradeField_AsExpected() { var tuner = new RuleParameterTuner(this._logger); var ruleParameters = new WashTradeRuleEquitiesParameters( "id", TimeSpan.FromHours(1), true, true, 2, 8, 0.3m, "GBP", 4, 0.2m, null, true, true); var result = tuner.ParametersFramework(ruleParameters); Assert.That(result, Is.Not.Null); Assert.That(result.Count, Is.EqualTo(31)); }