internal void Should_Throw_When_Stream_IsClosed(
            IStreamMetadata metadata,
            StreamVersion version,
            StreamClosedValidator sut)
        {
            metadata
            .State
            .Returns(StreamState.Closed);

            FluentActions.Invoking(
                () => sut.Validate(metadata, version))
            .Should()
            .Throw <StreamClosedException>();
        }
        internal void Should_Validate_When_Stream_IsActive(
            IStreamMetadata metadata,
            StreamVersion version,
            StreamClosedValidator sut)
        {
            metadata
            .State
            .Returns(StreamState.Active);

            FluentActions.Invoking(
                () => sut.Validate(metadata, version))
            .Should()
            .NotThrow();
        }