public void ValidateOrderRequest() { // Null. { var v = new RequestProviderValidator(); OrderRequest r = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Map null. { var v = new RequestProviderValidator(); OrderRequest r = new OrderRequest(); r.Map = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Valid. { var v = new RequestProviderValidator(); OrderRequest r = new OrderRequest(); r.Map = new ValueMap(); v.Validate(r); } }
public void ValidateRefreshTableRequest() { // Null. { var v = new RequestProviderValidator(); RefreshTableRequest r = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Invalid tables. { foreach (var opt in new[] { TableType.Unknown, TableType.Summary }) { var v = new RequestProviderValidator(); RefreshTableRequest r = new RefreshTableRequest(); r.Table = opt; AssertEx.Throws <ArgumentOutOfRangeException>(() => { v.Validate(r); }); } } // Invalid order table. { var v = new RequestProviderValidator(); RefreshTableRequest r = new RefreshTableRequest(); r.Table = TableType.Orders; AssertEx.Throws <ArgumentException>(() => { v.Validate(r); }); } // Valid. { foreach (var opt in new[] { TableType.Accounts, TableType.ClosedTrades, TableType.Messages, TableType.Offers, TableType.Trades }) { var v = new RequestProviderValidator(); RefreshTableRequest r = new RefreshTableRequest(); r.Table = opt; v.Validate(r); } } }
public void ValidateMarketDataSnapshotRequest() { // Null. { var v = new RequestProviderValidator(); MarketDataSnapshotRequest r = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Instrument null. { var v = new RequestProviderValidator(); MarketDataSnapshotRequest r = new MarketDataSnapshotRequest(); r.Instrument = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Instrument empty. { var v = new RequestProviderValidator(); MarketDataSnapshotRequest r = new MarketDataSnapshotRequest(); r.Instrument = ""; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // Negative MaxBars. { var v = new RequestProviderValidator(); MarketDataSnapshotRequest r = new MarketDataSnapshotRequest(); r.Instrument = "Test"; r.MaxBars = -5; AssertEx.Throws <ArgumentOutOfRangeException>(() => { v.Validate(r); }); } // Valid without CustomTimeframeId. { var v = new RequestProviderValidator(); MarketDataSnapshotRequest r = new MarketDataSnapshotRequest(); r.Instrument = "Test"; r.MaxBars = 7; r.Timeframe = Timeframe.Hours2; v.Validate(r); } // CustomTimeframeId null. { var v = new RequestProviderValidator(); MarketDataSnapshotRequest r = new MarketDataSnapshotRequest(); r.Instrument = "Test"; r.Timeframe = Timeframe.Custom; r.CustomTimeframeId = null; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // CustomTimeframeId empty. { var v = new RequestProviderValidator(); MarketDataSnapshotRequest r = new MarketDataSnapshotRequest(); r.Instrument = "Test"; r.Timeframe = Timeframe.Custom; r.CustomTimeframeId = ""; AssertEx.Throws <ArgumentNullException>(() => { v.Validate(r); }); } // valid with CustomTimeframeId. { var v = new RequestProviderValidator(); MarketDataSnapshotRequest r = new MarketDataSnapshotRequest(); r.Instrument = "Test"; r.Timeframe = Timeframe.Custom; r.CustomTimeframeId = "Y1"; v.Validate(r); } }