using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using ErsatzTV.Core.Domain; using ErsatzTV.Core.Interfaces.Repositories; using LanguageExt; using static LanguageExt.Prelude; namespace ErsatzTV.Core.Tests.Fakes { public class FakeMediaCollectionRepository : IMediaCollectionRepository { private readonly Map> _data; public FakeMediaCollectionRepository(Map> data) => _data = data; public Task Add(SimpleMediaCollection collection) => throw new NotSupportedException(); public Task> Get(int id) => throw new NotSupportedException(); public Task> GetSimpleMediaCollection(int id) => throw new NotSupportedException(); public Task> GetSimpleMediaCollectionWithItems(int id) => throw new NotSupportedException(); public Task> GetSimpleMediaCollectionWithItemsUntracked(int id) => throw new NotSupportedException(); public Task> GetSimpleMediaCollections() => throw new NotSupportedException(); public Task> GetAll() => throw new NotSupportedException(); public Task>> GetItems(int id) => Some(_data[id].OfType().ToList()).AsTask(); public Task>> GetSimpleMediaCollectionItems(int id) => throw new NotSupportedException(); public Task Update(SimpleMediaCollection collection) => throw new NotSupportedException(); public Task Delete(int mediaCollectionId) => throw new NotSupportedException(); } }