Fixes for serialization
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using System.Text.Json;
|
||||
using PkmnLib.Dynamic.Models;
|
||||
using PkmnLib.Dynamic.Models.Serialized;
|
||||
using PkmnLib.Static;
|
||||
@@ -65,8 +66,8 @@ public class SerializationTests
|
||||
HeldItem = null,
|
||||
CurrentHealth = 29,
|
||||
Happiness = 70,
|
||||
IndividualValues = new IndividualValueStatisticSet(20, 20, 20, 20, 20, 20),
|
||||
EffortValues = new EffortValueStatisticSet(0, 0, 0, 0, 0, 0),
|
||||
IndividualValues = new SerializedStats(20, 20, 20, 20, 20, 20),
|
||||
EffortValues = new SerializedStats(0, 0, 0, 0, 0, 0),
|
||||
Nature = "hardy",
|
||||
Nickname = "foo",
|
||||
Moves = new[]
|
||||
@@ -112,4 +113,70 @@ public class SerializationTests
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SerializedPokemonToJson()
|
||||
{
|
||||
var data = new SerializedPokemon
|
||||
{
|
||||
Species = "bulbasaur",
|
||||
Form = "default",
|
||||
Ability = "overgrow",
|
||||
Level = 10,
|
||||
Experience = 560,
|
||||
PersonalityValue = 1000,
|
||||
Gender = Gender.Male,
|
||||
Coloring = 0,
|
||||
HeldItem = null,
|
||||
CurrentHealth = 29,
|
||||
Happiness = 70,
|
||||
IndividualValues = new SerializedStats(20, 20, 20, 20, 20, 20),
|
||||
EffortValues = new SerializedStats(0, 0, 0, 0, 0, 0),
|
||||
Nature = "hardy",
|
||||
Nickname = "foo",
|
||||
Moves = new[]
|
||||
{
|
||||
new SerializedLearnedMove
|
||||
{
|
||||
MoveName = "tackle",
|
||||
LearnMethod = MoveLearnMethod.LevelUp,
|
||||
CurrentPp = 23,
|
||||
},
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
},
|
||||
};
|
||||
|
||||
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));
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user