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

@ -5,6 +5,7 @@ using Data.EF.Joins;
using Data.EF.Players; using Data.EF.Players;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing;
using Xunit; using Xunit;
namespace Tests.Data_UTs.Games namespace Tests.Data_UTs.Games
@ -18,7 +19,7 @@ namespace Tests.Data_UTs.Games
private readonly DieEntity clrDie; private readonly DieEntity clrDie;
private readonly FaceEntity clrFace1 = new ColorFaceEntity() { ID = Guid.NewGuid(), A = 255, R = 255, G = 255, B = 255 }; 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 DieEntity imgDie;
private readonly FaceEntity imgFace1 = new ImageFaceEntity() { ID = Guid.NewGuid(), Value = "https://a" }; private readonly FaceEntity imgFace1 = new ImageFaceEntity() { ID = Guid.NewGuid(), Value = "https://a" };
@ -43,8 +44,18 @@ namespace Tests.Data_UTs.Games
public TurnEntityTest() public TurnEntityTest()
{ {
numDie = new NumberDieEntity() { ID = Guid.NewGuid(), Faces = new List<NumberFaceEntity>() { numFace1 as NumberFaceEntity, numFace2 as NumberFaceEntity } }; 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 } }; 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 } }; 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() 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 class Enumerables
{ {
public static Dictionary<K, V> FromListsToDict<K, V>(List<K> keys, List<V> values) 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);
{
return 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) 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 GetDictFromLists(keys, values)) { kvps.Add(kv.Key, kv.Value); }
foreach (var kv in additions)
{
kvps.Add(kv.Key, kv.Value);
}
return kvps; return kvps;
} }
} }

Loading…
Cancel
Save