It's worth adding a test that captures properties of txsToMempool in Test.Ouroboros.Network.TxSubmission.TxLogic module:
txsToMempool contains only downloaded txs
txsToMempool is disjoint from unacknowledgedTxIds after the decision is taken
The diff between previous txsToMempool and the new one is a subset of the intersection acknowledgedTxIds ∩ downloadedTxs \ bufferedTxs (it's more fine-grained than 1., but requires multiple decisions to be made).
It's easier to analyse a failing property like that than a whole simulation. These tests might come in handy when we start making bigger changes to the tx-logic.
It's worth adding a test that captures properties of txsToMempool in Test.Ouroboros.Network.TxSubmission.TxLogic module:
txsToMempool contains only downloaded txs
txsToMempool is disjoint from unacknowledgedTxIds after the decision is taken
The diff between previous txsToMempool and the new one is a subset of the intersection acknowledgedTxIds ∩ downloadedTxs \ bufferedTxs (it's more fine-grained than 1., but requires multiple decisions to be made).
It's easier to analyse a failing property like that than a whole simulation. These tests might come in handy when we start making bigger changes to the tx-logic.