public CoinbaseProClient( IAuthenticator authenticator, IHttpClient httpClient, bool sandBox = false) { var clock = new Clock(); var httpRequestMessageService = new HttpRequestMessageService(authenticator, clock, sandBox); var createWebSocketFeed = (Func <IWebSocketFeed>)(() => new WebSocketFeed(sandBox)); var queryBuilder = new QueryBuilder(); AccountsService = new AccountsService(httpClient, httpRequestMessageService); CoinbaseAccountsService = new CoinbaseAccountsService(httpClient, httpRequestMessageService); OrdersService = new OrdersService(httpClient, httpRequestMessageService, queryBuilder); PaymentsService = new PaymentsService(httpClient, httpRequestMessageService); WithdrawalsService = new WithdrawalsService(httpClient, httpRequestMessageService, queryBuilder); DepositsService = new DepositsService(httpClient, httpRequestMessageService, queryBuilder); ProductsService = new ProductsService(httpClient, httpRequestMessageService, queryBuilder); CurrenciesService = new CurrenciesService(httpClient, httpRequestMessageService); LimitsService = new LimitsService(httpClient, httpRequestMessageService); FillsService = new FillsService(httpClient, httpRequestMessageService); FundingsService = new FundingsService(httpClient, httpRequestMessageService, queryBuilder); ReportsService = new ReportsService(httpClient, httpRequestMessageService); UserAccountService = new UserAccountService(httpClient, httpRequestMessageService); StablecoinConversionsService = new StablecoinConversionsService(httpClient, httpRequestMessageService); FeesService = new FeesService(httpClient, httpRequestMessageService); ProfilesService = new ProfilesService(httpClient, httpRequestMessageService); WebSocket = new WebSocket.WebSocket(createWebSocketFeed, authenticator, clock); Log.Information("CoinbaseProClient constructed"); }
public void SimpleTickExpectTrue() { _limitsService = new LimitsService(); var result = _limitsService.Tick(); Assert.True(result); }
public void TickExpectFail() { var mockTime = Mocks.MockTime(); // Init service _limitsService = new LimitsService(timeProvider: mockTime.Object); var currentTime = DateTime.Now; // max 1400 in 500 sec - real 3 4.Times(() => { // max 400 in 50 sec - real 8 8.Times(() => { // max 100 in 5 sec - real 50 50.Times(() => _results.Add(_limitsService.Tick())); //Switch time to + [5] sec. // ReSharper disable once AccessToModifiedClosure currentTime = currentTime.AddSeconds(5); mockTime.SetupGet(t => t.Now).Returns(currentTime); }); //Switch time to + [50] sec. currentTime = currentTime.AddSeconds(50); mockTime.SetupGet(t => t.Now).Returns(currentTime); }); //Switch time to + [500] sec. currentTime = currentTime.AddSeconds(500); mockTime.SetupGet(t => t.Now).Returns(currentTime); // Test again // max 100 in 5 sec 80.Times(() => _results.Add(_limitsService.Tick())); Assert.Contains(false, _results); }