public FindSequenceRequestHandlerTests()
        {
            _readerMock         = new Mock <IWordDictionaryReader>();
            _sequenceFinderMock = new Mock <ISequenceFinder>();
            _writerMock         = new Mock <ISequenceResultWriter>();
            _loggerMock         = new Mock <ILogger <FindSequenceRequestHandler> >();

            _requestHandler = new FindSequenceRequestHandler(_readerMock.Object, _sequenceFinderMock.Object, _writerMock.Object, _loggerMock.Object);

            _validCommand = new FindSequenceCommand
            {
                DictionaryLocation = "TestInput",
                StartWord          = "Strt",
                EndWord            = "End.",
                ResultLocation     = "TestOutput"
            };
        }
        public async Task GivenInvalidDictionaryLocation_WhenHandleRequest_ThenErrorMessageReturned()
        {
            // Arrange
            var command = new FindSequenceCommand
            {
                DictionaryLocation = "", // INVALID
                StartWord          = "Strt",
                EndWord            = "End.",
                ResultLocation     = "Some/Valid/Location"
            };

            // Act
            var result = await _requestHandler.Handle(command, default);

            // Assert
            result.IsSuccessful.Should().BeFalse();
            result.ErrorList.Should().HaveCount(1);
            result.ErrorList.Should().Contain(err => err.Contains("Dictionary Location"));
        }