🎨 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;
namespace Model.Dice
@ -10,7 +12,9 @@ namespace Model.Dice
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;
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<T> GetDieFaces()
{

@ -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);
}
}
}

@ -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);
}
}
}

@ -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);
}
}
}

@ -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