- transactionToCommand.put(tx2, mock(TransactionCommand.class));
- transactionToCommand.put(transaction, txCommand);
-
- final TransactionInvokerImpl invoker = new TransactionInvokerImpl(db, pendingTransactions,
- Collections.singletonList(transaction), transactionToCommand);
-
- assertEquals(Collections.singletonList(txCommand), invoker.extractResubmitCommands());
+ final TransactionCommand cmd2 = mock(TransactionCommand.class);
+ transactionToCommand.put(tx2, cmd2);
+ final TransactionCommand cmd3 = mock(TransactionCommand.class);
+ transactionToCommand.put(tx3, cmd3);
+
+ final TransactionInvokerImpl invoker = new TransactionInvokerImpl(db,
+ // Given pending transaction order ...
+ ImmutableList.of(tx1, tx2, tx3),
+ // .. if tx2 fails ...
+ Collections.singletonList(tx2),
+ transactionToCommand);
+
+ // .. we want to replay tx2 and tx3
+ assertEquals(ImmutableList.of(cmd2, cmd3), invoker.extractResubmitCommands());