🎨 improve code performance
continuous-integration/drone/push Build is passing Details

pull/62/head
Ismail TAHA JANAN 2 years ago
parent 9292a2cc44
commit 344a0fb9ac

@ -1,4 +1,6 @@
using System.Collections.Generic; using System;
using System.Collections.Generic;
using System.Linq;
using Model.Dice.Faces; using Model.Dice.Faces;
namespace Model.Dice namespace Model.Dice
@ -10,7 +12,9 @@ namespace Model.Dice
private readonly List<T> listFaces = new(); private readonly List<T> listFaces = new();
public AbstractDie(string name, params T[] faces) private readonly Random rnd = new();
protected AbstractDie(string name, params T[] faces)
{ {
Name = name; Name = name;
listFaces.AddRange(faces); listFaces.AddRange(faces);
@ -20,7 +24,11 @@ namespace Model.Dice
public string GetName() => Name; 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<T> GetDieFaces() public List<T> GetDieFaces()
{ {

@ -14,12 +14,5 @@ namespace Model.Dice
public ColorDie(string name, params ColorDieFace[] faces) : base(name, faces) 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);
}
} }
} }

@ -13,11 +13,6 @@ namespace Model.Dice
public ImageDie(string name, params ImageDieFace[] faces) : base(name, faces) 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);
}
} }
} }

@ -13,12 +13,6 @@ namespace Model.Dice
public NumberDie(string name, params NumberDieFace[] faces) : base(name, faces) 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);
}
} }
} }

@ -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);
}
}
}
Loading…
Cancel
Save