Migrate to TUnit for unit tests

This commit is contained in:
2024-12-27 14:30:22 +01:00
parent 5b518df24a
commit 853d6dd1cb
19 changed files with 158 additions and 184 deletions

View File

@@ -10,11 +10,11 @@ namespace PkmnLib.Tests.Dynamic;
public class SerializationTests
{
[Test]
public void SerializePokemon()
public async Task SerializePokemon()
{
var library = LibraryHelpers.LoadLibrary();
Assert.That(library.StaticLibrary.Species.TryGet("bulbasaur", out var species));
await Assert.That(library.StaticLibrary.Species.TryGet("bulbasaur", out var species)).IsTrue();
var pokemon = new PokemonImpl(library, species!, species!.GetDefaultForm(), new AbilityIndex()
{
Index = 0,
@@ -23,34 +23,27 @@ public class SerializationTests
pokemon.LearnMove("tackle", MoveLearnMethod.LevelUp, 255);
var data = pokemon.Serialize();
Assert.That(data, Is.Not.Null);
Assert.Multiple(() =>
{
Assert.That(data.Species, Is.EqualTo("bulbasaur"));
Assert.That(data.Form, Is.EqualTo("default"));
Assert.That(data.Ability, Is.EqualTo("overgrow"));
Assert.That(data.Level, Is.EqualTo(10));
Assert.That(data.PersonalityValue, Is.EqualTo(1000));
Assert.That(data.Gender, Is.EqualTo(Gender.Male));
Assert.That(data.Experience, Is.EqualTo(560));
Assert.That(data.Coloring, Is.EqualTo(0));
Assert.That(data.HeldItem, Is.Null);
Assert.That(data.CurrentHealth, Is.EqualTo(29));
Assert.That(data.Happiness, Is.EqualTo(70));
});
Assert.That(data.Moves, Has.Length.EqualTo(4));
Assert.That(data.Moves[0], Is.Not.Null);
Assert.Multiple(() =>
{
Assert.That(data.Moves[0]!.MoveName, Is.EqualTo("tackle"));
Assert.That(data.Moves[0]!.LearnMethod, Is.EqualTo(MoveLearnMethod.LevelUp));
Assert.That(data.Moves[0]!.CurrentPp, Is.EqualTo(35));
});
await Assert.That(data).IsNotNull();
await Assert.That(data.Species).IsEqualTo("bulbasaur");
await Assert.That(data.Form).IsEqualTo("default");
await Assert.That(data.Ability).IsEqualTo("overgrow");
await Assert.That(data.Level).IsEqualTo((byte)10);
await Assert.That(data.PersonalityValue).IsEqualTo((uint)1000);
await Assert.That(data.Gender).IsEqualTo(Gender.Male);
await Assert.That(data.Coloring).IsEqualTo((byte)0);
await Assert.That(data.HeldItem).IsNull();
await Assert.That(data.CurrentHealth).IsEqualTo((ushort)29);
await Assert.That(data.Happiness).IsEqualTo((byte)70);
await Assert.That(data.Moves).HasCount().EqualTo(4);
await Assert.That(data.Moves[0]).IsNotNull();
await Assert.That(data.Moves[0]!.MoveName).IsEqualTo("tackle");
await Assert.That(data.Moves[0]!.LearnMethod).IsEqualTo(MoveLearnMethod.LevelUp);
await Assert.That(data.Moves[0]!.CurrentPp).IsEqualTo((byte)35);
}
[Test]
public void DeserializePokemon()
public async Task DeserializePokemon()
{
var library = LibraryHelpers.LoadLibrary();
var data = new SerializedPokemon
@@ -85,36 +78,30 @@ public class SerializationTests
};
var pokemon = new PokemonImpl(library, data);
Assert.Multiple(() =>
{
Assert.That(pokemon.Species.Name.ToString(), Is.EqualTo("bulbasaur"));
Assert.That(pokemon.Form.Name.ToString(), Is.EqualTo("default"));
Assert.That(pokemon.AbilityIndex.Index, Is.EqualTo(0));
Assert.That(pokemon.Level, Is.EqualTo(10));
Assert.That(pokemon.Experience, Is.EqualTo(560));
Assert.That(pokemon.PersonalityValue, Is.EqualTo(1000));
Assert.That(pokemon.Gender, Is.EqualTo(Gender.Male));
Assert.That(pokemon.Coloring, Is.EqualTo(0));
Assert.That(pokemon.HeldItem, Is.Null);
Assert.That(pokemon.CurrentHealth, Is.EqualTo(29));
Assert.That(pokemon.Happiness, Is.EqualTo(70));
Assert.That(pokemon.IndividualValues, Is.EqualTo(new IndividualValueStatisticSet(20, 20, 20, 20, 20, 20)));
Assert.That(pokemon.EffortValues, Is.EqualTo(new EffortValueStatisticSet(0, 0, 0, 0, 0, 0)));
Assert.That(pokemon.Nature.Name.ToString(), Is.EqualTo("hardy"));
Assert.That(pokemon.Nickname, Is.EqualTo("foo"));
});
Assert.That(pokemon.Moves, Has.Count.EqualTo(4));
Assert.That(pokemon.Moves[0], Is.Not.Null);
Assert.Multiple(() =>
{
Assert.That(pokemon.Moves[0]!.MoveData.Name.ToString(), Is.EqualTo("tackle"));
Assert.That(pokemon.Moves[0]!.LearnMethod, Is.EqualTo(MoveLearnMethod.LevelUp));
Assert.That(pokemon.Moves[0]!.CurrentPp, Is.EqualTo(23));
});
await Assert.That(pokemon.Species.Name.ToString()).IsEqualTo("bulbasaur");
await Assert.That(pokemon.Form.Name.ToString()).IsEqualTo("default");
await Assert.That(pokemon.AbilityIndex.Index).IsEqualTo((byte)0);
await Assert.That(pokemon.Level).IsEqualTo((LevelInt)10);
await Assert.That(pokemon.Experience).IsEqualTo((uint)560);
await Assert.That(pokemon.PersonalityValue).IsEqualTo((uint)1000);
await Assert.That(pokemon.Gender).IsEqualTo(Gender.Male);
await Assert.That(pokemon.Coloring).IsEqualTo((byte)0);
await Assert.That(pokemon.HeldItem).IsNull();
await Assert.That(pokemon.CurrentHealth).IsEqualTo((uint)29);
await Assert.That(pokemon.Happiness).IsEqualTo((byte)70);
await Assert.That(pokemon.IndividualValues).IsEqualTo(new IndividualValueStatisticSet(20, 20, 20, 20, 20, 20));
await Assert.That(pokemon.EffortValues).IsEqualTo(new EffortValueStatisticSet(0, 0, 0, 0, 0, 0));
await Assert.That(pokemon.Nature.Name.ToString()).IsEqualTo("hardy");
await Assert.That(pokemon.Nickname).IsEqualTo("foo");
await Assert.That(pokemon.Moves).HasCount().EqualTo(4);
await Assert.That(pokemon.Moves[0]).IsNotNull();
await Assert.That(pokemon.Moves[0]!.MoveData.Name.ToString()).IsEqualTo("tackle");
await Assert.That(pokemon.Moves[0]!.LearnMethod).IsEqualTo(MoveLearnMethod.LevelUp);
await Assert.That(pokemon.Moves[0]!.CurrentPp).IsEqualTo((byte)23);
}
[Test]
public void SerializedPokemonToJson()
public async Task SerializedPokemonToJson()
{
var data = new SerializedPokemon
{
@@ -149,34 +136,27 @@ public class SerializationTests
var json = JsonSerializer.Serialize(data);
var deserialized = JsonSerializer.Deserialize<SerializedPokemon>(json);
Assert.That(deserialized, Is.Not.Null);
Assert.Multiple(() =>
{
Assert.That(deserialized!.Species, Is.EqualTo("bulbasaur"));
Assert.That(deserialized!.Form, Is.EqualTo("default"));
Assert.That(deserialized!.Ability, Is.EqualTo("overgrow"));
Assert.That(deserialized!.Level, Is.EqualTo(10));
Assert.That(deserialized!.Experience, Is.EqualTo(560));
Assert.That(deserialized!.PersonalityValue, Is.EqualTo(1000));
Assert.That(deserialized!.Gender, Is.EqualTo(Gender.Male));
Assert.That(deserialized!.Coloring, Is.EqualTo(0));
Assert.That(deserialized!.HeldItem, Is.Null);
Assert.That(deserialized!.CurrentHealth, Is.EqualTo(29));
Assert.That(deserialized!.Happiness, Is.EqualTo(70));
Assert.That(deserialized!.IndividualValues, Is.EqualTo(new SerializedStats(20, 20, 20, 20, 20, 20)));
Assert.That(deserialized!.EffortValues, Is.EqualTo(new SerializedStats(0, 0, 0, 0, 0, 0)));
Assert.That(deserialized!.Nature, Is.EqualTo("hardy"));
Assert.That(deserialized!.Nickname, Is.EqualTo("foo"));
});
Assert.That(deserialized!.Moves, Has.Length.EqualTo(4));
Assert.That(deserialized!.Moves[0], Is.Not.Null);
Assert.Multiple(() =>
{
Assert.That(deserialized!.Moves[0]!.MoveName, Is.EqualTo("tackle"));
Assert.That(deserialized!.Moves[0]!.LearnMethod, Is.EqualTo(MoveLearnMethod.LevelUp));
Assert.That(deserialized!.Moves[0]!.CurrentPp, Is.EqualTo(23));
});
}
await Assert.That(deserialized).IsNotNull();
await Assert.That(deserialized!.Species).IsEqualTo("bulbasaur");
await Assert.That(deserialized.Form).IsEqualTo("default");
await Assert.That(deserialized.Ability).IsEqualTo("overgrow");
await Assert.That(deserialized.Level).IsEqualTo((byte)10);
await Assert.That(deserialized.Experience).IsEqualTo((uint)560);
await Assert.That(deserialized.PersonalityValue).IsEqualTo((uint)1000);
await Assert.That(deserialized.Gender).IsEqualTo(Gender.Male);
await Assert.That(deserialized.Coloring).IsEqualTo((byte)0);
await Assert.That(deserialized.HeldItem).IsNull();
await Assert.That(deserialized.CurrentHealth).IsEqualTo((uint)29);
await Assert.That(deserialized.Happiness).IsEqualTo((byte)70);
await Assert.That(deserialized.IndividualValues).IsEqualTo(new SerializedStats(20, 20, 20, 20, 20, 20));
await Assert.That(deserialized.EffortValues).IsEqualTo(new SerializedStats(0, 0, 0, 0, 0, 0));
await Assert.That(deserialized.Nature).IsEqualTo("hardy");
await Assert.That(deserialized.Nickname).IsEqualTo("foo");
await Assert.That(deserialized.Moves).HasCount().EqualTo(4);
await Assert.That(deserialized.Moves[0]).IsNotNull();
await Assert.That(deserialized.Moves[0]!.MoveName).IsEqualTo("tackle");
await Assert.That(deserialized.Moves[0]!.LearnMethod).IsEqualTo(MoveLearnMethod.LevelUp);
await Assert.That(deserialized.Moves[0]!.CurrentPp).IsEqualTo((byte)23);
}
}