using OwlCore.Events; using StrixMusic.Sdk.MediaPlayback; using System; using System.Collections.Generic; using System.Globalization; using System.Threading; using System.Threading.Tasks; using StrixMusic.Sdk.AppModels; using StrixMusic.Sdk.CoreModels; namespace StrixMusic.Cores.OwlCoreRpc.Tests.Mock.Items { public class MockCoreTrack : ICoreTrack { public MockCoreTrack(ICore sourceCore, string id, string name) { Id = id; Name = name; SourceCore = sourceCore; } public string Id { get; set; } public string Name { get; set; } public ICoreAlbum? Album { get; set; } public ICoreLyrics? Lyrics { get; set; } public ICorePlayableCollectionGroup? RelatedItems { get; set; } public TrackType Type { get; set; } public int? TrackNumber { get; set; } public int? DiscNumber { get; set; } public CultureInfo? Language { get; set; } public bool IsExplicit { get; set; } public bool IsChangeAlbumAsyncAvailable { get; set; } public bool IsChangeTrackNumberAsyncAvailable { get; set; } public bool IsChangeLanguageAsyncAvailable { get; set; } public bool IsChangeLyricsAsyncAvailable { get; set; } public bool IsChangeIsExplicitAsyncAvailable { get; set; } public int TotalArtistItemsCount { get; set; } public bool IsPlayArtistCollectionAsyncAvailable { get; set; } public bool IsPauseArtistCollectionAsyncAvailable { get; set; } public DateTime? AddedAt { get; set; } public string? Description { get; set; } public DateTime? LastPlayed { get; set; } public PlaybackState PlaybackState { get; set; } public TimeSpan Duration { get; set; } public bool IsChangeNameAsyncAvailable { get; set; } public bool IsChangeDescriptionAsyncAvailable { get; set; } public bool IsChangeDurationAsyncAvailable { get; set; } public int TotalImageCount { get; set; } public int TotalUrlCount { get; set; } public int TotalGenreCount { get; set; } public ICore SourceCore { get; set; } public event EventHandler? AlbumChanged; public event EventHandler? LyricsChanged; public event EventHandler? TrackNumberChanged; public event EventHandler? LanguageChanged; public event EventHandler? IsExplicitChanged; public event CollectionChangedEventHandler? ArtistItemsChanged; public event EventHandler? IsPlayArtistCollectionAsyncAvailableChanged; public event EventHandler? IsPauseArtistCollectionAsyncAvailableChanged; public event EventHandler? ArtistItemsCountChanged; public event CollectionChangedEventHandler? ImagesChanged; public event CollectionChangedEventHandler? UrlsChanged; public event EventHandler? PlaybackStateChanged; public event EventHandler? NameChanged; public event EventHandler? DescriptionChanged; public event EventHandler? DurationChanged; public event EventHandler? LastPlayedChanged; public event EventHandler? IsChangeNameAsyncAvailableChanged; public event EventHandler? IsChangeDescriptionAsyncAvailableChanged; public event EventHandler? IsChangeDurationAsyncAvailableChanged; public event EventHandler? ImagesCountChanged; public event EventHandler? UrlsCountChanged; public event CollectionChangedEventHandler? GenresChanged; public event EventHandler? GenresCountChanged; public Task AddArtistItemAsync(ICoreArtistCollectionItem artist, int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task AddGenreAsync(ICoreGenre genre, int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task AddImageAsync(ICoreImage image, int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task AddUrlAsync(ICoreUrl url, int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeAlbumAsync(ICoreAlbum? albums, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeDescriptionAsync(string? description, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeDurationAsync(TimeSpan duration, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeIsExplicitAsync(bool isExplicit, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeLanguageAsync(CultureInfo language, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeLyricsAsync(ICoreLyrics? lyrics, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeNameAsync(string name, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task ChangeTrackNumberAsync(int? trackNumber, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public ValueTask DisposeAsync() { throw new NotImplementedException(); } public IAsyncEnumerable GetArtistItemsAsync(int limit, int offset, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public IAsyncEnumerable GetGenresAsync(int limit, int offset, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public IAsyncEnumerable GetImagesAsync(int limit, int offset, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public IAsyncEnumerable GetUrlsAsync(int limit, int offset, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsAddArtistItemAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsAddGenreAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsAddImageAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsAddUrlAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsRemoveArtistItemAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsRemoveGenreAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsRemoveImageAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task IsRemoveUrlAvailableAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task PauseArtistCollectionAsync(CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task PlayArtistCollectionAsync(ICoreArtistCollectionItem artistItem, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task PlayArtistCollectionAsync(CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task RemoveArtistItemAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task RemoveGenreAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task RemoveImageAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } public Task RemoveUrlAsync(int index, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } } }