📈 Slither over the 80% line
continuous-integration/drone/push Build is passing Details

making tickets for UTs + cleanup
pull/191/head
Alexis Drai 3 years ago
parent cce587437e
commit 2ef6b304dc

@ -17,33 +17,15 @@ namespace Data.EF.Games
foreach (DieEntity dieEntity in diceEntities)
{
if (dieEntity.GetType() == typeof(NumberDieEntity))
{
dice.Add((dieEntity as NumberDieEntity).ToModel());
}
if (dieEntity.GetType() == typeof(ColorDieEntity))
{
dice.Add((dieEntity as ColorDieEntity).ToModel());
}
if (dieEntity.GetType() == typeof(ImageDieEntity))
{
dice.Add((dieEntity as ImageDieEntity).ToModel());
}
if (dieEntity.GetType() == typeof(NumberDieEntity)) { dice.Add((dieEntity as NumberDieEntity).ToModel()); }
if (dieEntity.GetType() == typeof(ColorDieEntity)) { dice.Add((dieEntity as ColorDieEntity).ToModel()); }
if (dieEntity.GetType() == typeof(ImageDieEntity)) { dice.Add((dieEntity as ImageDieEntity).ToModel()); }
}
foreach (FaceEntity faceEntity in faceEntities)
{
if (faceEntity.GetType() == typeof(NumberFaceEntity))
{
faces.Add((faceEntity as NumberFaceEntity).ToModel());
}
if (faceEntity.GetType() == typeof(ColorFaceEntity))
{
faces.Add((faceEntity as ColorFaceEntity).ToModel());
}
if (faceEntity.GetType() == typeof(ImageFaceEntity))
{
faces.Add((faceEntity as ImageFaceEntity).ToModel());
}
if (faceEntity.GetType() == typeof(NumberFaceEntity)) { faces.Add((faceEntity as NumberFaceEntity).ToModel()); }
if (faceEntity.GetType() == typeof(ColorFaceEntity)) { faces.Add((faceEntity as ColorFaceEntity).ToModel()); }
if (faceEntity.GetType() == typeof(ImageFaceEntity)) { faces.Add((faceEntity as ImageFaceEntity).ToModel()); }
}
return (dice, faces);
@ -51,7 +33,6 @@ namespace Data.EF.Games
public static Turn ToModel(this TurnEntity entity)
{
Dictionary<Die, Face> DiceNFaces = new();
List<Die> keysList;
@ -59,17 +40,9 @@ namespace Data.EF.Games
(keysList, valuesList) = ToModels(entity.Dice, entity.Faces);
DiceNFaces = Utils.Enumerables.FeedListsToDict(
DiceNFaces,
keysList,
valuesList
);
DiceNFaces = Utils.Enumerables.FeedListsToDict(DiceNFaces, keysList, valuesList);
return Turn.CreateWithSpecifiedTime(
when: entity.When,
player: entity.PlayerEntity.ToModel(),
diceNFaces: DiceNFaces
);
return Turn.CreateWithSpecifiedTime(when: entity.When, player: entity.PlayerEntity.ToModel(), diceNFaces: DiceNFaces);
}
public static IEnumerable<Turn> ToModels(this IEnumerable<TurnEntity> entities)
@ -85,30 +58,12 @@ namespace Data.EF.Games
foreach (KeyValuePair<Die, Face> kvp in model.DiceNFaces)
{
if (kvp.Key.GetType() == typeof(NumberDie))
{
DiceEntities.Add((kvp.Key as NumberDie).ToEntity());
FaceEntities.Add((kvp.Value as NumberFace).ToEntity());
}
if (kvp.Key.GetType() == typeof(ImageDie))
{
DiceEntities.Add((kvp.Key as ImageDie).ToEntity());
FaceEntities.Add((kvp.Value as ImageFace).ToEntity());
}
if (kvp.Key.GetType() == typeof(ColorDie))
{
DiceEntities.Add((kvp.Key as ColorDie).ToEntity());
FaceEntities.Add((kvp.Value as ColorFace).ToEntity());
}
if (kvp.Key.GetType() == typeof(NumberDie)) { DiceEntities.Add((kvp.Key as NumberDie).ToEntity()); FaceEntities.Add((kvp.Value as NumberFace).ToEntity()); }
if (kvp.Key.GetType() == typeof(ImageDie)) { DiceEntities.Add((kvp.Key as ImageDie).ToEntity()); FaceEntities.Add((kvp.Value as ImageFace).ToEntity()); }
if (kvp.Key.GetType() == typeof(ColorDie)) { DiceEntities.Add((kvp.Key as ColorDie).ToEntity()); FaceEntities.Add((kvp.Value as ColorFace).ToEntity()); }
}
return new TurnEntity()
{
When = model.When,
PlayerEntity = model.Player.ToEntity(),
Dice = DiceEntities,
Faces = FaceEntities
};
return new TurnEntity() { When = model.When, PlayerEntity = model.Player.ToEntity(), Dice = DiceEntities, Faces = FaceEntities };
}
public static IEnumerable<TurnEntity> ToEntities(this IEnumerable<Turn> models)

