| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- 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);
- }
- }
- }
|