mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-07-09 05:24:40 +00:00
broke up GUIDTask tests into separate files; attempting to increase code coverage by modifying the first registering test
This commit is contained in:
parent
ab2e2959b5
commit
e62adc4bc1
12 changed files with 339 additions and 245 deletions
45
common/src/test/scala/objects/guidtask/GUIDTaskTest.scala
Normal file
45
common/src/test/scala/objects/guidtask/GUIDTaskTest.scala
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
// Copyright (c) 2017 PSForever
|
||||
package objects.guidtask
|
||||
|
||||
import java.util.logging.LogManager
|
||||
|
||||
import akka.actor.{ActorRef, ActorSystem, Props}
|
||||
import akka.testkit.TestProbe
|
||||
import net.psforever.objects.entity.IdentifiableEntity
|
||||
import net.psforever.objects.guid.actor.{NumberPoolActor, UniqueNumberSystem}
|
||||
import net.psforever.objects.guid.selector.RandomSelector
|
||||
import net.psforever.objects.guid.source.LimitedNumberSource
|
||||
import net.psforever.objects.guid.{NumberPoolHub, Task, TaskResolver}
|
||||
|
||||
object GUIDTaskTest {
|
||||
class TestObject extends IdentifiableEntity
|
||||
|
||||
class RegisterTestTask(probe : ActorRef) extends Task {
|
||||
def Execute(resolver : ActorRef) : Unit = {
|
||||
probe ! scala.util.Success
|
||||
resolver ! scala.util.Success(this)
|
||||
}
|
||||
}
|
||||
|
||||
def CommonTestSetup(implicit system : ActorSystem) : (NumberPoolHub, ActorRef, ActorRef, TestProbe) = {
|
||||
import akka.actor.Props
|
||||
import akka.routing.RandomPool
|
||||
import akka.testkit.TestProbe
|
||||
|
||||
val guid : NumberPoolHub = new NumberPoolHub(new LimitedNumberSource(110))
|
||||
guid.AddPool("dynamic", (1 to 100).toList).Selector = new RandomSelector //TODO name is hardcoded for now
|
||||
val uns = system.actorOf(RandomPool(25).props(Props(classOf[UniqueNumberSystem], guid, GUIDTaskTest.AllocateNumberPoolActors(guid))), "uns")
|
||||
val taskResolver = system.actorOf(RandomPool(15).props(Props[TaskResolver]), "resolver")
|
||||
LogManager.getLogManager.reset() //suppresses any internal loggers created by the above elements
|
||||
(guid, uns, taskResolver, TestProbe())
|
||||
}
|
||||
|
||||
/**
|
||||
* @see `UniqueNumberSystem.AllocateNumberPoolActors(NumberPoolHub)(implicit ActorContext)`
|
||||
*/
|
||||
def AllocateNumberPoolActors(poolSource : NumberPoolHub)(implicit system : ActorSystem) : Map[String, ActorRef] = {
|
||||
poolSource.Pools.map({ case ((pname, pool)) =>
|
||||
pname -> system.actorOf(Props(classOf[NumberPoolActor], pool), pname)
|
||||
}).toMap
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue