func (s ProjectionWhen) Then(answer query.Answer) ProjectionThen {
	return ProjectionThen{
		ProjectionWhen: s,
		then:           answer,
	}
}
Then sets a positive expectation on the scenario outcome, to produce the Answer
provided in input.
package scenario
import (
	"context"
	"testing"
	"github.com/stretchr/testify/assert"
	"github.com/get-eventually/go-eventually/eventstore"
	"github.com/get-eventually/go-eventually/projection"
	"github.com/get-eventually/go-eventually/query"
)
type ProjectionInit struct{}
func Projection() ProjectionInit { return ProjectionInit{} }
func (s ProjectionInit) Given(events ...eventstore.Event) ProjectionGiven {
	return ProjectionGiven{given: events}
}
type ProjectionGiven struct {
	given []eventstore.Event
}
func (s ProjectionGiven) When(q query.Query) ProjectionWhen {
	return ProjectionWhen{ProjectionGiven: s, when: q}
}
type ProjectionWhen struct {
	ProjectionGiven
	when query.Query
}