StoryBoards can be very helpful to tell a story of steps that happen over time. Here is a simple example
Approvals.verify(new StoryBoard().add(gameOfLife).addFrames(3, gameOfLife::advance));which produces
Initial:
. . . . .
. . . . .
. x x x .
. . . . .
. . . . .
Frame #1:
. . . . .
. . x . .
. . x . .
. . x . .
. . . . .
Frame #2:
. . . . .
. . . . .
. x x x .
. . . . .
. . . . .
Frame #3:
. . . . .
. . x . .
. . x . .
. . x . .
. . . . .