mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-02-25 01:23:36 +00:00
76 lines
2.6 KiB
Scala
76 lines
2.6 KiB
Scala
// Copyright (c) 2017 PSForever
|
|
package game
|
|
|
|
import org.specs2.mutable._
|
|
import net.psforever.packet._
|
|
import net.psforever.packet.game._
|
|
import net.psforever.types.TransactionType
|
|
import scodec.bits._
|
|
|
|
class ItemTransactionMessageTest extends Specification {
|
|
val string_buy = hex"44 4C03 4000110070756E6973686572000000"
|
|
val string_sell = hex"44 5303 60001000004E00"
|
|
val string_forget = hex"44 BA00 600011006861726173736572000000"
|
|
|
|
"decode (buy)" in {
|
|
PacketCoding.DecodePacket(string_buy).require match {
|
|
case ItemTransactionMessage(terminal_guid, transaction_type, item_page, item_name, unk1, item_guid) =>
|
|
terminal_guid mustEqual PlanetSideGUID(844)
|
|
transaction_type mustEqual TransactionType.Buy
|
|
item_page mustEqual 0
|
|
item_name mustEqual "punisher"
|
|
unk1 mustEqual 0
|
|
item_guid mustEqual PlanetSideGUID(0)
|
|
case _ =>
|
|
ko
|
|
}
|
|
}
|
|
|
|
"decode (sell)" in {
|
|
PacketCoding.DecodePacket(string_sell).require match {
|
|
case ItemTransactionMessage(terminal_guid, transaction_type, item_page, item_name, unk1, item_guid) =>
|
|
terminal_guid mustEqual PlanetSideGUID(851)
|
|
transaction_type mustEqual TransactionType.Sell
|
|
item_page mustEqual 0
|
|
item_name mustEqual ""
|
|
unk1 mustEqual 0
|
|
item_guid mustEqual PlanetSideGUID(78)
|
|
case _ =>
|
|
ko
|
|
}
|
|
}
|
|
|
|
"decode (forget)" in {
|
|
PacketCoding.DecodePacket(string_forget).require match {
|
|
case ItemTransactionMessage(terminal_guid, transaction_type, item_page, item_name, unk1, item_guid) =>
|
|
terminal_guid mustEqual PlanetSideGUID(186)
|
|
transaction_type mustEqual TransactionType.Sell
|
|
item_page mustEqual 0
|
|
item_name mustEqual "harasser"
|
|
unk1 mustEqual 0
|
|
item_guid mustEqual PlanetSideGUID(0)
|
|
case _ =>
|
|
ko
|
|
}
|
|
}
|
|
|
|
"encode (buy)" in {
|
|
val msg_buy = ItemTransactionMessage(PlanetSideGUID(844), TransactionType.Buy, 0, "punisher", 0, PlanetSideGUID(0))
|
|
val pkt_buy = PacketCoding.EncodePacket(msg_buy).require.toByteVector
|
|
pkt_buy mustEqual string_buy
|
|
}
|
|
|
|
"encode (sell)" in {
|
|
val msg_sell = ItemTransactionMessage(PlanetSideGUID(851), TransactionType.Sell, 0, "", 0, PlanetSideGUID(78))
|
|
val pkt_sell = PacketCoding.EncodePacket(msg_sell).require.toByteVector
|
|
|
|
pkt_sell mustEqual string_sell
|
|
}
|
|
|
|
"encode (forget)" in {
|
|
val msg_forget = ItemTransactionMessage(PlanetSideGUID(186), TransactionType.Sell, 0, "harasser", 0, PlanetSideGUID(0))
|
|
val pkt_forget = PacketCoding.EncodePacket(msg_forget).require.toByteVector
|
|
|
|
pkt_forget mustEqual string_forget
|
|
}
|
|
}
|