Files
LanMountainDesktop/LanMountainDesktop.Tests/MusicControlViewModelTests.cs
2026-05-14 19:44:01 +08:00

43 lines
871 B
C#

using LanMountainDesktop.Services;
using LanMountainDesktop.ViewModels;
using Xunit;
namespace LanMountainDesktop.Tests;
public sealed class MusicControlViewModelTests : IDisposable
{
private readonly MusicControlViewModel _viewModel;
public MusicControlViewModelTests()
{
_viewModel = new MusicControlViewModel();
}
[Fact]
public void Dispose_CanBeCalledMultipleTimes()
{
_viewModel.Dispose();
_viewModel.Dispose();
}
[Fact]
public async Task Dispose_StopsRefreshAfterCancellation()
{
var refreshTask = _viewModel.RefreshAsync();
_viewModel.Dispose();
await Task.Delay(100);
}
[Fact]
public void ViewModel_InitializesWithNoSession()
{
Assert.True(_viewModel.IsNoMedia);
}
public void Dispose()
{
_viewModel.Dispose();
}
}