| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | using Renci.SshNet.Sftp;using Renci.SshNet.Sftp.Responses;using System.Collections.Generic;using System.Text;namespace Renci.SshNet.Tests.Classes.Sftp{    internal class SftpNameResponseBuilder    {        private uint _responseId;        private uint _protocolVersion;        private Encoding _encoding;        private readonly List<KeyValuePair<string, SftpFileAttributes>> _files;        public SftpNameResponseBuilder()        {            _files = new List<KeyValuePair<string, SftpFileAttributes>>();        }        public SftpNameResponseBuilder WithProtocolVersion(uint protocolVersion)        {            _protocolVersion = protocolVersion;            return this;        }        public SftpNameResponseBuilder WithResponseId(uint responseId)        {            _responseId = responseId;            return this;        }        public SftpNameResponseBuilder WithFiles(params KeyValuePair<string, SftpFileAttributes>[] files)        {            for (var i = 0; i < files.Length; i++)            {                _files.Add(files[i]);            }            return this;        }        public SftpNameResponseBuilder WithFile(string filename, SftpFileAttributes attributes)        {            _files.Add(new KeyValuePair<string, SftpFileAttributes>(filename, attributes));            return this;        }        public SftpNameResponseBuilder WithEncoding(Encoding encoding)        {            _encoding = encoding;            return this;        }        public SftpNameResponse Build()        {            var sftpNameResponse = new SftpNameResponse(_protocolVersion, _encoding)                {                    ResponseId = _responseId,                    Files = _files.ToArray()                };            return sftpNameResponse;        }    }}
 |