2017-04-20 19:02:54 -04:00
|
|
|
// Copyright (c) 2017 PSForever
|
|
|
|
|
package game
|
|
|
|
|
|
|
|
|
|
import org.specs2.mutable._
|
|
|
|
|
import net.psforever.packet._
|
|
|
|
|
import net.psforever.packet.game._
|
|
|
|
|
import scodec.bits._
|
|
|
|
|
|
|
|
|
|
class ChildObjectStateMessageTest extends Specification {
|
|
|
|
|
val string = hex"1E 640B 06 47"
|
|
|
|
|
|
|
|
|
|
"decode" in {
|
|
|
|
|
PacketCoding.DecodePacket(string).require match {
|
|
|
|
|
case ChildObjectStateMessage(object_guid, pitch, yaw) =>
|
|
|
|
|
object_guid mustEqual PlanetSideGUID(2916)
|
2017-07-04 21:44:24 -04:00
|
|
|
pitch mustEqual 343.125f
|
|
|
|
|
yaw mustEqual 160.3125f
|
2017-04-20 19:02:54 -04:00
|
|
|
case _ =>
|
|
|
|
|
ko
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
"encode" in {
|
2017-07-04 21:44:24 -04:00
|
|
|
val msg = ChildObjectStateMessage(PlanetSideGUID(2916), 343.125f, 160.3125f)
|
2017-04-20 19:02:54 -04:00
|
|
|
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
|
|
|
|
|
|
|
|
|
pkt mustEqual string
|
|
|
|
|
}
|
|
|
|
|
}
|