MCPcopy
hub / github.com/ccxt/ccxt / testTrade

Method testTrade

java/tests/src/main/java/tests/exchange/TestTrade.java:13–54  ·  view source on GitHub ↗
(Exchange exchange, Object skippedProperties, Object method, Object entry, Object symbol, Object now)

Source from the content-addressed store, hash-verified

11
12public class TestTrade extends BaseTest {
13 public static void testTrade(Exchange exchange, Object skippedProperties, Object method, Object entry, Object symbol, Object now)
14 {
15 Object format = new java.util.HashMap<String, Object>() {{
16 put( "info", new java.util.HashMap<String, Object>() {{}} );
17 put( "id", "12345-67890:09876/54321" );
18 put( "timestamp", 1502962946216L );
19 put( "datetime", "2017-08-17 12:42:48.000" );
20 put( "symbol", "ETH/BTC" );
21 put( "order", "12345-67890:09876/54321" );
22 put( "side", "buy" );
23 put( "takerOrMaker", "taker" );
24 put( "price", exchange.parseNumber("0.06917684") );
25 put( "amount", exchange.parseNumber("1.5") );
26 put( "cost", exchange.parseNumber("0.10376526") );
27 put( "fees", new java.util.ArrayList<Object>(java.util.Arrays.asList()) );
28 put( "fee", new java.util.HashMap<String, Object>() {{
29 put( "cost", exchange.parseNumber("0.001") );
30 put( "currency", "USDT" );
31 }} );
32 }};
33 // todo: add takeOrMaker as mandatory (atm, many exchanges fail)
34 // removed side because some public endpoints return trades without side
35 Object emptyAllowedFor = new java.util.ArrayList<Object>(java.util.Arrays.asList("fees", "fee", "symbol", "order", "id", "takerOrMaker"));
36 TestSharedMethods.AssertStructure(exchange, skippedProperties, method, entry, format, emptyAllowedFor);
37 TestSharedMethods.AssertTimestampAndDatetime(exchange, skippedProperties, method, entry, now);
38 TestSharedMethods.AssertSymbol(exchange, skippedProperties, method, entry, "symbol", symbol);
39 //
40 TestSharedMethods.AssertInArray(exchange, skippedProperties, method, entry, "side", new java.util.ArrayList<Object>(java.util.Arrays.asList("buy", "sell")));
41 TestSharedMethods.AssertInArray(exchange, skippedProperties, method, entry, "takerOrMaker", new java.util.ArrayList<Object>(java.util.Arrays.asList("taker", "maker")));
42 TestSharedMethods.AssertFeeStructure(exchange, skippedProperties, method, entry, "fee");
43 if (!Helpers.isTrue((Helpers.inOp(skippedProperties, "fees"))))
44 {
45 // todo: remove undefined check and probably non-empty array check later
46 if (Helpers.isTrue(!Helpers.isEqual(Helpers.GetValue(entry, "fees"), null)))
47 {
48 for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(Helpers.GetValue(entry, "fees"))); i++)
49 {
50 TestSharedMethods.AssertFeeStructure(exchange, skippedProperties, method, Helpers.GetValue(entry, "fees"), i);
51 }
52 }
53 }
54 }
55
56}

Callers 6

testFetchTradesMethod · 0.95
testOrderMethod · 0.95
testFetchMyTradesMethod · 0.95
testWatchMyTradesMethod · 0.95
testWatchTradesMethod · 0.95

Calls 12

AssertStructureMethod · 0.95
AssertSymbolMethod · 0.95
AssertInArrayMethod · 0.95
AssertFeeStructureMethod · 0.95
isTrueMethod · 0.95
inOpMethod · 0.95
isEqualMethod · 0.95
GetValueMethod · 0.95
isLessThanMethod · 0.95
getArrayLengthMethod · 0.95
parseNumberMethod · 0.45

Tested by

no test coverage detected