From 96c7a0c679208a0f2a74207957ca85a888178ef4 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Wed, 24 May 2023 21:36:05 +0200 Subject: [PATCH] fix all tests and ADD missing UnitTest --- notus/Biblioteque_de_Class/Exception.cs | 18 +++++++++ notus/Biblioteque_de_Class/Note.cs | 19 +++------- .../Notus_UnitTest_Database/AddThemeTests.cs | 2 +- .../Notus_UnitTest_Database/AddUserTests.cs | 4 +- .../GetLogoLinkTests.cs | 2 +- .../Notus_UnitTest_Database/GetThemeTests.cs | 2 +- .../Notus_UnitTest_Database/GetUserTests.cs | 2 +- .../ModifyThemeColorListTests.cs | 2 +- .../ModifyThemeNameTests.cs | 6 +-- .../RemoveThemeTests.cs | 38 +++++++++++++++++++ .../RemoveUserTests.cs | 2 +- .../AddCollaboratorTests.cs | 2 +- .../Notus_UnitTest_Note/AddEditorTests.cs | 2 +- .../Notus_UnitTest_Note.csproj | 2 +- .../RemoveCollaboratorTests.cs | 2 +- .../Notus_UnitTest_Note/RemoveEditorTests.cs | 2 +- .../Notus_UnitTest_Note/RemoveImageTests.cs | 2 +- .../VerifyPrivilegeTests.cs | 5 ++- 18 files changed, 82 insertions(+), 32 deletions(-) create mode 100644 notus/Tests/Notus_UnitTest_Database/RemoveThemeTests.cs diff --git a/notus/Biblioteque_de_Class/Exception.cs b/notus/Biblioteque_de_Class/Exception.cs index f3ab1b2..365774e 100644 --- a/notus/Biblioteque_de_Class/Exception.cs +++ b/notus/Biblioteque_de_Class/Exception.cs @@ -24,6 +24,18 @@ namespace Biblioteque_de_Class { } } + public class UserNotOwnerException : Exception + { + public UserNotOwnerException(string message) : base(message) + { + } + } + public class UserNotEditorException : Exception + { + public UserNotEditorException(string message) : base(message) + { + } + } public class ThemeNotFoundException : Exception { public ThemeNotFoundException(string message) : base(message) @@ -36,4 +48,10 @@ namespace Biblioteque_de_Class { } } + public class NoteImageNotFoundException : Exception + { + public NoteImageNotFoundException(string message) : base(message) + { + } + } } diff --git a/notus/Biblioteque_de_Class/Note.cs b/notus/Biblioteque_de_Class/Note.cs index 6d0a583..99dc6b3 100644 --- a/notus/Biblioteque_de_Class/Note.cs +++ b/notus/Biblioteque_de_Class/Note.cs @@ -84,7 +84,7 @@ namespace Biblioteque_de_Class return; } } - throw new NullReferenceException("Image not found"); + throw new NoteImageNotFoundException("Image not found"); } /// @@ -92,14 +92,7 @@ namespace Biblioteque_de_Class /// public bool VerifyPrivilege(User user) { - if (Editors.Contains(user)) - { - return true; - } - else - { - throw new NullReferenceException("User is not an editor"); - } + return Editors.Contains(user); } /// @@ -108,7 +101,7 @@ namespace Biblioteque_de_Class public void AddCollaborator(User owner, User user) { if (VerifyOwner(owner)) { Collaborators.Add(user); } - else { throw new NullReferenceException("User is not the owner"); } + else { throw new UserNotOwnerException("User is not the owner"); } } /// @@ -117,7 +110,7 @@ namespace Biblioteque_de_Class public void RemoveCollaborator(User owner, User user) { if (VerifyOwner(owner)) { Collaborators.Remove(user); } - else { throw new NullReferenceException("User is not the owner"); } + else { throw new UserNotOwnerException("User is not the owner"); } } /// @@ -126,7 +119,7 @@ namespace Biblioteque_de_Class public void AddEditor(User owner, User user) { if (VerifyOwner(owner)) { Editors.Add(user); } - else { throw new NullReferenceException("User is not the owner"); } + else { throw new UserNotOwnerException("User is not the owner"); } } /// @@ -135,7 +128,7 @@ namespace Biblioteque_de_Class public void RemoveEditor(User owner, User user) { if (VerifyOwner(owner)) { Editors.Remove(user); } - else { throw new NullReferenceException("User is not the owner"); } + else { throw new UserNotOwnerException("User is not the owner"); } } } } diff --git a/notus/Tests/Notus_UnitTest_Database/AddThemeTests.cs b/notus/Tests/Notus_UnitTest_Database/AddThemeTests.cs index 0d0ba83..3ca9bfc 100644 --- a/notus/Tests/Notus_UnitTest_Database/AddThemeTests.cs +++ b/notus/Tests/Notus_UnitTest_Database/AddThemeTests.cs @@ -33,7 +33,7 @@ namespace Notus_UnitTest_Database List listcolor = new(); Theme theme = new Theme("ocean", listcolor); database.AddTheme(theme); - Assert.Throws(() => database.AddTheme(theme), "Theme already used."); + Assert.Throws(() => database.AddTheme(theme), "Theme already used."); } } } diff --git a/notus/Tests/Notus_UnitTest_Database/AddUserTests.cs b/notus/Tests/Notus_UnitTest_Database/AddUserTests.cs index e5fc44b..d2ebe67 100644 --- a/notus/Tests/Notus_UnitTest_Database/AddUserTests.cs +++ b/notus/Tests/Notus_UnitTest_Database/AddUserTests.cs @@ -34,7 +34,7 @@ namespace Notus_UnitTest_Database database.GetUserList().Add(existingUser); User newUser = new User("John1", "rien", "choco"); newUser.SetEmail("Jane@example.com"); - Assert.Throws(() => database.AddUser(newUser), "Username already used."); + Assert.Throws(() => database.AddUser(newUser), "Username already used."); } [Test] @@ -45,7 +45,7 @@ namespace Notus_UnitTest_Database database.GetUserList().Add(existingUser); User newUser = new User("Jane", "rien", "choco"); newUser.SetEmail("john2@example.com"); - Assert.Throws(() => database.AddUser(newUser), "Email already used."); + Assert.Throws(() => database.AddUser(newUser), "Email already used."); } } } diff --git a/notus/Tests/Notus_UnitTest_Database/GetLogoLinkTests.cs b/notus/Tests/Notus_UnitTest_Database/GetLogoLinkTests.cs index c30aa6c..4b996f9 100644 --- a/notus/Tests/Notus_UnitTest_Database/GetLogoLinkTests.cs +++ b/notus/Tests/Notus_UnitTest_Database/GetLogoLinkTests.cs @@ -28,7 +28,7 @@ namespace Notus_UnitTest_Database public void GetLogoLink_LogoDoesNotExist_ThrowsException() { string logoName = "Logo4"; - Assert.Throws(() => database.GetLogoLink(logoName)); + Assert.Throws(() => database.GetLogoLink(logoName)); } } } \ No newline at end of file diff --git a/notus/Tests/Notus_UnitTest_Database/GetThemeTests.cs b/notus/Tests/Notus_UnitTest_Database/GetThemeTests.cs index 889111b..b71a58f 100644 --- a/notus/Tests/Notus_UnitTest_Database/GetThemeTests.cs +++ b/notus/Tests/Notus_UnitTest_Database/GetThemeTests.cs @@ -30,7 +30,7 @@ namespace Notus_UnitTest_Database [Test] public void GetTheme_NonExistingTheme_ThrowsException() { - Assert.Throws(() => database.GetTheme("NonExistingTheme"), "No theme found with this name."); + Assert.Throws(() => database.GetTheme("NonExistingTheme"), "No theme found with this name."); } } } diff --git a/notus/Tests/Notus_UnitTest_Database/GetUserTests.cs b/notus/Tests/Notus_UnitTest_Database/GetUserTests.cs index dfdde7d..0515de8 100644 --- a/notus/Tests/Notus_UnitTest_Database/GetUserTests.cs +++ b/notus/Tests/Notus_UnitTest_Database/GetUserTests.cs @@ -30,7 +30,7 @@ namespace Notus_UnitTest_Database public void GetUser_UserDoesNotExist_ThrowsException() { string userName = "Eve"; - Assert.Throws(() => database.GetUser(userName)); + Assert.Throws(() => database.GetUser(userName)); } } } diff --git a/notus/Tests/Notus_UnitTest_Database/ModifyThemeColorListTests.cs b/notus/Tests/Notus_UnitTest_Database/ModifyThemeColorListTests.cs index 52a7181..e839ba7 100644 --- a/notus/Tests/Notus_UnitTest_Database/ModifyThemeColorListTests.cs +++ b/notus/Tests/Notus_UnitTest_Database/ModifyThemeColorListTests.cs @@ -37,7 +37,7 @@ namespace Notus_UnitTest_Database Theme theme = new Theme("ocean", listcolor); // no add :) List newColorList = new List { "Red", "Green", "Blue" }; - Assert.Throws(() => database.ModifyThemeColorList(theme, newColorList), "Theme not found."); + Assert.Throws(() => database.ModifyThemeColorList(theme, newColorList), "Theme not found."); } } } diff --git a/notus/Tests/Notus_UnitTest_Database/ModifyThemeNameTests.cs b/notus/Tests/Notus_UnitTest_Database/ModifyThemeNameTests.cs index 3af2c41..66d015b 100644 --- a/notus/Tests/Notus_UnitTest_Database/ModifyThemeNameTests.cs +++ b/notus/Tests/Notus_UnitTest_Database/ModifyThemeNameTests.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; namespace Notus_UnitTest_Database { - /*public class ModifyThemeNameTests + public class ModifyThemeNameTests { private Database database; @@ -34,7 +34,7 @@ namespace Notus_UnitTest_Database List listcolor = new List() { "Blue", "Dark", "Grey" }; Theme theme = new Theme("ocean", listcolor); string newName = "Light"; - Assert.Throws(() => database.ModifyThemeName(theme, newName), "Theme not found."); + Assert.Throws(() => database.ModifyThemeName(theme, newName), "Theme not found."); } - }*/ + } } diff --git a/notus/Tests/Notus_UnitTest_Database/RemoveThemeTests.cs b/notus/Tests/Notus_UnitTest_Database/RemoveThemeTests.cs new file mode 100644 index 0000000..56a3510 --- /dev/null +++ b/notus/Tests/Notus_UnitTest_Database/RemoveThemeTests.cs @@ -0,0 +1,38 @@ +using Biblioteque_de_Class; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Notus_UnitTest_Database +{ + public class RemoveThemeTests + { + private Database database; + + [SetUp] + public void Setup() + { + database = new Database(); + } + + [Test] + public void RemoveTheme_NewTheme_ThemeAddedToList() + { + List listcolor = new List() { "Blue", "Dark", "Grey" }; + Theme theme = new Theme("ocean", listcolor); + database.AddTheme(theme); + database.RemoveTheme(theme); + CollectionAssert.DoesNotContain(database.GetThemeList(), theme); + } + + [Test] + public void RemoveTheme_ExistingTheme_ThrowsException() + { + List listcolor = new(); + Theme theme = new Theme("ocean", listcolor); + Assert.Throws(() => database.RemoveTheme(theme), "Theme already used."); + } + } +} diff --git a/notus/Tests/Notus_UnitTest_Database/RemoveUserTests.cs b/notus/Tests/Notus_UnitTest_Database/RemoveUserTests.cs index 344fec9..361072d 100644 --- a/notus/Tests/Notus_UnitTest_Database/RemoveUserTests.cs +++ b/notus/Tests/Notus_UnitTest_Database/RemoveUserTests.cs @@ -32,7 +32,7 @@ namespace Notus_UnitTest_Database { User user = new User("John", "rien", "choco"); user.SetEmail("john@example.com"); - Assert.Throws(() => database.RemoveUser(user), "User not found."); + Assert.Throws(() => database.RemoveUser(user), "User not found."); } } } diff --git a/notus/Tests/Notus_UnitTest_Note/AddCollaboratorTests.cs b/notus/Tests/Notus_UnitTest_Note/AddCollaboratorTests.cs index da20ca7..085f360 100644 --- a/notus/Tests/Notus_UnitTest_Note/AddCollaboratorTests.cs +++ b/notus/Tests/Notus_UnitTest_Note/AddCollaboratorTests.cs @@ -22,7 +22,7 @@ namespace Notus_UnitTest_Note User collaborator = new User("Collaborator1", "collaborator1@example.com", "password"); User user = new User("User1", "user1@example.com", "password"); Note note = new Note("Test Note", "logo.png", owner); - Assert.Throws(() => note.AddCollaborator(user, collaborator)); + Assert.Throws(() => note.AddCollaborator(user, collaborator)); } } } diff --git a/notus/Tests/Notus_UnitTest_Note/AddEditorTests.cs b/notus/Tests/Notus_UnitTest_Note/AddEditorTests.cs index 99e4bc2..7fa8423 100644 --- a/notus/Tests/Notus_UnitTest_Note/AddEditorTests.cs +++ b/notus/Tests/Notus_UnitTest_Note/AddEditorTests.cs @@ -22,7 +22,7 @@ namespace Notus_UnitTest_Note User editor = new User("Editor1", "editor1@example.com", "password"); User user = new User("User1", "user1@example.com", "password"); Note note = new Note("Test Note", "logo.png", owner); - Assert.Throws(() => note.AddEditor(user, editor)); + Assert.Throws(() => note.AddEditor(user, editor)); } } diff --git a/notus/Tests/Notus_UnitTest_Note/Notus_UnitTest_Note.csproj b/notus/Tests/Notus_UnitTest_Note/Notus_UnitTest_Note.csproj index c83b34c..3f9f74f 100644 --- a/notus/Tests/Notus_UnitTest_Note/Notus_UnitTest_Note.csproj +++ b/notus/Tests/Notus_UnitTest_Note/Notus_UnitTest_Note.csproj @@ -18,7 +18,7 @@ - + diff --git a/notus/Tests/Notus_UnitTest_Note/RemoveCollaboratorTests.cs b/notus/Tests/Notus_UnitTest_Note/RemoveCollaboratorTests.cs index 6b95fac..b49b9e5 100644 --- a/notus/Tests/Notus_UnitTest_Note/RemoveCollaboratorTests.cs +++ b/notus/Tests/Notus_UnitTest_Note/RemoveCollaboratorTests.cs @@ -29,7 +29,7 @@ namespace Notus_UnitTest_Note User user = new User("User1", "user1@example.com", "password"); Note note = new Note("Test Note", "logo.png", owner); note.AddCollaborator(owner, collaborator); - Assert.Throws(() => note.RemoveCollaborator(user, collaborator)); + Assert.Throws(() => note.RemoveCollaborator(user, collaborator)); } } diff --git a/notus/Tests/Notus_UnitTest_Note/RemoveEditorTests.cs b/notus/Tests/Notus_UnitTest_Note/RemoveEditorTests.cs index d3a4939..37b5de2 100644 --- a/notus/Tests/Notus_UnitTest_Note/RemoveEditorTests.cs +++ b/notus/Tests/Notus_UnitTest_Note/RemoveEditorTests.cs @@ -29,7 +29,7 @@ namespace Notus_UnitTest_Note User user = new User("User1", "user1@example.com", "password"); Note note = new Note("Test Note", "logo.png", owner); note.AddEditor(owner, editor); - Assert.Throws(() => note.RemoveEditor(user, editor)); + Assert.Throws(() => note.RemoveEditor(user, editor)); } } diff --git a/notus/Tests/Notus_UnitTest_Note/RemoveImageTests.cs b/notus/Tests/Notus_UnitTest_Note/RemoveImageTests.cs index e52475f..af9502b 100644 --- a/notus/Tests/Notus_UnitTest_Note/RemoveImageTests.cs +++ b/notus/Tests/Notus_UnitTest_Note/RemoveImageTests.cs @@ -25,7 +25,7 @@ namespace Notus_UnitTest_Note { User owner = new User("Owner", "owner@example.com", "password"); Note note = new Note("Test Note", "logo.png", owner); - Assert.Throws(() => note.RemoveImage(1)); + Assert.Throws(() => note.RemoveImage(1)); } } } diff --git a/notus/Tests/Notus_UnitTest_Note/VerifyPrivilegeTests.cs b/notus/Tests/Notus_UnitTest_Note/VerifyPrivilegeTests.cs index de10e1b..7a02a0b 100644 --- a/notus/Tests/Notus_UnitTest_Note/VerifyPrivilegeTests.cs +++ b/notus/Tests/Notus_UnitTest_Note/VerifyPrivilegeTests.cs @@ -23,9 +23,10 @@ namespace Notus_UnitTest_Note [Test] public void VerifyPrivilege_WhenUserIsNotEditor_ThrowsException() { - User user = new User("User1", "user1@example.com", "password"); + User editor = new User("Editor1", "editor1@example.com", "password"); Note note = new Note("Test Note", "logo.png", new User("Owner", "owner@example.com", "password")); - Assert.Throws(() => note.VerifyPrivilege(user)); + bool result = note.VerifyPrivilege(editor); + Assert.IsFalse(result); } } }