namespace VideoBrowser.Test.Views { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Collections.ObjectModel; using System.Windows.Input; using VideoBrowser.Controls.CefSharpBrowser; using VideoBrowser.Controls.CefSharpBrowser.Models; using VideoBrowser.Core; using VideoBrowser.Models; using VideoBrowser.Test.Common; using VideoBrowser.Test.TestHelpers; using VideoBrowser.ViewModels; using VideoBrowser.Views; /// /// Defines the . /// [TestClass] public class DownloadQueueViewTest { #region Methods /// /// The Show_DownloadQueueView. /// [TestMethod, ManualTest] public void Show_DownloadQueueView() { var globalBrowserData = new GlobalBrowserData(); var viewModel = new DownloadQueueViewModel(globalBrowserData.DownloadItemModels); this.CreateDummyOperations(viewModel.DownloadItemModels, viewModel.OnPauseDownloadCalled); var view = new DownloadQueueView { DataContext = viewModel }; WindowFactory.CreateAndShow(view); } /// /// The CreateDummyOperations. /// /// The operations. /// The pauseDownloadAction. private void CreateDummyOperations(ObservableCollection operations, Action pauseDownloadAction) { var random = new Random(); for (var i = 0; i < 10; i++) { var operation = new DummyOperation() { Status = (OperationStatus)(i % 6) }; var operationModel = new OperationModel(operation) { PauseDownloadAction = pauseDownloadAction, IsQueuedControlsVisible = (i & 1) == 1 }; var progress = TestHelper.GetRandomLong(0, 100); operation.Duration = TestHelper.GetRandomLong(10, 10000); operation.FileSize = TestHelper.GetRandomLong(10000, 10000000000); operation.Input = $"https://youtube.com/view={i}"; operation.Link = $"https://youtube.com/link={i}"; ; operation.Output = $@"C:\Users\YoutubeUser\File{TestHelper.GetRandomLong(100, 10000)}.mp4"; operation.Progress = progress; operation.ProgressPercentage = (int)progress; operation.ProgressText = $"{progress}%"; operation.ReportsProgress = true; operation.Speed = $"{TestHelper.GetRandomInt(10, 100)}MB/s"; operation.Status = (OperationStatus)(i % 6); operation.Thumbnail = null; operation.Title = $"Youtube Title Movie Number {i}"; operations.Add(operationModel); } } #endregion Methods } }