mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-03-02 11:43:39 +00:00
Interim 2 (#477)
* changed DefaultCancellable.obj with Default.Cancellable and deleted the former (as unnecessary) * changed ActorRef.noSender with Default.Actor for PlanetSideServerObject entities * Actor.noSender -> ActorRef.noSender, for consistency * player name in log messages; zoneLoaded and zoneReload flags; upstream message count * Default object tests; expanded the set current avatar loop * fallback cases for unsuccessful zone/avatar load process * completing the trials of the god Travis * forgot to reactivate kamon
This commit is contained in:
parent
765816a4d2
commit
d6397d54a1
64 changed files with 523 additions and 302 deletions
|
|
@ -1,9 +1,9 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects
|
||||
|
||||
import akka.actor.{ActorRef, Props}
|
||||
import akka.actor.Props
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.GlobalDefinitions
|
||||
import net.psforever.objects.{Default, GlobalDefinitions}
|
||||
import net.psforever.objects.serverobject.affinity.FactionAffinity
|
||||
import net.psforever.objects.serverobject.doors.{Door, DoorControl}
|
||||
import net.psforever.objects.serverobject.structures._
|
||||
|
|
@ -72,7 +72,7 @@ class BuildingTest extends Specification {
|
|||
"construct" in {
|
||||
val bldg = Building("Building", 0, 10, Zone.Nowhere, StructureType.Building)
|
||||
bldg.MapId mustEqual 10
|
||||
bldg.Actor mustEqual ActorRef.noSender
|
||||
bldg.Actor mustEqual Default.Actor
|
||||
bldg.Amenities mustEqual Nil
|
||||
bldg.Zone mustEqual Zone.Nowhere
|
||||
bldg.Faction mustEqual PlanetSideEmpire.NEUTRAL
|
||||
|
|
@ -107,7 +107,7 @@ class WarpGateTest extends Specification {
|
|||
"construct" in {
|
||||
val bldg = WarpGate("WarpGate", 0, 10, Zone.Nowhere, GlobalDefinitions.warpgate)
|
||||
bldg.MapId mustEqual 10
|
||||
bldg.Actor mustEqual ActorRef.noSender
|
||||
bldg.Actor mustEqual Default.Actor
|
||||
bldg.Amenities mustEqual Nil
|
||||
bldg.Zone mustEqual Zone.Nowhere
|
||||
bldg.Faction mustEqual PlanetSideEmpire.NEUTRAL
|
||||
|
|
@ -120,7 +120,7 @@ class BuildingControl1Test extends ActorTest {
|
|||
"construct" in {
|
||||
val bldg = Building("Building", 0, 10, Zone.Nowhere, StructureType.Building)
|
||||
bldg.Actor = system.actorOf(Props(classOf[BuildingControl], bldg), "test")
|
||||
assert(bldg.Actor != ActorRef.noSender)
|
||||
assert(bldg.Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
49
common/src/test/scala/objects/DefaultTest.scala
Normal file
49
common/src/test/scala/objects/DefaultTest.scala
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
// Copyright (c) 2020 PSForever
|
||||
package objects
|
||||
|
||||
import akka.actor.DeadLetter
|
||||
import akka.testkit.TestProbe
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.Default
|
||||
import org.specs2.mutable.Specification
|
||||
|
||||
import scala.concurrent.duration._
|
||||
|
||||
class DefaultTest extends Specification {
|
||||
"Default.Cancellable" should {
|
||||
"always act like it can be cancelled successfully" in {
|
||||
Default.Cancellable.cancel mustEqual true
|
||||
}
|
||||
|
||||
"always act like it was cancelled successfully" in {
|
||||
Default.Cancellable.isCancelled mustEqual true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class DefaultActorStartedTest extends ActorTest {
|
||||
"Default.Actor" should {
|
||||
"send messages to deadLetters" in {
|
||||
//after being started
|
||||
Default(system)
|
||||
val probe = new TestProbe(system)
|
||||
system.eventStream.subscribe(probe.ref, classOf[DeadLetter])
|
||||
Default.Actor ! "hello world"
|
||||
val msg1 = probe.receiveOne(250 milliseconds)
|
||||
assert(msg1.isInstanceOf[DeadLetter])
|
||||
assert(msg1.asInstanceOf[DeadLetter].message equals "hello world")
|
||||
|
||||
//if it was stopped
|
||||
system.stop(Default.Actor)
|
||||
Default.Actor ! "hello world"
|
||||
val msg2 = probe.receiveOne(250 milliseconds)
|
||||
assert(msg2.isInstanceOf[DeadLetter])
|
||||
assert(msg2.asInstanceOf[DeadLetter].message equals "hello world")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
object DefaultActorTest {
|
||||
//due to being a singleton, the original original value of the Default.Actor is cached here
|
||||
val Original = Default.Actor
|
||||
}
|
||||
|
|
@ -592,11 +592,11 @@ class TurretControlInitializeTest extends ActorTest {
|
|||
"initialize" in {
|
||||
val obj = new TurretDeployable(GlobalDefinitions.spitfire_turret)
|
||||
obj.GUID = PlanetSideGUID(1)
|
||||
assert(obj.Actor == ActorRef.noSender)
|
||||
assert(obj.Actor == Default.Actor)
|
||||
val init = system.actorOf(Props(classOf[DeployableTest.TurretInitializer], obj), "init_turret_test")
|
||||
init ! "initialize"
|
||||
expectNoMessage(200 milliseconds)
|
||||
assert(obj.Actor != ActorRef.noSender)
|
||||
assert(obj.Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -609,11 +609,11 @@ class TurretControlUninitializeTest extends ActorTest {
|
|||
obj.GUID = PlanetSideGUID(1)
|
||||
init ! "initialize"
|
||||
expectNoMessage(200 milliseconds)
|
||||
assert(obj.Actor != ActorRef.noSender)
|
||||
assert(obj.Actor != Default.Actor)
|
||||
|
||||
init ! "uninitialize"
|
||||
expectNoMessage(200 milliseconds)
|
||||
assert(obj.Actor == ActorRef.noSender)
|
||||
assert(obj.Actor == Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects
|
||||
|
||||
import akka.actor.{Actor, ActorSystem, Props}
|
||||
import akka.actor.{Actor, ActorRef, ActorSystem, Props}
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.serverobject.PlanetSideServerObject
|
||||
import net.psforever.objects.{GlobalDefinitions, Vehicle}
|
||||
|
|
@ -46,7 +46,7 @@ class DeploymentBehavior1Test extends ActorTest {
|
|||
"Deployment" should {
|
||||
"construct" in {
|
||||
val obj = DeploymentTest.SetUpAgent
|
||||
assert(obj.Actor != Actor.noSender)
|
||||
assert(obj.Actor != ActorRef.noSender)
|
||||
assert(obj.DeploymentState == DriveState.Mobile)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects
|
||||
|
||||
import akka.actor.{ActorRef, ActorSystem, Props}
|
||||
import akka.actor.{ActorSystem, Props}
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.{Avatar, GlobalDefinitions, Player}
|
||||
import net.psforever.objects.{Avatar, Default, GlobalDefinitions, Player}
|
||||
import net.psforever.objects.serverobject.doors.{Door, DoorControl}
|
||||
import net.psforever.objects.serverobject.structures.{Building, StructureType}
|
||||
import net.psforever.objects.zones.Zone
|
||||
|
|
@ -59,7 +59,7 @@ class DoorControl1Test extends ActorTest {
|
|||
"construct" in {
|
||||
val door = Door(GlobalDefinitions.door)
|
||||
door.Actor = system.actorOf(Props(classOf[DoorControl], door), "door")
|
||||
assert(door.Actor != ActorRef.noSender)
|
||||
assert(door.Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects
|
||||
|
||||
import akka.actor.{ActorRef, Props}
|
||||
import akka.actor.Props
|
||||
import akka.testkit.TestProbe
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.{Avatar, GlobalDefinitions, Player, Tool}
|
||||
import net.psforever.objects.{Avatar, Default, GlobalDefinitions, Player, Tool}
|
||||
import net.psforever.objects.definition.ToolDefinition
|
||||
import net.psforever.objects.guid.NumberPoolHub
|
||||
import net.psforever.objects.guid.source.LimitedNumberSource
|
||||
|
|
@ -94,7 +94,7 @@ class FacilityTurretControl1Test extends ActorTest {
|
|||
"construct" in {
|
||||
val obj = FacilityTurret(GlobalDefinitions.manned_turret)
|
||||
obj.Actor = system.actorOf(Props(classOf[FacilityTurretControl], obj), "turret-control")
|
||||
assert(obj.Actor != ActorRef.noSender)
|
||||
assert(obj.Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects
|
||||
|
||||
import akka.actor.{ActorRef, ActorSystem, Props}
|
||||
import akka.actor.{ActorSystem, Props}
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.{Avatar, Default, GlobalDefinitions, Player}
|
||||
import net.psforever.objects.serverobject.CommonMessages
|
||||
import net.psforever.objects.{Avatar, GlobalDefinitions, Player}
|
||||
import net.psforever.objects.serverobject.locks.{IFFLock, IFFLockControl}
|
||||
import net.psforever.objects.serverobject.structures.{Building, StructureType}
|
||||
import net.psforever.objects.zones.Zone
|
||||
|
|
@ -48,7 +48,7 @@ class IFFLockControl1Test extends ActorTest {
|
|||
"construct" in {
|
||||
val lock = IFFLock(GlobalDefinitions.lock_external)
|
||||
lock.Actor = system.actorOf(Props(classOf[IFFLockControl], lock), "lock-control")
|
||||
assert(lock.Actor != ActorRef.noSender)
|
||||
assert(lock.Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects
|
||||
|
||||
import akka.actor.{ActorRef, Props}
|
||||
import akka.actor.Props
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.GlobalDefinitions
|
||||
import net.psforever.objects.serverobject.affinity.FactionAffinity
|
||||
|
|
@ -19,8 +19,8 @@ class LockerTest extends Specification {
|
|||
|
||||
"Locker" should {
|
||||
"construct" in {
|
||||
val locker = new Locker()
|
||||
locker.Actor mustEqual ActorRef.noSender
|
||||
new Locker()
|
||||
ok
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ class PlayerControlRepairTest extends ActorTest {
|
|||
assert(originalArmor < player2.MaxArmor)
|
||||
|
||||
player2.Actor ! CommonMessages.Use(player1, Some(tool))
|
||||
val msg_avatar = avatarProbe.receiveN(5, 500 milliseconds)
|
||||
val msg_avatar = avatarProbe.receiveN(5, 1000 milliseconds)
|
||||
assert(
|
||||
msg_avatar.head match {
|
||||
case AvatarServiceMessage("TestCharacter1", AvatarAction.SendResponse(_, InventoryStateMessage(PlanetSideGUID(4), _, PlanetSideGUID(3), _))) => true
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects
|
||||
|
||||
import akka.actor.{ActorRef, Props}
|
||||
import akka.actor.Props
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.GlobalDefinitions
|
||||
import net.psforever.objects.{Default, GlobalDefinitions}
|
||||
import net.psforever.objects.serverobject.tube.{SpawnTube, SpawnTubeControl, SpawnTubeDefinition}
|
||||
import org.specs2.mutable.Specification
|
||||
|
||||
|
|
@ -18,7 +18,7 @@ class SpawnTubeTest extends Specification {
|
|||
"SpawnTube" should {
|
||||
"construct" in {
|
||||
val obj = SpawnTube(GlobalDefinitions.ams_respawn_tube)
|
||||
obj.Actor mustEqual ActorRef.noSender
|
||||
obj.Actor mustEqual Default.Actor
|
||||
obj.Definition mustEqual GlobalDefinitions.ams_respawn_tube
|
||||
}
|
||||
}
|
||||
|
|
@ -29,7 +29,7 @@ class SpawnTubeControlTest extends ActorTest {
|
|||
"construct" in {
|
||||
val obj = SpawnTube(GlobalDefinitions.ams_respawn_tube)
|
||||
obj.Actor = system.actorOf(Props(classOf[SpawnTubeControl], obj), "spawn-tube")
|
||||
assert(obj.Actor != ActorRef.noSender)
|
||||
assert(obj.Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class UtilityTest extends Specification {
|
|||
obj.UtilType mustEqual UtilityType.order_terminala
|
||||
obj().isInstanceOf[Terminal] mustEqual true
|
||||
obj().asInstanceOf[Terminal].Definition.ObjectId mustEqual 613
|
||||
obj().asInstanceOf[Terminal].Actor mustEqual ActorRef.noSender
|
||||
obj().asInstanceOf[Terminal].Actor mustEqual Default.Actor
|
||||
}
|
||||
|
||||
"create an order_terminalb object" in {
|
||||
|
|
@ -28,7 +28,7 @@ class UtilityTest extends Specification {
|
|||
obj.UtilType mustEqual UtilityType.order_terminalb
|
||||
obj().isInstanceOf[Terminal] mustEqual true
|
||||
obj().asInstanceOf[Terminal].Definition.ObjectId mustEqual 614
|
||||
obj().asInstanceOf[Terminal].Actor mustEqual ActorRef.noSender
|
||||
obj().asInstanceOf[Terminal].Actor mustEqual Default.Actor
|
||||
}
|
||||
|
||||
"create a matrix_terminalc object" in {
|
||||
|
|
@ -36,7 +36,7 @@ class UtilityTest extends Specification {
|
|||
obj.UtilType mustEqual UtilityType.matrix_terminalc
|
||||
obj().isInstanceOf[Terminal] mustEqual true
|
||||
obj().asInstanceOf[Terminal].Definition.ObjectId mustEqual 519
|
||||
obj().asInstanceOf[Terminal].Actor mustEqual ActorRef.noSender
|
||||
obj().asInstanceOf[Terminal].Actor mustEqual Default.Actor
|
||||
}
|
||||
|
||||
"create an ams_respawn_tube object" in {
|
||||
|
|
@ -44,7 +44,7 @@ class UtilityTest extends Specification {
|
|||
obj.UtilType mustEqual UtilityType.ams_respawn_tube
|
||||
obj().isInstanceOf[SpawnTube] mustEqual true
|
||||
obj().asInstanceOf[SpawnTube].Definition.ObjectId mustEqual 49
|
||||
obj().asInstanceOf[SpawnTube].Actor mustEqual ActorRef.noSender
|
||||
obj().asInstanceOf[SpawnTube].Actor mustEqual Default.Actor
|
||||
}
|
||||
|
||||
"create a teleportpad_terminal object" in {
|
||||
|
|
@ -52,7 +52,7 @@ class UtilityTest extends Specification {
|
|||
obj.UtilType mustEqual UtilityType.teleportpad_terminal
|
||||
obj().isInstanceOf[Terminal] mustEqual true
|
||||
obj().asInstanceOf[Terminal].Definition.ObjectId mustEqual 853
|
||||
obj().asInstanceOf[Terminal].Actor mustEqual ActorRef.noSender
|
||||
obj().asInstanceOf[Terminal].Actor mustEqual Default.Actor
|
||||
}
|
||||
|
||||
"produce a telepad object through the teleportpad_terminal" in {
|
||||
|
|
@ -78,7 +78,7 @@ class UtilityTest extends Specification {
|
|||
obj.UtilType mustEqual UtilityType.internal_router_telepad_deployable
|
||||
obj().isInstanceOf[Utility.InternalTelepad] mustEqual true
|
||||
obj().asInstanceOf[Utility.InternalTelepad].Definition.ObjectId mustEqual 744
|
||||
obj().asInstanceOf[Utility.InternalTelepad].Actor mustEqual ActorRef.noSender
|
||||
obj().asInstanceOf[Utility.InternalTelepad].Actor mustEqual Default.Actor
|
||||
}
|
||||
|
||||
"internal_router_telepad_deployable can keep track of an object's GUID (presumedly, it's a Telepad)" in {
|
||||
|
|
@ -139,11 +139,11 @@ class UtilityTerminalATest extends ActorTest {
|
|||
"wire an order_terminala Actor" in {
|
||||
val obj = Utility(UtilityType.order_terminala, UtilityTest.vehicle)
|
||||
obj().GUID = PlanetSideGUID(1)
|
||||
assert(obj().Actor == ActorRef.noSender)
|
||||
assert(obj().Actor == Default.Actor)
|
||||
|
||||
system.actorOf(Props(classOf[UtilityTest.SetupControl], obj), "test") ! ""
|
||||
receiveOne(Duration.create(500, "ms")) //consume and discard
|
||||
assert(obj().Actor != ActorRef.noSender)
|
||||
assert(obj().Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -153,11 +153,11 @@ class UtilityTerminalBTest extends ActorTest {
|
|||
"wire an order_terminalb Actor" in {
|
||||
val obj = Utility(UtilityType.order_terminalb, UtilityTest.vehicle)
|
||||
obj().GUID = PlanetSideGUID(1)
|
||||
assert(obj().Actor == ActorRef.noSender)
|
||||
assert(obj().Actor == Default.Actor)
|
||||
|
||||
system.actorOf(Props(classOf[UtilityTest.SetupControl], obj), "test") ! ""
|
||||
receiveOne(Duration.create(500, "ms")) //consume and discard
|
||||
assert(obj().Actor != ActorRef.noSender)
|
||||
assert(obj().Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -167,11 +167,11 @@ class UtilityTerminalCTest extends ActorTest {
|
|||
"wire a matrix_terminalc Actor" in {
|
||||
val obj = Utility(UtilityType.matrix_terminalc, UtilityTest.vehicle)
|
||||
obj().GUID = PlanetSideGUID(1)
|
||||
assert(obj().Actor == ActorRef.noSender)
|
||||
assert(obj().Actor == Default.Actor)
|
||||
|
||||
system.actorOf(Props(classOf[UtilityTest.SetupControl], obj), "test") ! ""
|
||||
receiveOne(Duration.create(500, "ms")) //consume and discard
|
||||
assert(obj().Actor != ActorRef.noSender)
|
||||
assert(obj().Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -181,11 +181,11 @@ class UtilityRespawnTubeTest extends ActorTest {
|
|||
"wire an ams_respawn_tube Actor" in {
|
||||
val obj = Utility(UtilityType.ams_respawn_tube, UtilityTest.vehicle)
|
||||
obj().GUID = PlanetSideGUID(1)
|
||||
assert(obj().Actor == ActorRef.noSender)
|
||||
assert(obj().Actor == Default.Actor)
|
||||
|
||||
system.actorOf(Props(classOf[UtilityTest.SetupControl], obj), "test") ! ""
|
||||
receiveOne(Duration.create(500, "ms")) //consume and discard
|
||||
assert(obj().Actor != ActorRef.noSender)
|
||||
assert(obj().Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -195,11 +195,11 @@ class UtilityTelepadTerminalTest extends ActorTest {
|
|||
"wire a teleportpad_terminal Actor" in {
|
||||
val obj = Utility(UtilityType.teleportpad_terminal, UtilityTest.vehicle)
|
||||
obj().GUID = PlanetSideGUID(1)
|
||||
assert(obj().Actor == ActorRef.noSender)
|
||||
assert(obj().Actor == Default.Actor)
|
||||
|
||||
system.actorOf(Props(classOf[UtilityTest.SetupControl], obj), "test") ! ""
|
||||
receiveOne(Duration.create(500, "ms")) //consume and discard
|
||||
assert(obj().Actor != ActorRef.noSender)
|
||||
assert(obj().Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -211,12 +211,12 @@ class UtilityInternalTelepadTest extends ActorTest {
|
|||
veh.GUID = PlanetSideGUID(101)
|
||||
val obj = Utility(UtilityType.internal_router_telepad_deployable, veh)
|
||||
obj().GUID = PlanetSideGUID(1)
|
||||
assert(obj().Actor == ActorRef.noSender)
|
||||
assert(obj().Actor == Default.Actor)
|
||||
assert(obj().asInstanceOf[Utility.InternalTelepad].Router.contains(veh.GUID))
|
||||
|
||||
system.actorOf(Props(classOf[UtilityTest.SetupControl], obj), "test") ! ""
|
||||
receiveOne(Duration.create(500, "ms")) //consume and discard
|
||||
assert(obj().Actor != ActorRef.noSender)
|
||||
assert(obj().Actor != Default.Actor)
|
||||
assert(obj().asInstanceOf[Utility.InternalTelepad].Router.contains(veh.GUID))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects
|
||||
|
||||
import akka.actor.ActorRef
|
||||
import net.psforever.objects.{Default, GlobalDefinitions}
|
||||
import net.psforever.objects.serverobject.pad.VehicleSpawnPad
|
||||
import net.psforever.objects.GlobalDefinitions
|
||||
import org.specs2.mutable.Specification
|
||||
|
||||
class VehicleSpawnPadTest extends Specification {
|
||||
|
|
@ -16,7 +15,7 @@ class VehicleSpawnPadTest extends Specification {
|
|||
"VehicleSpawnPad" should {
|
||||
"construct" in {
|
||||
val obj = VehicleSpawnPad(GlobalDefinitions.mb_pad_creation)
|
||||
obj.Actor mustEqual ActorRef.noSender
|
||||
obj.Actor mustEqual Default.Actor
|
||||
obj.Definition mustEqual GlobalDefinitions.mb_pad_creation
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,10 +92,6 @@ class ZoneTest extends Specification {
|
|||
"Zone" should {
|
||||
"construct" in {
|
||||
val zone = new Zone("home3", map13, 13)
|
||||
zone.GUID mustEqual ActorRef.noSender
|
||||
zone.Ground mustEqual ActorRef.noSender
|
||||
zone.Transport mustEqual ActorRef.noSender
|
||||
//zone also has a unique identifier system but it can't be accessed without its the Actor GUID being initialized
|
||||
zone.EquipmentOnGround mustEqual List.empty[Equipment]
|
||||
zone.Vehicles mustEqual List.empty[Vehicle]
|
||||
zone.Players mustEqual List.empty[Player]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects.number
|
||||
|
||||
import akka.actor.Actor
|
||||
import akka.actor.ActorRef
|
||||
import net.psforever.objects.guid.actor.Register
|
||||
import org.specs2.mutable.Specification
|
||||
|
||||
|
|
@ -18,11 +18,11 @@ class RegisterTest extends Specification {
|
|||
}
|
||||
|
||||
"construct (object, callback)" in {
|
||||
val reg = Register(obj, Actor.noSender)
|
||||
val reg = Register(obj, ActorRef.noSender)
|
||||
reg.obj mustEqual obj
|
||||
reg.number.isEmpty mustEqual true
|
||||
reg.name.isEmpty mustEqual true
|
||||
reg.callback.contains(Actor.noSender) mustEqual true
|
||||
reg.callback.contains(ActorRef.noSender) mustEqual true
|
||||
}
|
||||
|
||||
"construct (object, suggested number)" in {
|
||||
|
|
@ -34,11 +34,11 @@ class RegisterTest extends Specification {
|
|||
}
|
||||
|
||||
"construct (object, suggested number, callback)" in {
|
||||
val reg = Register(obj, 5, Actor.noSender)
|
||||
val reg = Register(obj, 5, ActorRef.noSender)
|
||||
reg.obj mustEqual obj
|
||||
reg.number.contains(5) mustEqual true
|
||||
reg.name.isEmpty mustEqual true
|
||||
reg.callback.contains(Actor.noSender) mustEqual true
|
||||
reg.callback.contains(ActorRef.noSender) mustEqual true
|
||||
}
|
||||
|
||||
"construct (object, pool name)" in {
|
||||
|
|
@ -50,11 +50,11 @@ class RegisterTest extends Specification {
|
|||
}
|
||||
|
||||
"construct (object, pool name, callback)" in {
|
||||
val reg = Register(obj, "pool", Actor.noSender)
|
||||
val reg = Register(obj, "pool", ActorRef.noSender)
|
||||
reg.obj mustEqual obj
|
||||
reg.number.isEmpty mustEqual true
|
||||
reg.name.contains("pool") mustEqual true
|
||||
reg.callback.contains(Actor.noSender) mustEqual true
|
||||
reg.callback.contains(ActorRef.noSender) mustEqual true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects.terminal
|
||||
|
||||
import akka.actor.{ActorRef, ActorSystem, Props}
|
||||
import akka.actor.{ActorSystem, Props}
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.{Avatar, Default, GlobalDefinitions, Player}
|
||||
import net.psforever.objects.definition.SeatDefinition
|
||||
import net.psforever.objects.guid.NumberPoolHub
|
||||
import net.psforever.objects.guid.source.LimitedNumberSource
|
||||
|
|
@ -12,7 +13,6 @@ import net.psforever.objects.serverobject.structures.{Building, StructureType}
|
|||
import net.psforever.objects.serverobject.terminals.Terminal
|
||||
import net.psforever.objects.vehicles.Seat
|
||||
import net.psforever.objects.zones.{Zone, ZoneMap}
|
||||
import net.psforever.objects.{Avatar, GlobalDefinitions, Player}
|
||||
import net.psforever.types.{CharacterGender, CharacterVoice, PlanetSideEmpire, Vector3}
|
||||
import org.specs2.mutable.Specification
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ class ImplantTerminalMechTest extends Specification {
|
|||
"Implant_Terminal_Mech" should {
|
||||
"construct" in {
|
||||
val obj = ImplantTerminalMech(GlobalDefinitions.implant_terminal_mech)
|
||||
obj.Actor mustEqual ActorRef.noSender
|
||||
obj.Actor mustEqual Default.Actor
|
||||
obj.Definition mustEqual GlobalDefinitions.implant_terminal_mech
|
||||
obj.Seats.keySet mustEqual Set(0)
|
||||
obj.Seats(0).isInstanceOf[Seat] mustEqual true
|
||||
|
|
@ -65,7 +65,7 @@ class ImplantTerminalMechControl1Test extends ActorTest {
|
|||
"construct" in {
|
||||
val obj = ImplantTerminalMech(GlobalDefinitions.implant_terminal_mech)
|
||||
obj.Actor = system.actorOf(Props(classOf[ImplantTerminalMechControl], obj), "mech")
|
||||
assert(obj.Actor != ActorRef.noSender)
|
||||
assert(obj.Actor != Default.Actor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import base.ActorTest
|
|||
import net.psforever.objects.{GlobalDefinitions, SensorDeployable, Vehicle}
|
||||
import net.psforever.objects.serverobject.PlanetSideServerObject
|
||||
import net.psforever.objects.serverobject.terminals.{ProximityTerminal, Terminal}
|
||||
import net.psforever.objects.vehicles.VehicleControl
|
||||
import net.psforever.objects.zones.Zone
|
||||
import net.psforever.packet.game._
|
||||
import net.psforever.types.{PlanetSideEmpire, PlanetSideGUID, Vector3}
|
||||
|
|
@ -206,6 +207,7 @@ class ToggleTeleportSystemTest extends ActorTest {
|
|||
"LocalService" should {
|
||||
"pass ToggleTeleportSystem" in {
|
||||
val router = Vehicle(GlobalDefinitions.router)
|
||||
router.Actor = system.actorOf(Props(classOf[VehicleControl], router), "test-router")
|
||||
val service = system.actorOf(Props(classOf[LocalService], Zone.Nowhere), "l_service")
|
||||
service ! Service.Join("test")
|
||||
service ! LocalServiceMessage("test", LocalAction.ToggleTeleportSystem(PlanetSideGUID(10), router, None))
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ package service
|
|||
import akka.actor.Props
|
||||
import base.ActorTest
|
||||
import net.psforever.objects._
|
||||
import net.psforever.objects.vehicles.VehicleControl
|
||||
import net.psforever.objects.zones.Zone
|
||||
import net.psforever.types.{PlanetSideGUID, _}
|
||||
import services.{Service, ServiceManager}
|
||||
|
|
@ -171,6 +172,7 @@ class KickPassengerTest extends ActorTest {
|
|||
class LoadVehicleTest extends ActorTest {
|
||||
ServiceManager.boot(system)
|
||||
val vehicle = Vehicle(GlobalDefinitions.quadstealth)
|
||||
vehicle.Actor = system.actorOf(Props(classOf[VehicleControl], vehicle), "test-vehicle")
|
||||
val cdata = vehicle.Definition.Packet.ConstructorData(vehicle).get
|
||||
|
||||
"VehicleService" should {
|
||||
|
|
@ -260,6 +262,7 @@ class TransferPassengerChannelTest extends ActorTest {
|
|||
"pass TransferPassengerChannel" in {
|
||||
val service = system.actorOf(Props(classOf[VehicleService], Zone.Nowhere), "v-service")
|
||||
val fury = Vehicle(GlobalDefinitions.fury)
|
||||
fury.Actor = system.actorOf(Props(classOf[VehicleControl], fury), "test-fury")
|
||||
service ! Service.Join("test")
|
||||
service ! VehicleServiceMessage("test", VehicleAction.TransferPassengerChannel(PlanetSideGUID(10), "old_channel", "new_channel", fury, PlanetSideGUID(11)))
|
||||
expectMsg(VehicleServiceResponse("/test/Vehicle", PlanetSideGUID(10), VehicleResponse.TransferPassengerChannel("old_channel", "new_channel", fury, PlanetSideGUID(11))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue