case class TestRequest[T](app: String, locker: MeatLocker[T])
val factory: Stats => Unit = stats => {
stats.app shouldBe (app)
stats.unit shouldBe (SECONDS)
stats.startupDurations should have length (10)
}
val locker: MeatLocker[Stats => Unit] = MeatLocker(factory)
val file = SerializationUtil.write(TestRequest[Stats => Unit](app, locker))
val state = SerializationUtil.read[TestRequest[Stats => Unit]](file)
(state.locker.get) (newStats())
See https://stackoverflow.com/q/47806670/839733 for details