(Exchange exchange, Object skippedProperties, Object method, Object entry, Object symbol, Object now)
| 11 | |
| 12 | public 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 | } |
no test coverage detected