public async Task Simple1() { // arrange // Buckets: // BTC/USD // Prices: // BTC/USD var btcUsdBucket = new Bucket("BTC", "BTCUSD", "BTC", "USD"); var internalQuotesService = new InternalQuotesService(NullLogger <InternalQuotesService> .Instance); var positionService = new PositionService(internalQuotesService, NullLogger <PositionService> .Instance); var bucket = new Bucket("BTC", "BTCUSD", "BTC", "USD"); positionService.AddBucket("BTC", bucket); var trade = new Trade("1", "1", "BTCUSD", "BTC", "USD", 1, -10000, 10000, DateTime.Now); // act await positionService.HandleAsync(trade); // assert var updatedBucket = positionService.GetBucket("BTC"); Assert.Equal(1, updatedBucket.BaseVolume); Assert.Equal(-10000, updatedBucket.QuoteVolume); }
public PositionService(InternalQuotesService internalQuotesService, ILogger <PositionService> logger) { _internalQuotesService = internalQuotesService; _logger = logger; }