Merge pull request #137 from Fate-JH/targeting-info

Packet: TargetingInfoMessage
This commit is contained in:
Fate-JH 2017-05-03 09:25:01 -04:00 committed by GitHub
commit 461a4f9507
3 changed files with 184 additions and 1 deletions

View file

@ -0,0 +1,54 @@
// Copyright (c) 2017 PSForever
package game
import org.specs2.mutable._
import net.psforever.packet._
import net.psforever.packet.game._
import scodec.bits._
class TargetingInfoMessageTest extends Specification {
val string = hex"50 05 3D10C200 570EFF3C 2406EC00 2B068C00 2A069400"
"decode" in {
PacketCoding.DecodePacket(string).require match {
case TargetingInfoMessage(target_list) =>
target_list.size mustEqual 5
//0
target_list.head.target_guid mustEqual PlanetSideGUID(4157)
target_list.head.health mustEqual 0.7607844f
target_list.head.armor mustEqual 0f
//1
target_list(1).target_guid mustEqual PlanetSideGUID(3671)
target_list(1).health mustEqual 1.0000001f
target_list(1).armor mustEqual 0.23529413f
//2
target_list(2).target_guid mustEqual PlanetSideGUID(1572)
target_list(2).health mustEqual 0.92549026f
target_list(2).armor mustEqual 0f
//3
target_list(3).target_guid mustEqual PlanetSideGUID(1579)
target_list(3).health mustEqual 0.54901963f
target_list(3).armor mustEqual 0f
//4
target_list(4).target_guid mustEqual PlanetSideGUID(1578)
target_list(4).health mustEqual 0.5803922f
target_list(4).armor mustEqual 0f
case _ =>
ko
}
}
"encode" in {
val msg = TargetingInfoMessage(
TargetInfo(PlanetSideGUID(4157), 0.7607844f) ::
TargetInfo(PlanetSideGUID(3671), 1.0000001f, 0.23529413f) ::
TargetInfo(PlanetSideGUID(1572), 0.92549026f) ::
TargetInfo(PlanetSideGUID(1579), 0.54901963f) ::
TargetInfo(PlanetSideGUID(1578), 0.5803922f) ::
Nil
)
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
pkt mustEqual string
}
}