core.testing

## Package core.testing

### Types

IRSSimulation | `class IRSSimulation : Simulation` A simulation in which banks execute interest rate swaps with each other, including the fixing events.

InMemoryMessagingNetwork

`class InMemoryMessagingNetwork`

An in-memory network allows you to manufacture InMemoryMessagings for a set of participants. Each InMemoryMessaging maintains a queue of messages it has received, and a background thread that dispatches messages one by one to registered handlers. Alternatively, a messaging system may be manually pumped, in which case no thread is created and a caller is expected to force delivery one at a time (this is useful for unit testing).

MockIdentityService

`class MockIdentityService : IdentityService`

Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere. This class allows the provided list of identities to be mutated after construction, so it takes the list lock when doing lookups and recalculates the mapping each time. The ability to change the list is used by the MockNetwork code.

MockNetwork | `class MockNetwork` A mock node brings up a suite of in-memory services in a fast manner suitable for unit testing. Components that do IO are either swapped out for mocks, or pointed to a Jimfs in memory filesystem.
MockNetworkMapCache | `class MockNetworkMapCache : InMemoryNetworkMapCache` Network map cache with no backing map service.
Simulation | `abstract class Simulation` Base class for network simulations that are based on the unit test / mock environment.
TradeSimulation | `class TradeSimulation : Simulation` Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, then B and C trade with each other, then C and A etc).