MCPcopy
hub / github.com/ccxt/ccxt / testOrder

Method testOrder

java/tests/src/main/java/tests/exchange/TestOrder.java:13–72  ·  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 TestOrder extends BaseTest {
13 public static void testOrder(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", "123" );
18 put( "clientOrderId", "1234" );
19 put( "timestamp", 1649373600000L );
20 put( "datetime", "2022-04-07T23:20:00.000Z" );
21 put( "lastTradeTimestamp", 1649373610000L );
22 put( "symbol", "XYZ/USDT" );
23 put( "type", "limit" );
24 put( "timeInForce", "GTC" );
25 put( "postOnly", true );
26 put( "side", "sell" );
27 put( "price", exchange.parseNumber("1.23456") );
28 put( "stopPrice", exchange.parseNumber("1.1111") );
29 put( "amount", exchange.parseNumber("1.23") );
30 put( "cost", exchange.parseNumber("2.34") );
31 put( "average", exchange.parseNumber("1.234") );
32 put( "filled", exchange.parseNumber("1.23") );
33 put( "remaining", exchange.parseNumber("0.123") );
34 put( "status", "ok" );
35 put( "fee", new java.util.HashMap<String, Object>() {{}} );
36 put( "trades", new java.util.ArrayList<Object>(java.util.Arrays.asList()) );
37 }};
38 Object emptyAllowedFor = new java.util.ArrayList<Object>(java.util.Arrays.asList("clientOrderId", "stopPrice", "trades", "timestamp", "datetime", "lastTradeTimestamp", "average", "type", "timeInForce", "postOnly", "side", "price", "amount", "cost", "filled", "remaining", "status", "fee")); // there are exchanges that return only order id, so we don't need to strictly requite all props to be set.
39 TestSharedMethods.AssertStructure(exchange, skippedProperties, method, entry, format, emptyAllowedFor);
40 TestSharedMethods.AssertTimestampAndDatetime(exchange, skippedProperties, method, entry, now);
41 //
42 TestSharedMethods.AssertInArray(exchange, skippedProperties, method, entry, "timeInForce", new java.util.ArrayList<Object>(java.util.Arrays.asList("GTC", "GTK", "IOC", "FOK", "PO")));
43 TestSharedMethods.AssertInArray(exchange, skippedProperties, method, entry, "status", new java.util.ArrayList<Object>(java.util.Arrays.asList("open", "closed", "canceled")));
44 TestSharedMethods.AssertInArray(exchange, skippedProperties, method, entry, "side", new java.util.ArrayList<Object>(java.util.Arrays.asList("buy", "sell")));
45 TestSharedMethods.AssertInArray(exchange, skippedProperties, method, entry, "postOnly", new java.util.ArrayList<Object>(java.util.Arrays.asList(true, false)));
46 TestSharedMethods.AssertSymbol(exchange, skippedProperties, method, entry, "symbol", symbol);
47 TestSharedMethods.AssertGreater(exchange, skippedProperties, method, entry, "price", "0");
48 TestSharedMethods.AssertGreater(exchange, skippedProperties, method, entry, "stopPrice", "0");
49 TestSharedMethods.AssertGreaterOrEqual(exchange, skippedProperties, method, entry, "cost", "0");
50 TestSharedMethods.AssertGreater(exchange, skippedProperties, method, entry, "average", "0");
51 TestSharedMethods.AssertGreaterOrEqual(exchange, skippedProperties, method, entry, "filled", "0");
52 TestSharedMethods.AssertGreaterOrEqual(exchange, skippedProperties, method, entry, "remaining", "0");
53 TestSharedMethods.AssertGreaterOrEqual(exchange, skippedProperties, method, entry, "amount", "0");
54 TestSharedMethods.AssertGreaterOrEqual(exchange, skippedProperties, method, entry, "amount", exchange.safeString(entry, "remaining"));
55 TestSharedMethods.AssertGreaterOrEqual(exchange, skippedProperties, method, entry, "amount", exchange.safeString(entry, "filled"));
56 if (!Helpers.isTrue((Helpers.inOp(skippedProperties, "trades"))))
57 {
58 Object skippedNew = exchange.deepExtend(skippedProperties, new java.util.HashMap<String, Object>() {{
59 put( "timestamp", true );
60 put( "datetime", true );
61 put( "side", true );
62 }});
63 if (Helpers.isTrue(!Helpers.isEqual(Helpers.GetValue(entry, "trades"), null)))
64 {
65 for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(Helpers.GetValue(entry, "trades"))); i++)
66 {
67 TestTrade.testTrade(exchange, skippedNew, method, Helpers.GetValue(Helpers.GetValue(entry, "trades"), i), symbol, now);
68 }
69 }
70 }

Callers 6

testFetchClosedOrdersMethod · 0.95
testFetchOrdersMethod · 0.95
testFetchOpenOrdersMethod · 0.95
tcoCreateOrderSafeMethod · 0.95
testWatchOrdersMethod · 0.95

Calls 15

AssertStructureMethod · 0.95
AssertInArrayMethod · 0.95
AssertSymbolMethod · 0.95
AssertGreaterMethod · 0.95
AssertGreaterOrEqualMethod · 0.95
isTrueMethod · 0.95
inOpMethod · 0.95
isEqualMethod · 0.95
GetValueMethod · 0.95
isLessThanMethod · 0.95
getArrayLengthMethod · 0.95

Tested by

no test coverage detected