mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-03-06 05:30:21 +00:00
49 lines
1.5 KiB
Scala
49 lines
1.5 KiB
Scala
// Copyright (c) 2017 PSForever
|
|
package game
|
|
|
|
import org.specs2.mutable._
|
|
import net.psforever.packet._
|
|
import net.psforever.packet.game._
|
|
import scodec.bits._
|
|
|
|
class AvatarSearchCriteriaMessageTest extends Specification {
|
|
val string = hex"64 C604 00 00 00 00 00 00"
|
|
|
|
"decode" in {
|
|
PacketCoding.DecodePacket(string).require match {
|
|
case AvatarSearchCriteriaMessage(unk1, unk2) =>
|
|
unk1 mustEqual PlanetSideGUID(1222)
|
|
unk2.length mustEqual 6
|
|
unk2.head mustEqual 0
|
|
unk2(1) mustEqual 0
|
|
unk2(2) mustEqual 0
|
|
unk2(3) mustEqual 0
|
|
unk2(4) mustEqual 0
|
|
unk2(5) mustEqual 0
|
|
case _ =>
|
|
ko
|
|
}
|
|
}
|
|
|
|
"encode" in {
|
|
val msg = AvatarSearchCriteriaMessage(PlanetSideGUID(1222), List(0, 0, 0, 0, 0, 0))
|
|
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
|
|
|
pkt mustEqual string
|
|
}
|
|
|
|
"encode (failure; wrong number of list entries)" in {
|
|
val msg = AvatarSearchCriteriaMessage(PlanetSideGUID(1222), List(0))
|
|
PacketCoding.EncodePacket(msg).isSuccessful mustEqual false
|
|
}
|
|
|
|
"encode (failure; list number too big)" in {
|
|
val msg = AvatarSearchCriteriaMessage(PlanetSideGUID(1222), List(0, 0, 0, 0, 0, 256))
|
|
PacketCoding.EncodePacket(msg).isSuccessful mustEqual false
|
|
}
|
|
|
|
"encode (failure; list number too small)" in {
|
|
val msg = AvatarSearchCriteriaMessage(PlanetSideGUID(1222), List(0, 0, 0, -1, 0, 0))
|
|
PacketCoding.EncodePacket(msg).isSuccessful mustEqual false
|
|
}
|
|
}
|