using Model;
using Newtonsoft.Json.Linq;
using NuGet.Frameworks;

namespace TestUnitaires
{

    public class TU_Playlist
    {
        [Theory]
        [InlineData("Sons Soirées","red-sky.png","Contient les sons que je mets quand je suis en soirée.")]
        [InlineData(null, "red-sky.png", "Contient les sons que je mets quand je suis en soirée.")]
        [InlineData("Sons Soirées", null, "Contient les sons que je mets quand je suis en soirée.")]
        [InlineData("Sons Soirées", "red-sky.png", null)]
        [InlineData("Sons Soirées", "redskypng", "Contient les sons que je mets quand je suis en soirée.")]
        [InlineData("Sons Soirées", "red-sky .png", "Contient les sons que je mets quand je suis en soirée.")]
        public void TU_Attributes(string name, string url, string desc)
        {
            Playlist p = new Playlist(name, desc, url);
            Assert.True(p.Name != null && p.Name.Length < 75);
            Assert.True(p.ImageURL != null && p.ImageURL.Contains('.'));
            Assert.True(p.Description != null && p.Description.Length < 500);
        }
        [Theory]
        [InlineData("Sons Soirées", "red-sky.png", "Contient les sons que je mets quand je suis en soirée.")]
        [InlineData(null, "red-sky.png", "Contient les sons que je mets quand je suis en soirée.")]
        [InlineData("Sons Soirées", null, "Contient les sons que je mets quand je suis en soirée.")]
        [InlineData("Sons Soirées", "red-sky.png", null)]
        [InlineData("Sons Soirées", "redskypng", "Contient les sons que je mets quand je suis en soirée.")]
        [InlineData("Sons Soirées", "red-sky .png", "Contient les sons que je mets quand je suis en soirée.")]
        public void TU_Methods(string name, string url, string desc)
        {
            Playlist p = new Playlist(name, desc, url);
            CustomTitle t = new CustomTitle("Débitage","test. mp3","Banger","path");
            p.AddTitle(t);
            Assert.Contains(t,p.Titles);
            p.RemoveTitle(t);
            Assert.DoesNotContain(t,p.Titles);


        }
    }

}