public void GetTickerByIdWithConversionReturnsExpectedInformation()
        {
            var CmcClient = new CmcClient();
            var result    = CmcClient.GetTickerById(this.expectedBtcItem.Id, ExpectedEurQuote);

            result.Success.Should().BeTrue(result.Metadata.ErrorMessage);
            this.AssertMetadata(result.Metadata, false);
            this.AssertTicker(result.Data, true);
            this.AssertTickerQuotes(result.Data.Quotes, true);
        }
        public void GetGlobalDataWithConversionReturnsExpectedInformation()
        {
            var CmcClient = new CmcClient();
            var result    = CmcClient.GetGlobalData(ExpectedEurQuote);

            result.Success.Should().BeTrue(result.Metadata.ErrorMessage);
            this.AssertMetadata(result.Metadata, false);
            this.AssertGlobalData(result.Data);
            this.AssertGlobalDataQuote(result.Data.Quotes, true);
        }
        public void GetListingsReturnsExpectedInformation()
        {
            var CmcClient = new CmcClient();
            var result    = CmcClient.GetCurrencies();

            result.Success.Should().BeTrue(result.Metadata.ErrorMessage);
            this.AssertMetadata(result.Metadata, true);
            result.Data.Should().NotBeNullOrEmpty();
            result.Data.Length.Should().Be(result.Metadata.CryptocurrenciesCount);
            result.Data.First().Should().BeEquivalentTo(expectedBtcItem);
        }
        public void GetAllTickersWithConvertionReturnsExpectedInformation()
        {
            var CmcClient = new CmcClient();
            var result    = CmcClient.GetAllTickers(ExpectedEurQuote);

            result.Success.Should().BeTrue(result.Metadata.ErrorMessage);
            this.AssertMetadata(result.Metadata, true);
            this.AssertTickerList(result.Data, ExpectedTickersStandardStartPosition, result.Metadata.CryptocurrenciesCount);
            this.AssertTicker(result.Data.First().Value, true);
            this.AssertTicker(result.Data.Last().Value, false);
            this.AssertTickerQuotes(result.Data.First().Value.Quotes, true);
            this.AssertTickerQuotes(result.Data.Last().Value.Quotes, true);
        }
        public void GetTickersInRangeCustomStartAndLimitWithConvertionReturnsExpectedInformation()
        {
            var CmcClient = new CmcClient();
            var result    = CmcClient.GetTickersInRange(ExpectedTickersCustomStartPosition, ExpectedTickersCustomLimit, ExpectedEurQuote);

            result.Success.Should().BeTrue(result.Metadata.ErrorMessage);
            this.AssertMetadata(result.Metadata, false);
            this.AssertTickerList(result.Data, ExpectedTickersCustomStartPosition, ExpectedTickersCustomLimit);
            this.AssertTicker(result.Data.First().Value, false);
            this.AssertTicker(result.Data.Last().Value, false);
            this.AssertTickerQuotes(result.Data.First().Value.Quotes, true);
            this.AssertTickerQuotes(result.Data.Last().Value.Quotes, true);
        }
        public void GetTickersInRangeStandardStartAndLimitWithConvertionReturnsExpectedInformation()
        {
            var CmcClient = new CmcClient();
            var result    = CmcClient.GetTickersInRange(ExpectedTickersStandardStartPosition, ExpectedTickersStandardLimit, ExpectedEurQuote);

            result.Success.Should().BeTrue(result.Metadata.ErrorMessage);
            this.AssertMetadata(result.Metadata, false);
            this.AssertTickerList(result.Data, ExpectedTickersStandardStartPosition, ExpectedTickersStandardLimit);
            this.AssertTicker(result.Data.First().Value, true); //first item should be bitcoin, because start position is 1.
            this.AssertTicker(result.Data.Last().Value, false);
            this.AssertTickerQuotes(result.Data.First().Value.Quotes, true);
            this.AssertTickerQuotes(result.Data.Last().Value.Quotes, true);
        }
示例#7
0
        public async Task <ActionResult <BalanceModel> > Balance([FromServices] CmcClient client)
        {
            const int tickerId = 2940;

            if (!memoryCache.TryGetValue(nameof(CmcTicker), out CmcTicker ticker))
            {
                ticker = await client.GetTickerData(tickerId, "BTC");

                var tickerETH = await client.GetTickerData(tickerId, "ETH");

                ticker.Data.Quotes.ETH = tickerETH.Data.Quotes.ETH;

                memoryCache.Set(nameof(CmcTicker), ticker,
                                new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromSeconds(60))
                                );
            }

            return(new BalanceModel()
            {
                Ticker = ticker,
                Balance = GetBalance(Currency.SPX)
            });
        }