core.utilities / RecordingMap

# RecordingMap

`class RecordingMap<K, V> : MutableMap<K, V>`

A RecordingMap wraps a regular Map<K, V> and records the sequence of gets and puts to it. This is useful in white box unit tests to ensure that code is accessing a data store as much as you expect.

Note: although this class itself thread safe, if the underlying map is not, then this class loses its thread safety.

### Types

Get | `data class Get<K> : Record`
Put | `data class Put<K, V> : Record`
Record | `interface Record`

### Constructors

<init> | `RecordingMap(wrappedMap: MutableMap<K, V>, logger: <ERROR CLASS> = loggerFor<RecordingMap<K, V>>())` A RecordingMap wraps a regular Map<K, V> and records the sequence of gets and puts to it. This is useful in white box unit tests to ensure that code is accessing a data store as much as you expect.

### Properties

records | `val records: List<Record>` Returns a snapshot of the set of records

### Functions

clearRecords | `fun clearRecords(): Unit`
get | `fun get(key: K): V?`
put | `fun put(key: K, value: V): V?`
putAll | `fun putAll(from: Map<out K, V>): Unit`
putAllUnrecorded | `fun putAllUnrecorded(from: Map<out K, V>): Unit`