Update EventSerializerTest.java

This commit is contained in:
C H 2021-06-03 15:15:55 +02:00
parent f54bae4c1f
commit 34dcc75400

View File

@ -10,6 +10,8 @@ import uulm.teamname.marvelous.gamelibrary.entities.*;
import uulm.teamname.marvelous.gamelibrary.entities.Character; import uulm.teamname.marvelous.gamelibrary.entities.Character;
import uulm.teamname.marvelous.gamelibrary.events.*; import uulm.teamname.marvelous.gamelibrary.events.*;
import java.util.HashMap;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
@ -72,43 +74,11 @@ public class EventSerializerTest {
var ac= new EntityID(EntityType.P1, 2); var ac= new EntityID(EntityType.P1, 2);
gse2.activeCharacter = ac; gse2.activeCharacter = ac;
System.out.println(mapper.writeValueAsString(gse2)); System.out.println(mapper.writeValueAsString(gse2));
/*
* private Entity[] entities;
private EntityID[] turnOrder;
private IntVector2 mapSize;
private EntityID activeCharacter;
private Integer[] stoneCooldowns;
private Boolean winCondition;
* */
//Entity[] ent = {new EntityID(EntityType.NPC};
// gse.entities = new Entity[]; // ERROR!!! "Can not write a field name, expecting a value" bei active Character
/**
* gen.writeArrayFieldStart("entities");
for (Entity entity : value.entities) {
gen.writeObject(entity);
}
gen.writeEndArray();
gen.writeObjectField("mapSize", value.mapSize);
gen.writeArrayFieldStart("turnOrder");
for (EntityID id : value.turnOrder) {
gen.writeObject(id);
}
gen.writeObjectField("activeCharacter", value.activeCharacter);
gen.writeFieldName("stoneCooldowns");
gen.writeArray(
Arrays.stream(value.stoneCooldowns).mapToInt(x -> x).toArray(),
0,
value.stoneCooldowns.length);
gen.writeBooleanField("winCondition", value.winCondition);
* */
// assertThat(mapper.writeValueAsString(gse2))
// .isEqualTo(jsonRepresentingGSE);
} }
@ -127,7 +97,7 @@ public class EventSerializerTest {
"entity":{"entityType":"NPC","ID":1,"MP":0,"stones":[],"position":[1,1]} "entity":{"entityType":"NPC","ID":1,"MP":0,"stones":[],"position":[1,1]}
}""".replace("\n", ""); }""".replace("\n", "");
System.out.println(mapper.writeValueAsString(ee)); // System.out.println(mapper.writeValueAsString(ee));
assertThat(mapper.writeValueAsString(ee)) assertThat(mapper.writeValueAsString(ee))
.isEqualTo(jsonRepresentingEE); .isEqualTo(jsonRepresentingEE);
@ -138,8 +108,7 @@ public class EventSerializerTest {
ee2.targetField = new IntVector2(1,1); ee2.targetField = new IntVector2(1,1);
ee2.amount = 10; ee2.amount = 10;
// {"eventType":"TakenDamageEvent","targetEntity":{"entityID":"P1","ID":5},"targetField":[1,1],"amount":10} // System.out.println(mapper.writeValueAsString(ee2));
System.out.println(mapper.writeValueAsString(ee2));
jsonRepresentingEE = """ jsonRepresentingEE = """
{ {
@ -149,7 +118,7 @@ public class EventSerializerTest {
"amount":10 "amount":10
}""".replace("\n", ""); }""".replace("\n", "");
System.out.println(mapper.writeValueAsString(ee2)); // System.out.println(mapper.writeValueAsString(ee2));
assertThat(mapper.writeValueAsString(ee2)) assertThat(mapper.writeValueAsString(ee2))
.isEqualTo(jsonRepresentingEE); .isEqualTo(jsonRepresentingEE);
@ -166,7 +135,7 @@ public class EventSerializerTest {
"targetField":[1,1] "targetField":[1,1]
}""".replace("\n", ""); }""".replace("\n", "");
System.out.println(mapper.writeValueAsString(ee3)); //System.out.println(mapper.writeValueAsString(ee3));
assertThat(mapper.writeValueAsString(ee3)) assertThat(mapper.writeValueAsString(ee3))
.isEqualTo(jsonRepresentingEE); .isEqualTo(jsonRepresentingEE);
} }
@ -174,13 +143,6 @@ public class EventSerializerTest {
@Test @Test
void serializeCharacterEvent() throws JsonProcessingException { void serializeCharacterEvent() throws JsonProcessingException {
/*
* gen.writeObjectField("originEntity", value.originEntity);
gen.writeObjectField("targetEntity", value.targetEntity);
gen.writeObjectField("originField", value.originField);
gen.writeObjectField("targetField", value.targetField);
* */
var mapper = new ObjectMapper(); var mapper = new ObjectMapper();
CharacterEvent ce = new CharacterEvent(); CharacterEvent ce = new CharacterEvent();
@ -198,7 +160,7 @@ public class EventSerializerTest {
"originField":null,"targetField":[2,2] "originField":null,"targetField":[2,2]
}""".replace("\n", ""); }""".replace("\n", "");
System.out.println(mapper.writeValueAsString(ce)); // System.out.println(mapper.writeValueAsString(ce));
assertThat(mapper.writeValueAsString(ce)) assertThat(mapper.writeValueAsString(ce))
.isEqualTo(jsonRepresentingEE); .isEqualTo(jsonRepresentingEE);
@ -219,6 +181,8 @@ public class EventSerializerTest {
}""".replace("\n", ""); }""".replace("\n", "");
System.out.println(mapper.writeValueAsString(ce2)); System.out.println(mapper.writeValueAsString(ce2));
// ERROR !!! "Can not start an object, expecting field name (context: Object)" bei stoneType
//assertThat(mapper.writeValueAsString(ce2)) //assertThat(mapper.writeValueAsString(ce2))
// .isEqualTo(jsonRepresentingEE); // .isEqualTo(jsonRepresentingEE);
@ -247,7 +211,10 @@ public class EventSerializerTest {
"originField":null,"targetField":[2,2] "originField":null,"targetField":[2,2]
}""".replace("\n", ""); }""".replace("\n", "");
// System.out.println(mapper.writeValueAsString(ge)); System.out.println(mapper.writeValueAsString(ge));
// ERROR !!! "Current context not Array but Object" bei characterorder
// assertThat(mapper.writeValueAsString(ge)) // assertThat(mapper.writeValueAsString(ge))
// .isEqualTo(jsonRepresentingEE); // .isEqualTo(jsonRepresentingEE);
@ -296,8 +263,44 @@ public class EventSerializerTest {
//System.out.println(mapper.writeValueAsString(ge4)); //System.out.println(mapper.writeValueAsString(ge4));
assertThat(mapper.writeValueAsString(ge4)) assertThat(mapper.writeValueAsString(ge4))
.isEqualTo(jsonRepresentingEE); .isEqualTo(jsonRepresentingEE);
GameEvent ge5 = new GameEvent();
ge5.type = EventType.TimeoutEvent;
ge5.message = "timeout";
jsonRepresentingEE = """
{
"eventType":"TimeoutEvent",
"message":"timeout"
}""".replace("\n", "");
// System.out.println(mapper.writeValueAsString(ge5));
assertThat(mapper.writeValueAsString(ge5))
.isEqualTo(jsonRepresentingEE);
} }
@Test
void serializeCustomEvent() throws JsonProcessingException {
var mapper = new ObjectMapper();
CustomEvent ce = new CustomEvent();
ce.type = EventType.CustomEvent;
ce.teamIdentifier ="identity";
ce.customContent = new HashMap<String, Object>(1,1);
var jsonRepresentingEE = """
{
"eventType":"CustomEvent",
"teamIdentifier":"identity",
"customContent":{}
}""".replace("\n", "");
// System.out.println(mapper.writeValueAsString(ce));
assertThat(mapper.writeValueAsString(ce))
.isEqualTo(jsonRepresentingEE);
}
/* /*
ObjectMapper mapper; ObjectMapper mapper;