public void GetChecksumTest()
        {
            // arrange
            ChecksumFileDecorator checksumFileDecorator = new ChecksumFileDecorator(new NullObjectSftpuploadDecorator());
            var    tempFile     = Path.GetTempFileName();
            string checkSumText = "The big brown fox ahh screw this";

            File.WriteAllText(tempFile, checkSumText);

            // act
            string checkSum = checksumFileDecorator.GetChecksum(tempFile);

            // assert
            string expectedChecksum = @"6961FA4079D1BCAF245E2BBBA39B39A0251CE248F2B0B6EC2061E07A20C62EF4";

            Assert.AreEqual(checkSum, expectedChecksum);

            // clean up
            File.Delete(tempFile);
        }
        private ISftpFileUploader CreateSftpUploaderFromTransferSettings(TransferSettings transferSettings, ILogger logger)
        {
            // TODO: add decorators based on transfersettings
            ISftpFileUploadDecorator uploader = new BasicSftpFileUploaderDecorator(new NullObjectSftpuploadDecorator());

            if (!string.IsNullOrWhiteSpace(transferSettings.UploadPrefix))
            {
                uploader = new UploadPrefixIndicatorDecorator(transferSettings.UploadPrefix, uploader);
            }

            if (transferSettings.CalculateChecksum == true)
            {
                uploader = new ChecksumFileDecorator(uploader);
            }

            //uploader = new ChecksumFileDecorator(uploader);

            ISftpFileUploader standardFileUploader = new StandardSftpFileUploader(uploader, logger);

            return(standardFileUploader);
        }