update json serde tests

This commit is contained in:
Adam 2022-01-09 11:05:52 +01:00
parent 5a406358d8
commit f16e7405f6

View file

@ -14,26 +14,38 @@ class FactorioEventTest : BehaviorSpec({
val json = """ val json = """
{ {
"data": { "data": {
"object_name": "LuaPlayer", "objectName": "LuaPlayer",
"name": "fredthedeadhead", "name": "fredthedeadhead",
"character_unit_number": 1, "characterUnitNumber": 1,
"associated_characters_unit_numbers": {}, "associatedCharactersUnitNumbers": {},
"position": { "position": {
"x": -3.5703125, "type": "MAP",
"y": 29.75, "x": 30.65625,
"type": "MAP" "y": 84.07421875
}, },
"last_online": 123 "colour": {
"red": 0.869000017642974853515625,
"green": 0.5,
"blue": 0.12999999523162841796875,
"alpha": 0.5
}, },
"event_type": "on_player_joined_game", "chatColour": {
"mod_version": "0.0.4", "red": 1,
"factorio_version": "1.1.48", "green": 0.62999999523162841796875,
"tick": 1278458 "blue": 0.259000003337860107421875,
"alpha": 1
},
"lastOnline": 2287061
},
"packetType": "EVENT",
"eventType": "on_player_joined_game",
"modVersion": "0.2.1",
"tick": 2287072
} }
""".trimIndent() """.trimIndent()
Then("parse") { Then("parse") {
val actual: FactorioEvent<FactorioObjectData> = jsonMapper.decodeFromString(json) val actual: KafkatorioPacket = jsonMapper.decodeFromString(KafkatorioPacket.serializer(), json)
val expected = FactorioEvent( val expected = FactorioEvent(
data = PlayerData( data = PlayerData(
@ -41,22 +53,32 @@ class FactorioEventTest : BehaviorSpec({
characterUnitNumber = 1u, characterUnitNumber = 1u,
associatedCharactersUnitNumbers = emptyList(), associatedCharactersUnitNumbers = emptyList(),
position = PositionData( position = PositionData(
x = -3.5703125,
y = 29.75,
type = PositionType.MAP, type = PositionType.MAP,
x = 30.65625,
y = 84.07421875,
), ),
colour = Colour(), colour = Colour(
chatColour = Colour(), red = 0.869000017642974853515625f,
lastOnline = 123u green = 0.5f,
blue = 0.12999999523162841796875f,
alpha = 0.5f
),
chatColour = Colour(
red = 1f,
green = 0.62999999523162841796875f,
blue = 0.259000003337860107421875f,
alpha = 1f
),
lastOnline = 2287061u
), ),
eventType = "on_player_joined_game", eventType = "on_player_joined_game",
modVersion = "0.0.4", modVersion = "0.2.1",
tick = 1278458u tick = 2287072u
) )
actual shouldBeEqualToComparingFields expected actual shouldBeEqualToComparingFields expected
expected.data.objectName shouldBe "LuaPlayer" expected.data.objectName shouldBe FactorioObjectData.ObjectName.LuaPlayer
} }
} }
@ -65,64 +87,64 @@ class FactorioEventTest : BehaviorSpec({
val json = """ val json = """
{ {
"data": { "data": {
"object_name": "LuaSurface", "objectName": "LuaSurface",
"name": "nauvis", "name": "nauvis",
"index": 1, "index": 1,
"daytime": 0.8390800000511436707029133685864508152008056640625 "daytime": 0.749480000092057618843455202295444905757904052734375
}, },
"event_type": "on_tick", "packetType": "EVENT",
"mod_version": "0.0.4", "eventType": "on_tick",
"factorio_version": "1.1.48", "modVersion": "0.2.1",
"tick": 1278480 "tick": 2301240
} }
""".trimIndent() """.trimIndent()
Then("parse") { Then("parse") {
val actual: FactorioEvent<FactorioObjectData> = jsonMapper.decodeFromString(json) val actual: KafkatorioPacket = jsonMapper.decodeFromString(json)
val expected = FactorioEvent( val expected = FactorioEvent(
data = SurfaceData( data = SurfaceData(
name = "nauvis", name = "nauvis",
index = 1u, index = 1u,
daytime = 0.8390800000511436707029133685864508152008056640625 daytime = 0.749480000092057618843455202295444905757904052734375
), ),
eventType = "on_tick", eventType = "on_tick",
modVersion = "0.0.4", modVersion = "0.2.1",
tick = 1278480u tick = 2301240u
) )
actual shouldBeEqualToComparingFields expected actual shouldBeEqualToComparingFields expected
expected.data.objectName shouldBe "LuaSurface" expected.data.objectName shouldBe FactorioObjectData.ObjectName.LuaSurface
} }
} }
Given("json entity") { Given("LuaEntity on_player_changed_position") {
@Language("JSON") @Language("JSON")
val json = """ val json = """
{ {
"data": { "data": {
"object_name": "LuaEntity", "objectName": "LuaEntity",
"name": "character", "name": "character",
"type": "character", "type": "character",
"active": true, "active": true,
"health": 250, "health": 250,
"health_ratio": 1, "healthRatio": 1,
"surface_index": 1, "surfaceIndex": 1,
"unit_number": 1, "unitNumber": 1,
"position": { "position": {
"x": -0.25, "type": "MAP",
"y": 30.09375, "x": 37.859375,
"type": "MAP" "y": 81.14453125
} }
}, },
"event_type": "on_player_changed_position", "packetType": "EVENT",
"mod_version": "0.0.6", "eventType": "on_player_changed_position",
"factorio_version": "1.1.48", "modVersion": "0.2.1",
"tick": 1384507 "tick": 2301231
} }
""".trimIndent() """.trimIndent()
Then("parse") { Then("parse") {
val actual: FactorioEvent<FactorioObjectData> = jsonMapper.decodeFromString(json) val actual: KafkatorioPacket = jsonMapper.decodeFromString(json)
val expected = FactorioEvent( val expected = FactorioEvent(
data = EntityData( data = EntityData(
@ -135,19 +157,19 @@ class FactorioEventTest : BehaviorSpec({
unitNumber = 1u, unitNumber = 1u,
playerIndex = null, playerIndex = null,
position = PositionData( position = PositionData(
x = -0.25, x = 37.859375,
y = 30.09375, y = 81.14453125,
type = PositionType.MAP, type = PositionType.MAP,
) )
), ),
eventType = "on_player_changed_position", eventType = "on_player_changed_position",
modVersion = "0.0.6", modVersion = "0.2.1",
tick = 1384507u tick = 2301231u
) )
actual shouldBeEqualToComparingFields expected actual shouldBeEqualToComparingFields expected
expected.data.objectName shouldBe "LuaEntity" expected.data.objectName shouldBe FactorioObjectData.ObjectName.LuaEntity
} }
} }