From e8176659d159cfd2d8b42cf86120714e1f06e686 Mon Sep 17 00:00:00 2001 From: Louis LABORIE Date: Wed, 3 May 2023 16:08:35 +0200 Subject: [PATCH] 3/05 Commit Tests Unitaires Attributes --- Sources/Linaris.sln | 10 ++++++-- Sources/Linaris/FooterPage.xaml.cs | 4 +-- Sources/TestUnitaires/TU_Album.cs | 28 ++++++++++++++++++++ Sources/TestUnitaires/TU_Artiste.cs | 20 +++++++++++++++ Sources/TestUnitaires/TU_CustomTitle.cs | 30 ++++++++++++++++++++++ Sources/TestUnitaires/TU_Playlist.cs | 26 +++++++++++++++++++ Sources/TestUnitaires/TU_Title.cs | 26 +++++++++++++++++++ Sources/TestUnitaires/TestUnitaires.csproj | 28 ++++++++++++++++++++ Sources/TestUnitaires/Usings.cs | 1 + 9 files changed, 169 insertions(+), 4 deletions(-) create mode 100644 Sources/TestUnitaires/TU_Album.cs create mode 100644 Sources/TestUnitaires/TU_Artiste.cs create mode 100644 Sources/TestUnitaires/TU_CustomTitle.cs create mode 100644 Sources/TestUnitaires/TU_Playlist.cs create mode 100644 Sources/TestUnitaires/TU_Title.cs create mode 100644 Sources/TestUnitaires/TestUnitaires.csproj create mode 100644 Sources/TestUnitaires/Usings.cs diff --git a/Sources/Linaris.sln b/Sources/Linaris.sln index 6f91fb4..e01685e 100644 --- a/Sources/Linaris.sln +++ b/Sources/Linaris.sln @@ -5,9 +5,11 @@ VisualStudioVersion = 17.0.31611.283 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Linaris", "Linaris\Linaris.csproj", "{9E6281F7-95F6-472C-B268-894CE377C8A9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Console", "Console\Console.csproj", "{BB50C1E3-5A9A-40AF-8CD7-55B41064290B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Console", "Console\Console.csproj", "{BB50C1E3-5A9A-40AF-8CD7-55B41064290B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "Model\Model.csproj", "{AA1DB94B-8273-437F-A07A-BB1F5F0D278D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Model", "Model\Model.csproj", "{AA1DB94B-8273-437F-A07A-BB1F5F0D278D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestUnitaires", "TestUnitaires\TestUnitaires.csproj", "{8B0671CF-1302-4244-8837-916E632007E2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -29,6 +31,10 @@ Global {AA1DB94B-8273-437F-A07A-BB1F5F0D278D}.Debug|Any CPU.Build.0 = Debug|Any CPU {AA1DB94B-8273-437F-A07A-BB1F5F0D278D}.Release|Any CPU.ActiveCfg = Release|Any CPU {AA1DB94B-8273-437F-A07A-BB1F5F0D278D}.Release|Any CPU.Build.0 = Release|Any CPU + {8B0671CF-1302-4244-8837-916E632007E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8B0671CF-1302-4244-8837-916E632007E2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8B0671CF-1302-4244-8837-916E632007E2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8B0671CF-1302-4244-8837-916E632007E2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Sources/Linaris/FooterPage.xaml.cs b/Sources/Linaris/FooterPage.xaml.cs index adaa690..a36c9e9 100644 --- a/Sources/Linaris/FooterPage.xaml.cs +++ b/Sources/Linaris/FooterPage.xaml.cs @@ -19,9 +19,9 @@ public partial class FooterPage : ContentView // (s,a) = convention, s = sender, a = arguments, si appli fermée, on free tout outputDevice.PlaybackStopped += PlaybackStoppedHandler; - morceauEnCours = "D:\\Musique\\Création\\winter.mp3"; + /*morceauEnCours = "Resources/Musics/peaches.mp3"; audioFile = new AudioFileReader(morceauEnCours); - outputDevice.Init(audioFile); + outputDevice.Init(audioFile);*/ } public void PlayButton_Clicked(object sender, EventArgs e) diff --git a/Sources/TestUnitaires/TU_Album.cs b/Sources/TestUnitaires/TU_Album.cs new file mode 100644 index 0000000..13861be --- /dev/null +++ b/Sources/TestUnitaires/TU_Album.cs @@ -0,0 +1,28 @@ +using Model; +using Newtonsoft.Json.Linq; +using NuGet.Frameworks; + +namespace TestUnitaires +{ + public class TU_Album + { + [Theory] + [InlineData("Fenêtre sur Rue","album2.jpg","Un banger","Sortie : 2012")] + [InlineData("Adios Bahamas", "album. jpg", "Un banger", "Sortie : 2012")] + [InlineData(null, "album2.jpg", "Un banger", "Sortie : 2012")] + [InlineData("Dans La Légende", null, "Un banger", "Sortie : 2012")] + [InlineData("Dans La Légende","album1.jpg", null, "Sortie : 2012")] + [InlineData("Dans La Légende", "album1.jpg", "Un banger", null)] + [InlineData("Dans La Légende", "album1jpg", "Un banger", "Sortie : 2012")] + public void TU_Attributes(string nameAlbum, string url, string desc, string info) + { + Assert.True(nameAlbum != null && nameAlbum.Length < 75); + Assert.True(url != null && url.Contains('.')); + Assert.False(url.Contains(' ')); + Assert.True(desc != null && desc.Length < 500); + Assert.True(info != null && info.Length < 500); + + } + + } +} \ No newline at end of file diff --git a/Sources/TestUnitaires/TU_Artiste.cs b/Sources/TestUnitaires/TU_Artiste.cs new file mode 100644 index 0000000..cb12bbd --- /dev/null +++ b/Sources/TestUnitaires/TU_Artiste.cs @@ -0,0 +1,20 @@ +using Model; +using Newtonsoft.Json.Linq; +using NuGet.Frameworks; + +namespace TestUnitaires +{ + + public class TU_Artist + { + [Theory] + [InlineData("Hugo TSR")] + [InlineData(null)] + [InlineData("Hugo TSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR")] + public void TU_Attributes(string name) + { + Assert.True(name != null && name.Length < 75); + } + } + +} \ No newline at end of file diff --git a/Sources/TestUnitaires/TU_CustomTitle.cs b/Sources/TestUnitaires/TU_CustomTitle.cs new file mode 100644 index 0000000..03c096c --- /dev/null +++ b/Sources/TestUnitaires/TU_CustomTitle.cs @@ -0,0 +1,30 @@ +using Model; +using Newtonsoft.Json.Linq; +using NuGet.Frameworks; + +namespace TestUnitaires +{ + + public class TU_CustomTitle + { + [Theory] + [InlineData("Trajectoire","morceau1.png","Sortie : 2020", "Musique/test.mp3")] + [InlineData(null, "morceau1.png", "Sortie : 2020", "Musique/test.mp3")] + [InlineData("Trajectoire", null, "Sortie : 2020", "Musique/test.mp3")] + [InlineData("Trajectoire", "morceau1.png", null, "Musique/test.mp3")] + [InlineData("Trajectoire", "morceau1png", "Sortie : 2020", "Musique/test.mp3")] + [InlineData("Trajectoire", "morceau1. png", "Sortie : 2020", "Musique/test.mp3")] + [InlineData("Trajectoire", "morceau1.png", "Sortie : 2020", null)] + public void TU_Attributes(string name, string url, string info, string path) + { + CustomTitle ct = new CustomTitle(name, url, info, path); + Assert.True(ct.Name != null && ct.Name.Length < 75); + Assert.True(ct.ImageURL != null && ct.ImageURL.Contains('.')); + Assert.False(ct.ImageURL.Contains(' ')); + Assert.True(ct.Information != null && ct.Information.Length < 500); + Assert.True(ct.Path != null && ct.Path.Contains('.')); + Assert.False(ct.Path.Contains(' ')); + } + } + +} \ No newline at end of file diff --git a/Sources/TestUnitaires/TU_Playlist.cs b/Sources/TestUnitaires/TU_Playlist.cs new file mode 100644 index 0000000..f1ca0d0 --- /dev/null +++ b/Sources/TestUnitaires/TU_Playlist.cs @@ -0,0 +1,26 @@ +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) + { + Assert.True(name != null && name.Length < 75); + Assert.True(url != null && url.Contains('.')); + Assert.False(url.Contains(' ')); + Assert.True(desc != null && desc.Length < 500); + } + } + +} \ No newline at end of file diff --git a/Sources/TestUnitaires/TU_Title.cs b/Sources/TestUnitaires/TU_Title.cs new file mode 100644 index 0000000..d5162c3 --- /dev/null +++ b/Sources/TestUnitaires/TU_Title.cs @@ -0,0 +1,26 @@ +using Model; +using Newtonsoft.Json.Linq; +using NuGet.Frameworks; + +namespace TestUnitaires +{ + + public class TU_Title + { + [Theory] + [InlineData("Trajectoire","morceau1.png","Sortie : 2020")] + [InlineData(null, "morceau1.png", "Sortie : 2020")] + [InlineData("Trajectoire", null, "Sortie : 2020")] + [InlineData("Trajectoire", "morceau1.png", null)] + [InlineData("Trajectoire", "morceau1png", "Sortie : 2020")] + [InlineData("Trajectoire", "morceau1. png", "Sortie : 2020")] + public void TU_Attributes(string name, string url, string info) + { + Assert.True(name != null && name.Length < 75); + Assert.True(url != null && url.Contains('.')); + Assert.False(url.Contains(' ')); + Assert.True(info != null && info.Length < 500); + } + } + +} \ No newline at end of file diff --git a/Sources/TestUnitaires/TestUnitaires.csproj b/Sources/TestUnitaires/TestUnitaires.csproj new file mode 100644 index 0000000..dedc487 --- /dev/null +++ b/Sources/TestUnitaires/TestUnitaires.csproj @@ -0,0 +1,28 @@ + + + + net7.0 + enable + enable + + false + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + diff --git a/Sources/TestUnitaires/Usings.cs b/Sources/TestUnitaires/Usings.cs new file mode 100644 index 0000000..8c927eb --- /dev/null +++ b/Sources/TestUnitaires/Usings.cs @@ -0,0 +1 @@ +global using Xunit; \ No newline at end of file