// Copyright (c) 2021 PSForever package game import org.specs2.mutable._ import net.psforever.packet._ import net.psforever.packet.game._ import net.psforever.types.{PlanetSideGUID, Vector3} import scodec.bits._ class GenericObjectActionAtPositionMessageTest extends Specification { val string = hex"d4 d504 09 00060 00110 000e" //faked "decode" in { PacketCoding.decodePacket(string).require match { case GenericObjectActionAtPositionMessage(object_guid, action, pos) => object_guid mustEqual PlanetSideGUID(1237) action mustEqual 9 pos mustEqual Vector3(12f, 34f, 56f) case _ => ko } } "encode" in { val msg = GenericObjectActionAtPositionMessage(PlanetSideGUID(1237), 9, Vector3(12f, 34f, 56f)) val pkt = PacketCoding.encodePacket(msg).require.toByteVector pkt mustEqual string } }