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

ProgressFileDownloader_Download_Complted_HasNoError_ExpectSuccess() private method

        public void ProgressFileDownloader_Download_Complted_HasNoError_ExpectSuccess()
        {
            //------------Setup for test--------------------------
            var webClient = new Mock<IDev2WebClient>();
            var progressNotifier = new Mock<IProgressNotifier>();
            progressNotifier.Setup(a => a.Close()).Verifiable();
            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,false,"moo" ));

            //------------Assert Results-------------------------
            file.Verify(a=>a.Move("dave","moo"));
            progressNotifier.Verify(a=>a.Close(), Times.Once());
            Assert.IsFalse(ax.IsBusyDownloading);
        }