Files
kemkas-backend/Kemkas.Web.Tests/Db/Models/CharacterCollectionMutabilityTests.cs
T
morbalint af1d600432 fix ef collection initilizers (#50)
* fix ef collection initilizers

* add tests to catch regression
2026-04-05 13:13:09 +02:00

81 lines
2.3 KiB
C#

using Kemkas.Web.Db.Enums;
using Kemkas.Web.Db.Models;
namespace Kemkas.Web.Tests.Db.Models;
public class CharacterCollectionMutabilityTests
{
[Fact]
public void V1Karakter_CollectionsAreMutableForEfMaterialization()
{
var karakter = new V1Karakter { Nev = "Aron" };
Assert.False(karakter.KarakterKepzettsegek.GetType().IsArray);
Assert.False(karakter.Szintlepesek.GetType().IsArray);
Assert.False(karakter.Felszereles.GetType().IsArray);
karakter.KarakterKepzettsegek.Add(new V1KarakterKepzettseg
{
Kepzettseg = Kepzettseg1E.Alkimia,
Karakter = null!
});
karakter.Szintlepesek.Add(new V1Szintlepes
{
KarakterSzint = 1,
HpRoll = 8,
Karakter = null!
});
karakter.Felszereles.Add(new V1Felszereles
{
Name = "kard",
Karakter = null!
});
Assert.Single(karakter.KarakterKepzettsegek);
Assert.Single(karakter.Szintlepesek);
Assert.Single(karakter.Felszereles);
}
[Fact]
public void V2Karakter_CollectionsAreMutableForEfMaterialization()
{
var karakter = new V2Karakter { Nev = "Belia" };
Assert.False(karakter.KarakterKepzettsegek.GetType().IsArray);
Assert.False(karakter.Szintlepesek.GetType().IsArray);
Assert.False(karakter.Felszereles.GetType().IsArray);
Assert.False(karakter.Varazslatok.GetType().IsArray);
karakter.KarakterKepzettsegek.Add(new V2KarakterKepzettseg
{
Kepzettseg = Kepzettseg2E.Alkimia,
Karakter = null!
});
karakter.Szintlepesek.Add(new V2Szintlepes
{
KarakterSzint = 1,
Osztaly = Osztaly2E.Harcos,
HpRoll = 9,
Karakter = null!
});
karakter.Felszereles.Add(new V2Felszereles
{
TargyId = "kard",
Count = 1,
Karakter = null!
});
karakter.Varazslatok.Add(new V2KarakterVarazslat
{
VarazslatId = "v_tuz",
Osztaly = Osztaly2E.Varazslo,
Karakter = null!
});
Assert.Single(karakter.KarakterKepzettsegek);
Assert.Single(karakter.Szintlepesek);
Assert.Single(karakter.Felszereles);
Assert.Single(karakter.Varazslatok);
}
}