@ -5,6 +5,7 @@ using Data.EF.Joins;
using Data.EF.Players;
using System;
using System.Collections.Generic;
using System.Drawing;
using Xunit;
namespace Tests.Data_UTs.Games
@ -18,7 +19,7 @@ namespace Tests.Data_UTs.Games
private readonly DieEntity clrDie;
private readonly FaceEntity clrFace1 = new ColorFaceEntity() { ID = Guid.NewGuid(), A = 255, R = 255, G = 255, B = 255 };
private readonly FaceEntity clrFace2 = new ColorFaceEntity() { ID = Guid.NewGuid(), A = 255, R = 0, G = 0, B = 0 };
private readonly FaceEntity clrFace2 = new ColorFaceEntity() { ID = Guid.NewGuid() };
private readonly DieEntity imgDie;
private readonly FaceEntity imgFace1 = new ImageFaceEntity() { ID = Guid.NewGuid(), Value = "https://a" };
@ -43,8 +44,18 @@ namespace Tests.Data_UTs.Games
public TurnEntityTest()
{
numDie = new NumberDieEntity() { ID = Guid.NewGuid(), Faces = new List<NumberFaceEntity>() { numFace1 as NumberFaceEntity, numFace2 as NumberFaceEntity } };
(numFace1 as NumberFaceEntity).NumberDieEntity = (NumberDieEntity)numDie;
(numFace2 as NumberFaceEntity).NumberDieEntity = (NumberDieEntity)numDie;
(clrFace2 as ColorFaceEntity).SetValue(Color.FromName("blue"));
clrDie = new ColorDieEntity() { ID = Guid.NewGuid(), Faces = new List<ColorFaceEntity>() { clrFace1 as ColorFaceEntity, clrFace2 as ColorFaceEntity } };
(clrFace1 as ColorFaceEntity).ColorDieEntity = (ColorDieEntity)clrDie;
(clrFace2 as ColorFaceEntity).ColorDieEntity = (ColorDieEntity)clrDie;
imgDie = new ImageDieEntity() { ID = Guid.NewGuid(), Faces = new List<ImageFaceEntity>() { imgFace1 as ImageFaceEntity, imgFace2 as ImageFaceEntity } };
(imgFace1 as ImageFaceEntity).ImageDieEntity = (ImageDieEntity)imgDie;
(imgFace2 as ImageFaceEntity).ImageDieEntity = (ImageDieEntity)imgDie;
turn1 = new()
{

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tests.Utils_UTs
{
public class EnumerablesTest
{
}
}

@ -3,19 +3,11 @@
public static class Enumerables
{
public static Dictionary<K, V> FromListsToDict<K, V>(List<K> keys, List<V> values)
{
return keys.Zip(values, (k, v) => new { k, v })
.ToDictionary(x => x.k, x => x.v);
}
private static Dictionary<K, V> GetDictFromLists<K, V>(List<K> keys, List<V> values) => keys.Zip(values, (k, v) => new { k, v }).ToDictionary(x => x.k, x => x.v);
public static Dictionary<K, V> FeedListsToDict<K, V>(Dictionary<K, V> kvps, List<K> keys, List<V> values)
{
Dictionary<K, V> additions = FromListsToDict(keys, values);
foreach (var kv in additions)
{
kvps.Add(kv.Key, kv.Value);
}
foreach (var kv in GetDictFromLists(keys, values)) { kvps.Add(kv.Key, kv.Value); }
return kvps;
}
}

Loading…
Cancel
Save