This repository has been archived on 2026-03-14. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Eco/VideoBrowser.Test/Views/DownloadQueueViewTest.cs
2023-07-24 12:00:34 +02:00

69 lines
3.0 KiB
C#

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;
/// <summary>
/// Defines the <see cref="DownloadQueueViewTest" />.
/// </summary>
[TestClass]
public class DownloadQueueViewTest
{
#region Methods
/// <summary>
/// The Show_DownloadQueueView.
/// </summary>
[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);
}
/// <summary>
/// The CreateDummyOperations.
/// </summary>
/// <param name="operations">The operations<see cref="ObservableCollection{OperationModel}"/>.</param>
/// <param name="pauseDownloadAction">The pauseDownloadAction<see cref="ICommand"/>.</param>
private void CreateDummyOperations(ObservableCollection<DownloadItemModel> operations, Action<DownloadItemModel> 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
}
}