package com.correx.infrastructure.persistence

import com.correx.core.events.stores.EventStore
import com.correx.core.sessions.SessionCounterProjection
import com.correx.core.sessions.SessionCounterState
import com.correx.core.sessions.projections.replay.DefaultEventReplayer
import com.correx.core.sessions.projections.replay.EventReplayer
import com.correx.testing.contracts.fixtures.projections.SessionReplayContractTest

class InMemoryReplayTest : SessionReplayContractTest() {

    override fun store(): EventStore =
        InMemoryEventStore()

    override fun replayer(
        store: EventStore
    ): EventReplayer<SessionCounterState> {
        return DefaultEventReplayer(
            store,
            SessionCounterProjection("s1")
        )
    }
}
