From 1f568ba29fcf9dc96ee08fe4d97068a11faa5ae3 Mon Sep 17 00:00:00 2001 From: "matheo.thierry" Date: Sat, 3 Jun 2023 11:45:17 +0200 Subject: [PATCH] Add Stub_Test --- .../PersistenceManager.cs | 18 +++++ notus/Notus_Persistence/Stub.cs | 4 +- .../Tests/UnitTests_Persistance/Stub_Tests.cs | 70 ++++++++++++++++++- .../UnitTests_Persistance.csproj | 5 ++ 4 files changed, 94 insertions(+), 3 deletions(-) diff --git a/notus/Biblioteque_de_Class/PersistenceManager.cs b/notus/Biblioteque_de_Class/PersistenceManager.cs index 030aa41..3b6e1c7 100644 --- a/notus/Biblioteque_de_Class/PersistenceManager.cs +++ b/notus/Biblioteque_de_Class/PersistenceManager.cs @@ -25,5 +25,23 @@ namespace Biblioteque_de_Class db.SetDefaultLogoList(persistence.LoadDefaultLogo()); return db; } + + public Database GetOnlyDatabaseUser() + { + db = persistence.LoadDatabaseData(); + return db; + } + + public Database GetOnlyDatabaseDefaultTheme() + { + db.SetDefaultThemeList(persistence.LoadDefaultTheme()); + return db; + } + + public Database GetOnlyDatabaseDefaultLogo() + { + db.SetDefaultLogoList(persistence.LoadDefaultLogo()); + return db; + } } } diff --git a/notus/Notus_Persistence/Stub.cs b/notus/Notus_Persistence/Stub.cs index ddd2b77..403017b 100644 --- a/notus/Notus_Persistence/Stub.cs +++ b/notus/Notus_Persistence/Stub.cs @@ -59,8 +59,8 @@ namespace Notus_Persistance public List LoadDefaultTheme() { List DefaultThemeList = new List(); - DefaultThemeList.Add(new("blacktheme", "#000000,#FF00FF,#OOFFOO".Split().ToList())); - DefaultThemeList.Add(new("whitetheme", "#FFFFFF,#FF00FF,#OOFFOO".Split().ToList())); + DefaultThemeList.Add(new("blacktheme", "#000000,#FF00FF,#OOFFOO".Split(',').ToList())); + DefaultThemeList.Add(new("whitetheme", "#FFFFFF,#FF00FF,#OOFFOO".Split(',').ToList())); return DefaultThemeList; } public List LoadDefaultLogo() diff --git a/notus/Tests/UnitTests_Persistance/Stub_Tests.cs b/notus/Tests/UnitTests_Persistance/Stub_Tests.cs index b2d0d00..52be512 100644 --- a/notus/Tests/UnitTests_Persistance/Stub_Tests.cs +++ b/notus/Tests/UnitTests_Persistance/Stub_Tests.cs @@ -1,4 +1,6 @@ -using System; +using Biblioteque_de_Class; +using Notus_Persistance; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -8,5 +10,71 @@ namespace UnitTests_Persistance { public class Stub_Tests { + PersistenceManager manager; + Database result; + [SetUp] + public void Setup() + { + manager = new PersistenceManager(new Stub()); + userList = new List + { + new User("John", "john@example.com", "password"), + new User("Jane", "jane@example.com", "password") + }; + result = new Database(); + } + + [Test] + public void SaveDatabaseData_Test() + { + Assert.Throws(() => manager.SaveDatabaseData(result)); + } + + [Test] + public void LoadDatabaseData_Test() + { + result = manager.GetOnlyDatabaseUser(); + + Assert.NotNull(result); + Assert.NotNull(result.UserList); + Assert.That(result.UserList.Count, Is.EqualTo(4)); + User user1 = result.UserList[0]; + Assert.That(user1.Username, Is.EqualTo("Nicolas")); + Assert.That(user1.Email, Is.EqualTo("leHeros@gmail.com")); + Assert.That(user1.Password, Is.EqualTo(HashCodeModel.GetSHA256Hash("FeurFeur"))); + Note user1Note = user1.NoteList[0]; + Tags user1Tag = user1.TagList[0]; + Assert.That(user1Note.Name, Is.EqualTo("Note 0")); + Assert.That(user1Note.LogoPath, Is.EqualTo("DefaultLogo.png")); + Assert.That(user1Tag.Name, Is.EqualTo("Tag 0")); + Assert.That(user1Tag.Color, Is.EqualTo("#5555FF")); + } + + [Test] + public void LoadDefaultTheme_Test() + { + result = manager.GetOnlyDatabaseDefaultTheme(); + + Assert.NotNull(result); + Assert.That(result.ThemeList.Count, Is.EqualTo(2)); + Theme theme1 = result.ThemeList[0]; + Assert.That(theme1.Name, Is.EqualTo("blacktheme")); + Assert.That(theme1.ColorList[0], Is.EqualTo("#000000")); + Assert.That(theme1.ColorList[1], Is.EqualTo("#FF00FF")); + Assert.That(theme1.ColorList[2], Is.EqualTo("#OOFFOO")); + } + + [Test] + public void LoadDefaultLogo_Test() + { + result = manager.GetOnlyDatabaseDefaultLogo(); + + Assert.NotNull(result); + Assert.That(result.DefaultLogoList.Count, Is.EqualTo(3)); + Logo logo1 = result.DefaultLogoList[0]; + Assert.That(logo1.Name, Is.EqualTo("default")); + Assert.That(logo1.LogoLink, Is.EqualTo("DefaultLogo.png")); + } + } } diff --git a/notus/Tests/UnitTests_Persistance/UnitTests_Persistance.csproj b/notus/Tests/UnitTests_Persistance/UnitTests_Persistance.csproj index 8d82d90..44f0282 100644 --- a/notus/Tests/UnitTests_Persistance/UnitTests_Persistance.csproj +++ b/notus/Tests/UnitTests_Persistance/UnitTests_Persistance.csproj @@ -17,4 +17,9 @@ + + + + +