anchor.diff:    @override
     void didReplace(Route<dynamic>? oldRoute) {
       expect(oldRoute, isA<TestRoute>());
  -    final TestRoute castRoute = oldRoute as TestRoute;
  +    final TestRoute castRoute = oldRoute! as TestRoute;
       log('didReplace ${castRoute.name}');
       super.didReplace(castRoute);
     }
  
positive.code:       );
        await tester.pump();
        await tester.pumpAndSettle();
        final ProxyAnimation secondaryAnimationPageOne = secondaryAnimationProxyPageOne.parent as ProxyAnimation;
        expect(animationPageOne.value, 1.0);
        expect(secondaryAnimationPageOne.parent, kAlwaysDismissedAnimation);
  
  
negative.code:       await tester.pump();
        await tester.pump(const Duration(milliseconds: 1));
        expect(secondaryAnimationPageOne.parent, isA<TrainHoppingAnimation>());
        final TrainHoppingAnimation trainHopper = secondaryAnimationPageOne.parent! as TrainHoppingAnimation;
        expect(trainHopper.currentTrain, animationPageTwo.parent);
        await tester.pump(const Duration(milliseconds: 100));
        expect(secondaryAnimationPageOne.parent, isNot(isA<TrainHoppingAnimation>()));
  