PSF-LoginServer/common/src/test/scala/game/objectcreate/BoomerTriggerDataTest.scala
FateJH 3aee0ab4e8 added and expanded tests in hopes of increasing code coverage score
added tests for AvatarService and PacketCodingActor; especially PCA tests
2017-12-06 19:51:43 -05:00

38 lines
1.4 KiB
Scala

// Copyright (c) 2017 PSForever
package game.objectcreate
import net.psforever.packet.PacketCoding
import net.psforever.packet.game.{ObjectCreateMessage, PlanetSideGUID}
import net.psforever.packet.game.objectcreate._
import org.specs2.mutable._
import scodec.bits._
class BoomerTriggerDataTest extends Specification {
val string_boomertrigger = hex"17 76000000 58084A8100E80C00000000" //reconstructed from an inventory entry
"BoomerTriggerData" should {
"decode (held)" in {
PacketCoding.DecodePacket(string_boomertrigger).require match {
case ObjectCreateMessage(len, cls, guid, parent, data) =>
len mustEqual 118
cls mustEqual ObjectClass.boomer_trigger
guid mustEqual PlanetSideGUID(3600)
parent.isDefined mustEqual true
parent.get.guid mustEqual PlanetSideGUID(4272)
parent.get.slot mustEqual 0
data.isDefined mustEqual true
data.get.isInstanceOf[BoomerTriggerData] mustEqual true
data.get.asInstanceOf[BoomerTriggerData].unk mustEqual 0
case _ =>
ko
}
}
"encode (held)" in {
val obj = BoomerTriggerData(0)
val msg = ObjectCreateMessage(ObjectClass.boomer_trigger, PlanetSideGUID(3600), ObjectCreateMessageParent(PlanetSideGUID(4272), 0), obj)
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
pkt mustEqual string_boomertrigger
}
}
}