Dilation cleanups (#25861)
* Avoid calling asInstanceOf in dilated * Fix the rounding in dilated for Java * Delegate Java dilated to Scala dilated * Import scala.concurrent.duration.Duration
This commit is contained in:
parent
f51c8d8506
commit
6a04731971
2 changed files with 5 additions and 4 deletions
|
|
@ -6,7 +6,8 @@ package akka.actor.testkit.typed
|
||||||
|
|
||||||
import com.typesafe.config.Config
|
import com.typesafe.config.Config
|
||||||
|
|
||||||
import scala.concurrent.duration.FiniteDuration
|
import scala.concurrent.duration.{ Duration, FiniteDuration }
|
||||||
|
import akka.util.JavaDurationConverters._
|
||||||
import akka.util.Timeout
|
import akka.util.Timeout
|
||||||
import akka.actor.typed.ActorSystem
|
import akka.actor.typed.ActorSystem
|
||||||
|
|
||||||
|
|
@ -67,11 +68,11 @@ final class TestKitSettings(val config: Config) {
|
||||||
* Scala API: Scale the `duration` with the configured `TestTimeFactor`
|
* Scala API: Scale the `duration` with the configured `TestTimeFactor`
|
||||||
*/
|
*/
|
||||||
def dilated(duration: FiniteDuration): FiniteDuration =
|
def dilated(duration: FiniteDuration): FiniteDuration =
|
||||||
(duration * TestTimeFactor).asInstanceOf[FiniteDuration]
|
Duration.fromNanos((duration.toNanos * TestTimeFactor + 0.5).toLong)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Java API: Scale the `duration` with the configured `TestTimeFactor`
|
* Java API: Scale the `duration` with the configured `TestTimeFactor`
|
||||||
*/
|
*/
|
||||||
def dilated(duration: java.time.Duration): java.time.Duration =
|
def dilated(duration: java.time.Duration): java.time.Duration =
|
||||||
java.time.Duration.ofMillis((duration.toMillis * TestTimeFactor).toLong)
|
dilated(duration.asScala).asJava
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ package object testkit {
|
||||||
*/
|
*/
|
||||||
implicit class TestDuration(val duration: FiniteDuration) extends AnyVal {
|
implicit class TestDuration(val duration: FiniteDuration) extends AnyVal {
|
||||||
def dilated(implicit system: ActorSystem): FiniteDuration =
|
def dilated(implicit system: ActorSystem): FiniteDuration =
|
||||||
(duration * TestKitExtension(system).TestTimeFactor).asInstanceOf[FiniteDuration]
|
Duration.fromNanos((duration.toNanos * TestKitExtension(system).TestTimeFactor + 0.5).toLong)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue