2017-03-06 19:30:45 -05:00
|
|
|
// Copyright (c) 2017 PSForever
|
2017-03-05 14:39:04 -05:00
|
|
|
package game
|
|
|
|
|
|
|
|
|
|
import org.specs2.mutable._
|
|
|
|
|
import net.psforever.packet._
|
|
|
|
|
import net.psforever.packet.game._
|
2020-01-06 08:45:55 -05:00
|
|
|
import net.psforever.types.PlanetSideGUID
|
2017-03-05 14:39:04 -05:00
|
|
|
import scodec.bits._
|
|
|
|
|
|
|
|
|
|
class AvatarImplantMessageTest extends Specification {
|
|
|
|
|
val string = hex"58 630C 68 80"
|
|
|
|
|
|
|
|
|
|
"decode" in {
|
|
|
|
|
PacketCoding.DecodePacket(string).require match {
|
|
|
|
|
case AvatarImplantMessage(player_guid, unk1, unk2, implant) =>
|
|
|
|
|
player_guid mustEqual PlanetSideGUID(3171)
|
2018-03-08 10:26:36 -05:00
|
|
|
unk1 mustEqual ImplantAction.Activation
|
2017-03-05 14:39:04 -05:00
|
|
|
unk2 mustEqual 1
|
2017-10-02 17:01:49 +02:00
|
|
|
implant mustEqual 1
|
2017-03-05 14:39:04 -05:00
|
|
|
case _ =>
|
|
|
|
|
ko
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
"encode" in {
|
2018-03-08 10:26:36 -05:00
|
|
|
val msg = AvatarImplantMessage(PlanetSideGUID(3171), ImplantAction.Activation, 1, 1)
|
2017-03-05 14:39:04 -05:00
|
|
|
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
|
|
|
|
|
|
|
|
|
pkt mustEqual string
|
|
|
|
|
}
|
|
|
|
|
}
|