using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using OwlCore.Events; using StrixMusic.Sdk.AdapterModels; using StrixMusic.Sdk.AppModels; using StrixMusic.Sdk.CoreModels; namespace StrixMusic.Sdk.Tests.Mock.AppModels { public class MockStrixDataRoot : IStrixDataRoot { private readonly List _devices; public MockStrixDataRoot() { _devices = new List(); } public bool Equals(ICore? other) => false; public IReadOnlyList Sources { get; } = new List(); public Task InitAsync(CancellationToken cancellationToken = default) { IsInitialized = true; return Task.CompletedTask; } public bool IsInitialized { get; private set; } public ValueTask DisposeAsync() { IsInitialized = false; return default; } public MergedCollectionConfig MergeConfig { get; } = new(); public IReadOnlyList Devices => _devices; public ILibrary Library { get; } = new MockLibrary(); public IPlayableCollectionGroup? Pins { get; } = new MockPlayableCollectionGroup(); public ISearch? Search { get; } = new MockSearch(); public IRecentlyPlayed? RecentlyPlayed { get; } = new MockRecentlyPlayed(); public IDiscoverables? Discoverables { get; } = new MockDiscoverables(); public event EventHandler? PinsChanged; public event EventHandler? SearchChanged; public event EventHandler? RecentlyPlayedChanged; public event EventHandler? DiscoverablesChanged; public event CollectionChangedEventHandler? DevicesChanged; public event EventHandler? SourcesChanged; } }