From 344a0fb9ac2bef9d757ef1bc63a39efbedf425d2 Mon Sep 17 00:00:00 2001 From: Ismail TAHA JANAN Date: Sat, 24 Sep 2022 12:39:56 +0200 Subject: [PATCH] :art: improve code performance --- Sources/Model/Dice/AbstractDie.cs | 14 +++++++++++--- Sources/Model/Dice/ColorDie.cs | 7 ------- Sources/Model/Dice/ImageDie.cs | 7 +------ Sources/Model/Dice/NumberDie.cs | 6 ------ Sources/Tests/Model_UTs/DieTest.cs | 15 --------------- 5 files changed, 12 insertions(+), 37 deletions(-) delete mode 100644 Sources/Tests/Model_UTs/DieTest.cs diff --git a/Sources/Model/Dice/AbstractDie.cs b/Sources/Model/Dice/AbstractDie.cs index bc0b8c7..737347e 100644 --- a/Sources/Model/Dice/AbstractDie.cs +++ b/Sources/Model/Dice/AbstractDie.cs @@ -1,4 +1,6 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; +using System.Linq; using Model.Dice.Faces; namespace Model.Dice @@ -10,7 +12,9 @@ namespace Model.Dice private readonly List listFaces = new(); - public AbstractDie(string name, params T[] faces) + private readonly Random rnd = new(); + + protected AbstractDie(string name, params T[] faces) { Name = name; listFaces.AddRange(faces); @@ -20,7 +24,11 @@ namespace Model.Dice public string GetName() => Name; - public abstract AbstractDieFace GetRandomFace(); + public T GetRandomFace() + { + int faceIndex = rnd.Next(1, ListFaces.Count() + 1); + return ListFaces.ElementAt(faceIndex); + } public List GetDieFaces() { diff --git a/Sources/Model/Dice/ColorDie.cs b/Sources/Model/Dice/ColorDie.cs index 632af98..8a28ce9 100644 --- a/Sources/Model/Dice/ColorDie.cs +++ b/Sources/Model/Dice/ColorDie.cs @@ -14,12 +14,5 @@ namespace Model.Dice public ColorDie(string name, params ColorDieFace[] faces) : base(name, faces) { } - - public override AbstractDieFace GetRandomFace() - { - Random rnd = new(); - int faceIndex = rnd.Next(1, ListFaces.Count() + 1); - return ListFaces.ElementAt(faceIndex); - } } } diff --git a/Sources/Model/Dice/ImageDie.cs b/Sources/Model/Dice/ImageDie.cs index b14f2ae..aa4ebe5 100644 --- a/Sources/Model/Dice/ImageDie.cs +++ b/Sources/Model/Dice/ImageDie.cs @@ -13,11 +13,6 @@ namespace Model.Dice public ImageDie(string name, params ImageDieFace[] faces) : base(name, faces) { } - public override ImageDieFace GetRandomFace() - { - Random rnd = new(); - int faceIndex = rnd.Next(1, ListFaces.Count() + 1); - return ListFaces.ElementAt(faceIndex); - } + } } diff --git a/Sources/Model/Dice/NumberDie.cs b/Sources/Model/Dice/NumberDie.cs index 08df177..ee61add 100644 --- a/Sources/Model/Dice/NumberDie.cs +++ b/Sources/Model/Dice/NumberDie.cs @@ -13,12 +13,6 @@ namespace Model.Dice public NumberDie(string name, params NumberDieFace[] faces) : base(name, faces) { } - public override NumberDieFace GetRandomFace() - { - Random rnd = new(); - int faceIndex = rnd.Next(1, ListFaces.Count() + 1); - return ListFaces.ElementAt(faceIndex); - } } } diff --git a/Sources/Tests/Model_UTs/DieTest.cs b/Sources/Tests/Model_UTs/DieTest.cs deleted file mode 100644 index e4ef9f7..0000000 --- a/Sources/Tests/Model_UTs/DieTest.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Model; -using Xunit; - -namespace Tests.Model_UTs -{ - public class DieTest - { - [Fact] - public void TestConstructor() - { - //AbstractDie die = new AbstractDie("Ben"); - //Assert.Equal("Ben", die.Name); - } - } -}