From 72b7c35b3f1b5da0b22d38947008f3ec0aaff2a4 Mon Sep 17 00:00:00 2001 From: FateJH Date: Thu, 1 Mar 2018 10:39:34 -0500 Subject: [PATCH] tests and corrections --- .../serverobject/tube/SpawnTubeControl.scala | 2 +- .../tube/SpawnTubeDefinition.scala | 2 +- .../scala/game/SpawnRequestMessageTest.scala | 31 +++++++++++++++++++ .../test/scala/objects/ConverterTest.scala | 21 +++++++++++++ 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 common/src/test/scala/game/SpawnRequestMessageTest.scala diff --git a/common/src/main/scala/net/psforever/objects/serverobject/tube/SpawnTubeControl.scala b/common/src/main/scala/net/psforever/objects/serverobject/tube/SpawnTubeControl.scala index 2c15119f3..5b47ffe4c 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/tube/SpawnTubeControl.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/tube/SpawnTubeControl.scala @@ -14,4 +14,4 @@ class SpawnTubeControl(tube : SpawnTube) extends Actor with FactionAffinityBehav def receive : Receive = checkBehavior.orElse { case _ =>; } override def toString : String = tube.Definition.Name -} \ No newline at end of file +} diff --git a/common/src/main/scala/net/psforever/objects/serverobject/tube/SpawnTubeDefinition.scala b/common/src/main/scala/net/psforever/objects/serverobject/tube/SpawnTubeDefinition.scala index 33937ec83..774449c03 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/tube/SpawnTubeDefinition.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/tube/SpawnTubeDefinition.scala @@ -23,4 +23,4 @@ object SpawnTubeDefinition { obj.Actor = context.actorOf(Props(classOf[SpawnTubeControl], obj), s"${obj.Definition.Name}_${obj.GUID.guid}") } } -} \ No newline at end of file +} diff --git a/common/src/test/scala/game/SpawnRequestMessageTest.scala b/common/src/test/scala/game/SpawnRequestMessageTest.scala new file mode 100644 index 000000000..adab70f24 --- /dev/null +++ b/common/src/test/scala/game/SpawnRequestMessageTest.scala @@ -0,0 +1,31 @@ +// Copyright (c) 2017 PSForever +package game + +import org.specs2.mutable._ +import net.psforever.packet._ +import net.psforever.packet.game._ +import scodec.bits._ + +class SpawnRequestMessageTest extends Specification { + val string = hex"4a000007000000000000000200" + + "decode" in { + PacketCoding.DecodePacket(string).require match { + case SpawnRequestMessage(unk1,unk2,unk3,unk4,unk5) => + unk1 mustEqual 0 + unk2 mustEqual 7 + unk3 mustEqual 0 + unk4 mustEqual 0 + unk5 mustEqual 2 + case _ => + ko + } + } + + "encode" in { + val msg = SpawnRequestMessage(0, 7, 0, 0, 2) + val pkt = PacketCoding.EncodePacket(msg).require.toByteVector + + pkt mustEqual string + } +} diff --git a/common/src/test/scala/objects/ConverterTest.scala b/common/src/test/scala/objects/ConverterTest.scala index aece5b179..57d8fc863 100644 --- a/common/src/test/scala/objects/ConverterTest.scala +++ b/common/src/test/scala/objects/ConverterTest.scala @@ -8,6 +8,7 @@ import net.psforever.objects.equipment.CItem.{DeployedItem, Unit} import net.psforever.objects.equipment._ import net.psforever.objects.inventory.InventoryTile import net.psforever.objects.serverobject.terminals.Terminal +import net.psforever.objects.serverobject.tube.SpawnTube import net.psforever.packet.game.PlanetSideGUID import net.psforever.packet.game.objectcreate._ import net.psforever.types.{CharacterGender, PlanetSideEmpire, Vector3} @@ -296,6 +297,26 @@ class ConverterTest extends Specification { } } + "Spawn Tube" should { + "convert to packet" in { + val obj = SpawnTube(GlobalDefinitions.ams_respawn_tube) + + obj.Definition.Packet.DetailedConstructorData(obj) match { + case Failure(err) => + err.isInstanceOf[NoSuchMethodException] mustEqual true + case _ => + ko + } + + obj.Definition.Packet.ConstructorData(obj) match { + case Success(pkt) => + pkt mustEqual CommonTerminalData(PlanetSideEmpire.NEUTRAL) + case _ => + ko + } + } + } + "Vehicle" should { "convert to packet (1)" in { val hellfire_ammo = AmmoBoxDefinition(Ammo.hellfire_ammo.id)