| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using System;
- using System.IO;
- using System.Threading;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Renci.SshNet.Sftp;
- using Renci.SshNet.Tests.Common;
- namespace Renci.SshNet.Tests.Classes.Sftp
- {
- /// <summary>
- ///This is a test class for SftpDownloadAsyncResultTest and is intended
- ///to contain all SftpDownloadAsyncResultTest Unit Tests
- ///</summary>
- [TestClass]
- public class SftpDownloadAsyncResultTest : TestBase
- {
- [TestMethod]
- public void SftpDownloadAsyncResultConstructorTest()
- {
- const AsyncCallback asyncCallback = null;
- var state = new object();
- var target = new SftpDownloadAsyncResult(asyncCallback, state);
- Assert.IsFalse(target.CompletedSynchronously);
- Assert.IsFalse(target.EndInvokeCalled);
- Assert.IsFalse(target.IsCompleted);
- Assert.IsFalse(target.IsDownloadCanceled);
- Assert.AreEqual(0UL, target.DownloadedBytes);
- Assert.AreSame(state, target.AsyncState);
- }
- [TestMethod]
- public void SetAsCompleted_Exception_CompletedSynchronously()
- {
- var downloadCompleted = new ManualResetEvent(false);
- object state = "STATE";
- Exception exception = new IOException();
- IAsyncResult callbackResult = null;
- var target = new SftpDownloadAsyncResult(asyncResult =>
- {
- downloadCompleted.Set();
- callbackResult = asyncResult;
- }, state);
- target.SetAsCompleted(exception, true);
- Assert.AreSame(target, callbackResult);
- Assert.IsFalse(target.IsDownloadCanceled);
- Assert.IsTrue(target.IsCompleted);
- Assert.IsTrue(target.CompletedSynchronously);
- Assert.IsTrue(downloadCompleted.WaitOne(TimeSpan.Zero));
- }
- [TestMethod]
- public void EndInvoke_CompletedWithException()
- {
- object state = "STATE";
- Exception exception = new IOException();
- var target = new SftpDownloadAsyncResult(null, state);
- target.SetAsCompleted(exception, true);
- try
- {
- target.EndInvoke();
- Assert.Fail();
- }
- catch (IOException ex)
- {
- Assert.AreSame(exception, ex);
- }
- }
- [TestMethod]
- public void Update()
- {
- var target = new SftpDownloadAsyncResult(null, null);
- target.Update(123);
- target.Update(431);
- Assert.AreEqual(431UL, target.DownloadedBytes);
- }
- }
- }
|