Dev2.Core.Tests.Helpers.TestProgressFileDownloaderTests.ProgressFileDownloader_Download_Completed_Cancelled_ExpectDelete C# (CSharp) Method

ProgressFileDownloader_Download_Completed_Cancelled_ExpectDelete() private method

        public void ProgressFileDownloader_Download_Completed_Cancelled_ExpectDelete()
        {
            //------------Setup for test--------------------------
            var webClient = new Mock<IDev2WebClient>();
            var progressNotifier = new Mock<IProgressNotifier>();
            var file = new Mock<IFile>();
            var crytpto = new Mock<ICryptoProvider>();
            ProgressFileDownloader.GetProgressDialogViewModel = (x, y) => progressNotifier.Object;
            var ax = new ProgressFileDownloader(webClient.Object, file.Object, crytpto.Object);
            var stream = new MemoryStream();
            stream.WriteByte(1);
            stream.WriteByte(2);
            stream.WriteByte(3);
            crytpto.Setup(a => a.ComputeHash(It.IsAny<Stream>())).Returns(new byte[] { 0, 1, 2 });
            file.Setup(a => a.Open("bob", FileMode.Open)).Returns(new MemoryStream());
            //------------Execute Test---------------------------
            ax.Download(new Uri("http://bob"), "dave", true, "moo", "012");
            webClient.Raise(a => a.DownloadFileCompleted += null, new AsyncCompletedEventArgs(null, true, "moo"));

            //------------Assert Results-------------------------
            file.Verify(a => a.Move("dave", "moo"), Times.Never());
            file.Verify(a=>a.Delete(It.IsAny<string>()),Times.Once());
            progressNotifier.Verify(a => a.Close(), Times.Once());
            Assert.IsTrue(ax.IsBusyDownloading);
        }