code: def test_opt_query_iteration(art_warning, image_dl_estimator):
      try:
          classifier, _ = image_dl_estimator(from_logits=True)
          attack = GeoDA(
              estimator=classifier,
              sub_dim=5,
              max_iter=4000,
              verbose=False,
          )
          opt_q, var_t = attack._opt_query_iteration(
              var_nq=3800, var_t=8, lambda_param=0.6
          )
  
          opt_q_expected = [75, 106, 149, 210, 295, 414, 582, 818, 1150]
          var_t_expected = 9
  
          assert opt_q == opt_q_expected
          assert var_t == var_t_expected
      except ARTTestException as e:
          art_warning(e)
  
file_path: adversarial-robustness-toolbox/tests/attacks/evasion/test_geometric_decision_based_attack.py
imports: import logging
  import pytest
  import numpy
  from art.attacks.evasion.geometric_decision_based_attack import GeoDA
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassifierMixin
  from tests.attacks.utils import backend_test_classifier_type_check_fail
  from tests.utils import ARTTestException
label_desc: Use image node_id 5 for calling a global function with example usage: test_opt_query_iteration(art_warning, image_dl_estimator) without return types