PSF-LoginServer/common/src/test/scala/game/DeployObjectMessageTest.scala

36 lines
1,018 B
Scala

// Copyright (c) 2017 PSForever
package game
import org.specs2.mutable._
import net.psforever.packet._
import net.psforever.packet.game._
import net.psforever.types.Vector3
import scodec.bits._
class DeployObjectMessageTest extends Specification {
val string = hex"5d 740b e8030000 a644b 6e3c6 7e18 00 00 3f 01000000"
"decode" in {
PacketCoding.DecodePacket(string).require match {
case DeployObjectMessage(guid, unk1, pos, roll, pitch, yaw, unk2) =>
guid mustEqual PlanetSideGUID(2932)
unk1 mustEqual 1000L
pos.x mustEqual 5769.297f
pos.y mustEqual 3192.8594f
pos.z mustEqual 97.96875f
roll mustEqual 0
pitch mustEqual 0
yaw mustEqual 63
unk2 mustEqual 1L
case _ =>
ko
}
}
"encode" in {
val msg = DeployObjectMessage(PlanetSideGUID(2932), 1000L, Vector3(5769.297f, 3192.8594f, 97.96875f), 0, 0, 63, 1L)
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
pkt mustEqual string
}
}