MCPcopy Index your code
hub / github.com/ccxt/ccxt / testMethod

Method testMethod

java/tests/src/main/java/tests/exchange/TestMain.java:280–359  ·  view source on GitHub ↗
(Object methodName2, Exchange exchange, Object args, Object isPublic)

Source from the content-addressed store, hash-verified

278 }
279
280 public java.util.concurrent.CompletableFuture<Object> testMethod(Object methodName2, Exchange exchange, Object args, Object isPublic)
281 {
282 final Object methodName3 = methodName2;
283 return java.util.concurrent.CompletableFuture.supplyAsync(() -> {
284 Object methodName = methodName3;
285 // todo: temporary skip for c#
286 if (Helpers.isTrue(Helpers.isTrue(Helpers.isGreaterThanOrEqual(Helpers.getIndexOf(methodName, "OrderBook"), 0)) && Helpers.isTrue(Helpers.isEqual(this.ext, "cs"))))
287 {
288 Helpers.addElementToObject(exchange.options, "checksum", false);
289 }
290 // todo: temporary skip for php
291 if (Helpers.isTrue(Helpers.isTrue(Helpers.isGreaterThanOrEqual(Helpers.getIndexOf(methodName, "OrderBook"), 0)) && Helpers.isTrue(Helpers.isEqual(this.ext, "php"))))
292 {
293 return true;
294 }
295 Object skippedPropertiesForMethod = this.getSkips(exchange, methodName);
296 Object isLoadMarkets = (Helpers.isEqual(methodName, "loadMarkets"));
297 Object isFetchCurrencies = (Helpers.isEqual(methodName, "fetchCurrencies"));
298 Object isProxyTest = (Helpers.isEqual(methodName, this.proxyTestFileName));
299 Object isConstructorTest = (Helpers.isEqual(methodName, "afterConstruct"));
300 Object isFeatureTest = (Helpers.isEqual(methodName, "features"));
301 // if this is a private test, and the implementation was already tested in public, then no need to re-test it in private test (exception is fetchCurrencies, because our approach in base exchange)
302 if (Helpers.isTrue(Helpers.isTrue(!Helpers.isTrue(isPublic) && Helpers.isTrue((Helpers.inOp(this.checkedPublicTests, methodName)))) && !Helpers.isTrue(isFetchCurrencies)))
303 {
304 return true;
305 }
306 Object skipMessage = null;
307 Object supportedByExchange = Helpers.isTrue((Helpers.inOp(exchange.has, methodName))) && Helpers.isTrue(Helpers.GetValue(exchange.has, methodName));
308 if (Helpers.isTrue(!Helpers.isTrue(isLoadMarkets) && Helpers.isTrue((Helpers.isTrue(Helpers.isGreaterThan(Helpers.getArrayLength(this.onlySpecificTests), 0)) && !Helpers.isTrue(exchange.inArray(methodName, this.onlySpecificTests))))))
309 {
310 skipMessage = "[INFO] IGNORED_TEST";
311 } else if (Helpers.isTrue(Helpers.isTrue(Helpers.isTrue(Helpers.isTrue(!Helpers.isTrue(isLoadMarkets) && !Helpers.isTrue(supportedByExchange)) && !Helpers.isTrue(isProxyTest)) && !Helpers.isTrue(isFeatureTest)) && !Helpers.isTrue(isConstructorTest)))
312 {
313 skipMessage = "[INFO] UNSUPPORTED_TEST"; // keep it aligned with the longest message
314 } else if (Helpers.isTrue((skippedPropertiesForMethod instanceof String)))
315 {
316 skipMessage = "[INFO] SKIPPED_TEST";
317 } else if (!Helpers.isTrue((Helpers.inOp(this.testFiles, methodName))))
318 {
319 skipMessage = "[INFO] UNIMPLEMENTED_TEST";
320 }
321 // exceptionally for `loadMarkets` call, we call it before it's even checked for "skip" as we need it to be called anyway (but can skip "test.loadMarket" for it)
322 if (Helpers.isTrue(isLoadMarkets))
323 {
324 (exchange.loadMarkets(true)).join();
325 }
326 Object name = exchange.id;
327 if (Helpers.isTrue(skipMessage))
328 {
329 if (Helpers.isTrue(this.info))
330 {
331 dump(this.addPadding(skipMessage, 25), name, methodName);
332 }
333 return true;
334 }
335 if (Helpers.isTrue(this.info))
336 {
337 Object argsStringified = Helpers.add(Helpers.add("(", exchange.json(args)), ")"); // args.join() breaks when we provide a list of symbols or multidimensional array; "args.toString()" breaks bcz of "array to string conversion"

Callers 2

testSafeMethod · 0.95
testProxiesMethod · 0.95

Calls 15

isTrueMethod · 0.95
isGreaterThanOrEqualMethod · 0.95
getIndexOfMethod · 0.95
isEqualMethod · 0.95
addElementToObjectMethod · 0.95
getSkipsMethod · 0.95
inOpMethod · 0.95
GetValueMethod · 0.95
isGreaterThanMethod · 0.95
getArrayLengthMethod · 0.95
addPaddingMethod · 0.95
addMethod · 0.95

Tested by

no test coverage detected