title: Can't understand this mockito verify failure
body: <pre><code>        verify(mockDao).updateExitStopLimitOrder(any(), eq(
          ChartPatternSignal.Order.create(exitStopLossOrderStatus.getOrderId(),
              0,
              0, exitStopLossOrderStatus.getStatus())
      ));
      assertThat(stopLossOrderStatusRequestCapture.getValue().getOrderId()).isEqualTo(2L);
      verify(mockBinanceApiRestClient).cancelOrder(cancelOrderRequestCapture.capture());
      assertThat(cancelOrderRequestCapture.getValue().getOrderId()).isEqualTo(2);
      assertThat(cancelOrderRequestCapture.getValue().getSymbol()).isEqualTo(&quot;ETHUSDT&quot;);
      verify(mockDao).cancelStopLimitOrder(eq(chartPatternSignal));
      verify(mockBinanceApiRestClient).newOrder(newOrderCapture.capture());
      assertThat(newOrderCapture.getValue().getSymbol()).isEqualTo(&quot;ETHUSDT&quot;);
      assertThat(newOrderCapture.getValue().getSide()).isEqualTo(OrderSide.BUY);
      assertThat(newOrderCapture.getValue().getType()).isEqualTo(OrderType.MARKET);
      assertThat(newOrderCapture.getValue().getTimeInForce()).isNull();
      assertThat(newOrderCapture.getValue().getQuantity()).isEqualTo(&quot;20.0301&quot;);
      // Quantity that was buyback = 20.0301 (because 20.01 / 0.999) but exclude the synthetic 10.01
      verify(mockDao).setExitOrder(chartPatternSignal,
          ChartPatternSignal.Order.create(3L,
              10.0201, 1.050075, OrderStatus.FILLED), TradeExitType.TARGET_TIME_PASSED);
  </code></pre>
  <p>The last verify statement above for setExitOrder fails, but it shows as expected every verify set on mockDao, even though it just ran through those verify statements:</p>
  <pre><code>Argument(s) are different! Wanted:
  mockDao.setExitOrder(
      CoinPair: ETHUSDT, SignalSource: PYTHON_SOURCE_SIGNALS, TimeFrame: FIFTEEN_MINUTES, TradeType: SELL, Pattern: Resistance, Time of signal: 2022-06-03 14:51, Attempt: 1, Price Target: 6000.000000 Price Target Time: 2022-06-03 18:11, Attempt: 1,
      Order Id: 3 Executed Qty: 10.020100 Average Price: 1.050075 Order Status: FILLED.,
      TARGET_TIME_PASSED
  );
  -&gt; at com.binance.bot.trading.ExitPositionAtMarketPriceTest.sellTrade_minTradeValueNotMet_automaticallyHandleUsingSyntheticTrade(ExitPositionAtMarketPriceTest.java:705)
  
  Actual invocations have different arguments:
  mockDao.updateExitStopLimitOrder(
      CoinPair: ETHUSDT, SignalSource: PYTHON_SOURCE_SIGNALS, TimeFrame: FIFTEEN_MINUTES, TradeType: SELL, Pattern: Resistance, Time of signal: 2022-06-03 14:51, Attempt: 1, Price Target: 6000.000000 Price Target Time: 2022-06-03 18:11, Attempt: 1,
      Order Id: 1 Executed Qty: 0.000000 Average Price: 0.000000 Order Status: OPEN.
  );
  -&gt; at com.binance.bot.trading.ExitPositionAtMarketPrice.cancelStopLimitOrder(ExitPositionAtMarketPrice.java:78)
  mockDao.getChartPattern(
      CoinPair: ETHUSDT, SignalSource: PYTHON_SOURCE_SIGNALS, TimeFrame: FIFTEEN_MINUTES, TradeType: SELL, Pattern: Resistance, Time of signal: 2022-06-03 14:51, Attempt: 1, Price Target: 6000.000000 Price Target Time: 2022-06-03 18:11, Attempt: 1
  );
  -&gt; at com.binance.bot.trading.ExitPositionAtMarketPrice.cancelStopLimitOrder(ExitPositionAtMarketPrice.java:82)
  mockDao.cancelStopLimitOrder(
      CoinPair: ETHUSDT, SignalSource: PYTHON_SOURCE_SIGNALS, TimeFrame: FIFTEEN_MINUTES, TradeType: SELL, Pattern: Resistance, Time of signal: 2022-06-03 14:51, Attempt: 1, Price Target: 6000.000000 Price Target Time: 2022-06-03 18:11, Attempt: 1
  );
  -&gt; at com.binance.bot.trading.ExitPositionAtMarketPrice.cancelStopLimitOrder(ExitPositionAtMarketPrice.java:93)
  mockDao.setExitOrder(
      CoinPair: ETHUSDT, SignalSource: PYTHON_SOURCE_SIGNALS, TimeFrame: FIFTEEN_MINUTES, TradeType: SELL, Pattern: Resistance, Time of signal: 2022-06-03 14:51, Attempt: 1, Price Target: 6000.000000 Price Target Time: 2022-06-03 18:11, Attempt: 1,
      Order Id: 3 Executed Qty: 10.020100 Average Price: 1.050075 Order Status: FILLED.,
      TARGET_TIME_PASSED
  );
  -&gt; at com.binance.bot.trading.ExitPositionAtMarketPrice.exitPositionIfStillHeld(ExitPositionAtMarketPrice.java:229)
  mockDao.writeAccountBalanceToDB(
      
  );
  -&gt; at com.binance.bot.trading.ExitPositionAtMarketPrice.exitPositionIfStillHeld(ExitPositionAtMarketPrice.java:245)
     at com.binance.bot.trading.ExitPositionAtMarketPriceTest.sellTrade_minTradeValueNotMet_automaticallyHandleUsingSyntheticTrade(ExitPositionAtMarketPriceTest.java:705)
  </code></pre>
  <p>I can't even make sense of what the error is all about. I have verified by stepping through the code that the actual arguments passed to setExitOrder are same as those expected in the test. Any help?</p>