using ErsatzTV.Core.Domain; using ErsatzTV.Core.Interfaces.Repositories; using ErsatzTV.Core.Scheduling; namespace ErsatzTV.Core.Tests.Fakes; public class FakeMediaCollectionRepository : IMediaCollectionRepository { private readonly Map> _data; public FakeMediaCollectionRepository(Map> data) => _data = data; public Task>> GetPlaylistItemMap( int playlistId, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task>> GetPlaylistItemMap( string groupName, string name, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task>> GetPlaylistItemMap( Playlist playlist, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> GetCollectionWithCollectionItemsUntracked(int id) => throw new NotSupportedException(); public Task> GetItems(int id) => _data[id].ToList().AsTask(); public Task> GetCollectionItemsByName(string name, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> GetMultiCollectionItems(int id, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> GetMultiCollectionItemsByName(string name, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> GetSmartCollectionItems(int id, CancellationToken cancellationToken) => _data[id].ToList().AsTask(); public Task> GetSmartCollectionItemsByName(string name, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> GetSmartCollectionItems( string query, string smartCollectionName, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> GetRerunCollectionItems(int id, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> GetShowItemsByShowGuids(List guids) => throw new NotSupportedException(); public Task> GetPlaylistItems(int id, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> GetMovie(int id) => throw new NotSupportedException(); public Task> GetEpisode(int id) => throw new NotSupportedException(); public Task> GetMusicVideo(int id) => throw new NotSupportedException(); public Task> GetOtherVideo(int id) => throw new NotSupportedException(); public Task> GetSong(int id) => throw new NotSupportedException(); public Task> GetImage(int id) => throw new NotSupportedException(); public Task> GetRemoteStream(int id) => throw new NotSupportedException(); public Task> GetMultiCollectionCollections(int id, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> GetFakeMultiCollectionCollections( int? collectionId, int? smartCollectionId, CancellationToken cancellationToken) => throw new NotSupportedException(); public Task> PlayoutIdsUsingCollection(int collectionId) => throw new NotSupportedException(); public Task> PlayoutIdsUsingMultiCollection(int multiCollectionId) => throw new NotSupportedException(); public Task> PlayoutIdsUsingSmartCollection(int smartCollectionId) => throw new NotSupportedException(); public Task> PlayoutIdsUsingRerunCollection(int rerunCollectionId) => throw new NotSupportedException(); public Task IsCustomPlaybackOrder(int collectionId) => false.AsTask(); public Task> GetNameFromKey(CollectionKey emptyCollection, CancellationToken cancellationToken) => Option.None.AsTask(); public List GroupIntoFakeCollections(List items, string fakeKey = null) => throw new NotSupportedException(); }