diff --git a/common/src/main/scala/net/psforever/objects/serverobject/terminals/MatrixTerminalDefinition.scala b/common/src/main/scala/net/psforever/objects/serverobject/terminals/MatrixTerminalDefinition.scala index f6d45e82..047e786d 100644 --- a/common/src/main/scala/net/psforever/objects/serverobject/terminals/MatrixTerminalDefinition.scala +++ b/common/src/main/scala/net/psforever/objects/serverobject/terminals/MatrixTerminalDefinition.scala @@ -20,7 +20,7 @@ class MatrixTerminalDefinition(object_id : Int) extends TerminalDefinition(objec "matrix_terminalc" } else { - throw new IllegalArgumentException("terminal must be either object id 613 or object id 614") + throw new IllegalArgumentException("terminal must be object id 517-519") } override def Buy(player : Player, msg : ItemTransactionMessage) : Terminal.Exchange = Terminal.NoDeal() diff --git a/common/src/test/scala/objects/terminal/MatrixTerminalTest.scala b/common/src/test/scala/objects/terminal/MatrixTerminalTest.scala new file mode 100644 index 00000000..a574c79e --- /dev/null +++ b/common/src/test/scala/objects/terminal/MatrixTerminalTest.scala @@ -0,0 +1,63 @@ +// Copyright (c) 2017 PSForever +package objects.terminal + +import akka.actor.ActorRef +import net.psforever.objects.serverobject.terminals.{MatrixTerminalDefinition, Terminal} +import net.psforever.objects.{GlobalDefinitions, Player, Vehicle} +import net.psforever.packet.game.{ItemTransactionMessage, PlanetSideGUID} +import net.psforever.types._ +import org.specs2.mutable.Specification + +class MatrixTerminalTest extends Specification { + "MatrixTerminal" should { + "define (a)" in { + val a = new MatrixTerminalDefinition(517) + a.ObjectId mustEqual 517 + a.Name mustEqual "matrix_terminala" + } + + "define (b)" in { + val b = new MatrixTerminalDefinition(518) + b.ObjectId mustEqual 518 + b.Name mustEqual "matrix_terminalb" + } + + "define (b)" in { + val b = new MatrixTerminalDefinition(519) + b.ObjectId mustEqual 519 + b.Name mustEqual "matrix_terminalc" + } + + "define (invalid)" in { + var id : Int = (math.random * Int.MaxValue).toInt + if(id == 517) { + id += 3 + } + else if(id == 518) { + id += 2 + } + else if(id == 519) { + id += 1 + } + + new MatrixTerminalDefinition(id) must throwA[IllegalArgumentException] + } + } + + "Matrix_Terminal" should { + val terminal = Terminal(GlobalDefinitions.matrix_terminalc) + terminal.Owner = Vehicle(GlobalDefinitions.quadstealth) + terminal.Owner.Faction = PlanetSideEmpire.TR + + "construct" in { + terminal.Actor mustEqual ActorRef.noSender + } + + "player can not buy (anything)" in { + val player = Player("test", PlanetSideEmpire.TR, CharacterGender.Male, 0, 0) + val msg = ItemTransactionMessage(PlanetSideGUID(1), TransactionType.Buy, 1, "lite_armor", 0, PlanetSideGUID(0)) + + terminal.Request(player, msg) mustEqual Terminal.NoDeal() + } + } +}