PSF-BotServer/common/src/test/scala/game/HackMessageTest.scala

35 lines
1 KiB
Scala
Raw Normal View History

2017-10-06 23:34:37 -05:00
// Copyright (c) 2017 PSForever
package game
import org.specs2.mutable._
import net.psforever.packet._
import net.psforever.packet.game._
import net.psforever.types.PlanetSideGUID
2017-10-06 23:34:37 -05:00
import scodec.bits._
class HackMessageTest extends Specification {
// Record 62 in PSCap-hack-door-tower.gcap
val string = hex"54 000105c3800000202fc04200000000"
"decode" in {
PacketCoding.DecodePacket(string).require match {
case HackMessage(unk1, target_guid, player_guid, progress, unk5, hack_state, unk7) =>
2017-10-06 23:34:37 -05:00
unk1 mustEqual 0
target_guid mustEqual PlanetSideGUID(1024)
player_guid mustEqual PlanetSideGUID(3607)
progress mustEqual 0
2017-10-06 23:34:37 -05:00
unk5 mustEqual 3212836864L
hack_state mustEqual HackState.Start
2017-10-06 23:34:37 -05:00
unk7 mustEqual 8L
case _ =>
ko
}
}
"encode" in {
val msg = HackMessage(0, PlanetSideGUID(1024), PlanetSideGUID(3607), 0, 3212836864L, HackState.Start, 8L)
2017-10-06 23:34:37 -05:00
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
pkt mustEqual string
}
}