anchor.diff:  import 'package:vector_math/vector_math_64.dart' show Vector3;
   
   import '../rendering/mock_canvas.dart';
  -import '../widgets/semantics_tester.dart';
   
   void main() {
     testWidgets('BottomNavigationBar callback test', (WidgetTester tester) async {
  
positive.code:       ),
      );
  
      final TestSemantics expected = TestSemantics.root(
        children: <TestSemantics>[
          TestSemantics(
            children: <TestSemantics>[
              TestSemantics(
                children: <TestSemantics>[
                  TestSemantics(
                    flags: <SemanticsFlag>[
                      SemanticsFlag.isFocusable,
                      SemanticsFlag.isSelected,
                    ],
                    actions: <SemanticsAction>[SemanticsAction.tap],
                    label: 'AC\nTab 1 of 3',
                    textDirection: TextDirection.ltr,
                  ),
                  TestSemantics(
                    flags: <SemanticsFlag>[SemanticsFlag.isFocusable],
                    actions: <SemanticsAction>[SemanticsAction.tap],
                    label: 'Alarm\nTab 2 of 3',
                    textDirection: TextDirection.ltr,
                  ),
                  TestSemantics(
                    flags: <SemanticsFlag>[SemanticsFlag.isFocusable],
                    actions: <SemanticsAction>[SemanticsAction.tap],
                    label: 'Hot Tub\nTab 3 of 3',
                    textDirection: TextDirection.ltr,
                  ),
                ],
              ),
            ],
          ),
        ],
      );
      expect(semantics, hasSemantics(expected, ignoreId: true, ignoreTransform: true, ignoreRect: true));
  
      semantics.dispose();
    });
  
    testWidgets('BottomNavigationBar handles items.length changes', (WidgetTester tester) async {
  
negative.code:       ),
      );
  
      expect(
        tester.getSemantics(find.text('AC')),
        matchesSemantics(
          label: 'AC\nTab 1 of 3',
          textDirection: TextDirection.ltr,
          isFocusable: true,
          isSelected: true,
          hasTapAction: true,
        ),
      );
      expect(
        tester.getSemantics(find.text('Alarm')),
        matchesSemantics(
          label: 'Alarm\nTab 2 of 3',
          textDirection: TextDirection.ltr,
          isFocusable: true,
          hasTapAction: true,
        ),
      );
      expect(
        tester.getSemantics(find.text('Hot Tub')),
        matchesSemantics(
          label: 'Hot Tub\nTab 3 of 3',
          textDirection: TextDirection.ltr,
          isFocusable: true,
          hasTapAction: true,
        ),
      );
    });
  
    testWidgets('BottomNavigationBar.shifting semantics', (WidgetTester tester) async {
      await tester.pumpWidget(
        boilerplate(
          textDirection: TextDirection.ltr,
  