feat: added static methods to JSON for configuration deserialization
This commit is contained in:
@ -56,6 +56,65 @@ class JSONTest {
|
||||
// >>>>>>> Deserialization tests <<<<<<<
|
||||
// =============================================================================
|
||||
|
||||
@Test
|
||||
void scenarioConfigDeserializationTest() {
|
||||
var jsonRepresentingConfig = """
|
||||
{
|
||||
"scenario":[
|
||||
["GRASS", "GRASS", "GRASS", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "GRASS", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "ROCK", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["GRASS", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["ROCK", "GRASS", "ROCK", "GRASS", "GRASS"],
|
||||
["ROCK", "GRASS", "ROCK", "ROCK", "GRASS"],
|
||||
["ROCK", "ROCK", "ROCK", "ROCK", "GRASS"]
|
||||
],
|
||||
"author": "jakobmh",
|
||||
"name": "avengerstower"
|
||||
}
|
||||
""";
|
||||
|
||||
var result = JSON.parseScenarioConfig(jsonRepresentingConfig).get();
|
||||
|
||||
var actual = new ScenarioConfig();
|
||||
actual.scenario = new FieldType[][] {
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.GRASS, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.GRASS, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.ROCK, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.GRASS, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.ROCK, FieldType.GRASS, FieldType.ROCK, FieldType.GRASS, FieldType.GRASS},
|
||||
{FieldType.ROCK, FieldType.GRASS, FieldType.ROCK, FieldType.ROCK, FieldType.GRASS},
|
||||
{FieldType.ROCK, FieldType.ROCK, FieldType.ROCK, FieldType.ROCK, FieldType.GRASS}
|
||||
};
|
||||
|
||||
actual.author = "jakobmh";
|
||||
actual.name = "avengerstower";
|
||||
|
||||
assertThat(result).isEqualTo(actual);
|
||||
}
|
||||
|
||||
@Test
|
||||
void characterSelectionDeserializationParseTest() throws JsonProcessingException {
|
||||
var jsonRepresentingMessage = """
|
||||
|
Reference in New Issue
Block a user