mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-03-03 12:10:22 +00:00
53 lines
1.5 KiB
Scala
53 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 OxygenStateMessageTest extends Specification {
|
|
val string_self = hex"78 4b00f430"
|
|
val string_vehicle = hex"78 4b00f4385037a180"
|
|
|
|
"decode (self)" in {
|
|
PacketCoding.DecodePacket(string_self).require match {
|
|
case OxygenStateMessage(guid, progress, active, veh_state) =>
|
|
guid mustEqual PlanetSideGUID(75)
|
|
progress mustEqual 50.0
|
|
active mustEqual true
|
|
veh_state.isDefined mustEqual false
|
|
case _ =>
|
|
ko
|
|
}
|
|
}
|
|
|
|
"decode (vehicle)" in {
|
|
PacketCoding.DecodePacket(string_vehicle).require match {
|
|
case OxygenStateMessage(guid, progress, active, veh_state) =>
|
|
guid mustEqual PlanetSideGUID(75)
|
|
progress mustEqual 50.0f
|
|
active mustEqual true
|
|
veh_state.isDefined mustEqual true
|
|
veh_state.get.vehicle_guid mustEqual PlanetSideGUID(1546)
|
|
veh_state.get.progress mustEqual 50.0f
|
|
veh_state.get.active mustEqual true
|
|
case _ =>
|
|
ko
|
|
}
|
|
}
|
|
|
|
"encode (self)" in {
|
|
val msg = OxygenStateMessage(PlanetSideGUID(75), 50.0f, true)
|
|
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
|
|
|
pkt mustEqual string_self
|
|
}
|
|
|
|
"encode (vehicle)" in {
|
|
val msg = OxygenStateMessage(PlanetSideGUID(75), 50.0f, true, WaterloggedVehicleState(PlanetSideGUID(1546), 50.0f, true))
|
|
val pkt = PacketCoding.EncodePacket(msg).require.toByteVector
|
|
|
|
pkt mustEqual string_vehicle
|
|
}
|
|
}
|