PSF-LoginServer/common/src/test/scala/game/WeaponFireMessageTest.scala
2017-03-06 19:30:45 -05:00

38 lines
1.2 KiB
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 WeaponFireMessageTest extends Specification {
val string = hex"34 44130029272F0B5DFD4D4EC5C00009BEF78172003FC0"
"decode" in {
PacketCoding.DecodePacket(string).require match {
case WeaponFireMessage(seq_time, weapon_guid, projectile_guid, shot_origin, unk1, unk2, unk3, unk4, unk5, unk6, unk7) =>
seq_time mustEqual 68
weapon_guid mustEqual PlanetSideGUID(76)
projectile_guid mustEqual PlanetSideGUID(40100)
shot_origin mustEqual Vector3(3675.4688f, 2726.9922f, 92.921875f)
unk1 mustEqual 0
unk2 mustEqual 64294
unk3 mustEqual 1502
unk4 mustEqual 200
unk5 mustEqual 255
unk6 mustEqual 0
unk7 mustEqual None
case _ =>
ko
}
}
"encode" in {
val msg = WeaponFireMessage(68, PlanetSideGUID(76), PlanetSideGUID(40100), Vector3(3675.4688f, 2726.9922f, 92.921875f), 0, 64294, 1502, 200, 255, 0, None)
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
pkt mustEqual string
}
}