public void ValidateInstrumentAccountBaseRequest() { // Null. { var v = new TradingSettingsProviderValidator(); InstrumentAccountBaseRequest r = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Instrument null. { var v = new TradingSettingsProviderValidator(); InstrumentAccountBaseRequest r = new InstrumentAccountBaseRequest(); r.Instrument = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Instrument empty. { var v = new TradingSettingsProviderValidator(); InstrumentAccountBaseRequest r = new InstrumentAccountBaseRequest(); r.Instrument = ""; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Account null. { var v = new TradingSettingsProviderValidator(); InstrumentAccountBaseRequest r = new InstrumentAccountBaseRequest(); r.Instrument = "Test"; r.Account = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Valid. { var v = new TradingSettingsProviderValidator(); InstrumentAccountBaseRequest r = new InstrumentAccountBaseRequest(); r.Instrument = "Test"; r.Account = new AccountRow(); v.Validate(r); } }
public virtual void Validate(InstrumentAccountBaseRequest request) { this.Validate((InstrumentBaseRequest)request); if (request.Account == null) { throw new ArgumentNullException("Account"); } }
public GetBaseUnitSizeResponse GetBaseUnitSize(InstrumentAccountBaseRequest request) { this.Validator.Validate(request); var result = this.Provider.getBaseUnitSize(request.Instrument, Helpers.GetAccountRow(request.Account)); return(new GetBaseUnitSizeResponse() { BaseUnitSize = result, }); }
public GetQuantityResponse GetMinQuantity(InstrumentAccountBaseRequest request) { this.Validator.Validate(request); var result = this.Provider.getMinQuantity(request.Instrument, Helpers.GetAccountRow(request.Account)); return(new GetQuantityResponse() { Quantity = result, }); }
public GetMarginsResponse GetMargins(InstrumentAccountBaseRequest request) { this.Validator.Validate(request); double mmr = 0; double emr = 0; double lmr = 0; var result = this.Provider.getMargins(request.Instrument, Helpers.GetAccountRow(request.Account), ref mmr, ref emr, ref lmr); return(new GetMarginsResponse() { EMR = emr, LMR = lmr, MMR = mmr, ThreeMarginPolicy = result, }); }
public override void Validate(InstrumentAccountBaseRequest request) { base.Validate(request); this.ValidateAccountRow(request.Account); }
public void ValidateInstrumentAccountBaseRequest() { // Null. { var v = Helpers.CreateInstance(__Type) as ITradingSettingsProviderValidator; InstrumentAccountBaseRequest r = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Instrument null. { var v = Helpers.CreateInstance(__Type) as ITradingSettingsProviderValidator; InstrumentAccountBaseRequest r = new InstrumentAccountBaseRequest(); r.Instrument = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Instrument empty. { var v = Helpers.CreateInstance(__Type) as ITradingSettingsProviderValidator; InstrumentAccountBaseRequest r = new InstrumentAccountBaseRequest(); r.Instrument = ""; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Account null. { var v = Helpers.CreateInstance(__Type) as ITradingSettingsProviderValidator; InstrumentAccountBaseRequest r = new InstrumentAccountBaseRequest(); r.Instrument = "Test"; r.Account = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Wrong account object type. { var v = Helpers.CreateInstance(__Type) as ITradingSettingsProviderValidator; InstrumentAccountBaseRequest r = new InstrumentAccountBaseRequest(); r.Instrument = "Test"; r.Account = new AccountRow(); AssertEx.Throws <ArgumentException>(() => { v.Validate(r); }); } // Unable to test valid scenario, because instance of O2GAccountRow cannot be created // outside of ForexConnect. }