public void Load()
{
var target = new SftpAttrsResponse(_protocolVersion);
var attributes = CreateSftpFileAttributes();
var attributesBytes = attributes.GetBytes();
var sshDataStream = new SshDataStream(4 + 1 + 4 + attributesBytes.Length);
sshDataStream.Position = 4; // skip 4 bytes for SSH packet length
sshDataStream.WriteByte((byte) SftpMessageTypes.Attrs);
sshDataStream.Write(_responseId);
sshDataStream.Write(attributesBytes, 0, attributesBytes.Length);
target.Load(sshDataStream.ToArray());
Assert.IsNotNull(target.Attributes);
Assert.AreEqual(_protocolVersion, target.ProtocolVersion);
Assert.AreEqual(_responseId, target.ResponseId);
Assert.AreEqual(SftpMessageTypes.Attrs, target.SftpMessageType);
// check attributes in detail
Assert.AreEqual(attributes.GroupId, target.Attributes.GroupId);
Assert.AreEqual(attributes.LastWriteTime, target.Attributes.LastWriteTime);
Assert.AreEqual(attributes.LastWriteTime, target.Attributes.LastWriteTime);
Assert.AreEqual(attributes.UserId, target.Attributes.UserId);
}