public void WriteMessage_Message_ShouldWriteTheSpecifiedMessageToOutputStream()
        {
            // ARRANGE
            var message = new Wrapper
            {
                TestRunStarted = new TestRunStarted
                {
                    Timestamp = Timestamp.FromDateTime(DateTime.UtcNow),
                    CucumberImplementation = "SpecFlow"
                }
            };

            var protobufFileSinkConfiguration = GetProtobufFileSinkConfiguration();
            var writableStream               = GetWritableStream();
            var binaryFileAccessorMock       = GetBinaryFileAccessorMock(Result <Stream> .Success(writableStream));
            var protobufFileNameResolverMock = GetProtobufFileNameResolverMock();

            var protobufFileSinkOutput = new ProtobufFileSinkOutput(binaryFileAccessorMock.Object, protobufFileSinkConfiguration, protobufFileNameResolverMock.Object);

            // ACT
            protobufFileSinkOutput.WriteMessage(message);

            // ASSERT
            writableStream.ToArray().Length.Should().BeGreaterThan(0);
        }
        public void WriteMessage_Message_ShouldReturnSuccessIfInitialized()
        {
            // ARRANGE
            var message = new Envelope {
                TestRunStarted = new TestRunStarted()
            };
            var protobufFileSinkConfiguration = GetProtobufFileSinkConfiguration();
            var binaryFileAccessorMock        = GetBinaryFileAccessorMock();
            var protobufFileNameResolverMock  = GetProtobufFileNameResolverMock();

            var protobufFileSinkOutput = new ProtobufFileSinkOutput(binaryFileAccessorMock.Object, protobufFileSinkConfiguration, protobufFileNameResolverMock.Object);

            // ACT
            var actualResult = protobufFileSinkOutput.WriteMessage(message);

            // ASSERT
            actualResult.Should().BeAssignableTo <ISuccess>();
        }
        public void WriteMessage_Message_ShouldWriteTheSpecifiedMessageToOutputStream()
        {
            // ARRANGE
            var message = new Envelope
            {
                TestRunStarted = new TestRunStarted
                {
                }
            };

            var protobufFileSinkConfiguration = GetProtobufFileSinkConfiguration();
            var writableStream               = GetWritableStream();
            var binaryFileAccessorMock       = GetBinaryFileAccessorMock(Result <Stream> .Success(writableStream));
            var protobufFileNameResolverMock = GetProtobufFileNameResolverMock();

            var protobufFileSinkOutput = new ProtobufFileSinkOutput(binaryFileAccessorMock.Object, protobufFileSinkConfiguration, protobufFileNameResolverMock.Object);

            // ACT
            protobufFileSinkOutput.WriteMessage(message);

            // ASSERT
            writableStream.ToArray().Length.Should().BeGreaterThan(0);
        }