-
-
Notifications
You must be signed in to change notification settings - Fork 374
/
Copy pathExchangeMEXCAPITests.cs
93 lines (83 loc) · 2.44 KB
/
ExchangeMEXCAPITests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
using System.Collections.Immutable;
using System.Linq;
using System.Threading.Tasks;
using ExchangeSharp;
using FluentAssertions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace ExchangeSharpTests;
[TestClass]
public class MEXCAPITests
{
private const string MarketSymbol = "ETHBTC";
private static ExchangeMEXCAPI _api;
[AssemblyInitialize]
public static async Task AssemblyInitialize(TestContext testContext)
{
_api = await ExchangeAPI.GetExchangeAPIAsync<ExchangeMEXCAPI>();
}
[TestMethod]
public async Task GetMarketSymbolsMetadataAsyncShouldReturnSymbols()
{
var symbols = (await _api.GetMarketSymbolsMetadataAsync()).ToImmutableArray();
symbols.Should().NotBeNull();
foreach (var symbol in symbols)
{
symbol.MarketSymbol.Should().NotBeNull();
symbol.BaseCurrency.Should().NotBeNull();
symbol.QuoteCurrency.Should().NotBeNull();
}
}
[TestMethod]
public async Task GetMarketSymbolsAsyncShouldReturnSymbols()
{
var symbols = (await _api.GetMarketSymbolsAsync()).ToImmutableArray();
symbols.Should().NotBeNull();
foreach (var symbol in symbols)
{
symbol.Should().NotBeNull();
}
}
[TestMethod]
public async Task GetTickersAsyncShouldReturnTickers()
{
var tickers = (await _api.GetTickersAsync()).ToImmutableArray();
tickers.Should().NotBeNull();
foreach (var t in tickers)
{
t.Key.Should().NotBeNull();
t.Value.MarketSymbol.Should().NotBeNull();
t.Value.Exchange.Should().NotBeNull();
t.Value.Volume.Should().NotBeNull();
}
}
[TestMethod]
public async Task GetTickerAsyncShouldReturnTicker()
{
var ticker = await _api.GetTickerAsync(MarketSymbol);
ticker.Should().NotBeNull();
ticker.MarketSymbol.Should().NotBeNull();
ticker.Exchange.Should().NotBeNull();
ticker.Volume.Should().NotBeNull();
}
[TestMethod]
public async Task GetOrderBookAsyncShouldReturlOrderBookData()
{
var orderBook = await _api.GetOrderBookAsync(MarketSymbol);
orderBook.MarketSymbol.Should().NotBeNullOrEmpty();
orderBook.Asks.Should().NotBeNull();
orderBook.Bids.Should().NotBeNull();
}
[TestMethod]
public async Task GetRecentTradesAsyncShouldReturnTrades()
{
var recentTrades = await _api.GetRecentTradesAsync(MarketSymbol);
recentTrades.Should().NotBeNull();
}
[TestMethod]
public async Task GetCandlesAsyncShouldReturnCandleData()
{
var klines = (await _api.GetCandlesAsync(MarketSymbol, 3600)).ToArray();
klines.Should().NotBeNull();
klines.Length.Should().NotBe(0);
}
}