anchor.diff:          (source) => source.toString(),
           'toString',
           endsWith('InheritedProvider<int> used outside of MultiProvider must specify a child'),
  +      ),
  +    );
  +  });
  +
  +  testWidgets('DeferredInheritedProvider throws if no child is provided with default constructor', (tester) async {
  +    await tester.pumpWidget(
  +      DeferredInheritedProvider<int, int>(
  +          create: (_) => 42,
  +          startListening: (_, __, ___, ____) {
  +            return () {};
  +          }),
  +    );
  +
  +    expect(
  +      tester.takeException(),
  +      isA<AssertionError>().having(
  +        (source) => source.toString(),
  +        'toString',
  +        endsWith('DeferredInheritedProvider<int, int> used outside of MultiProvider must specify a child'),
  +      ),
  +    );
  +  });
  +
  +  testWidgets('DeferredInheritedProvider throws if no child is provided with value constructor', (tester) async {
  +    await tester.pumpWidget(
  +      DeferredInheritedProvider<int, int>.value(
  +          value: 42,
  +          startListening: (_, __, ___, ____) {
  +            return () {};
  +          }),
  +    );
  +
  +    expect(
  +      tester.takeException(),
  +      isA<AssertionError>().having(
  +        (source) => source.toString(),
  +        'toString',
  +        endsWith('DeferredInheritedProvider<int, int> used outside of MultiProvider must specify a child'),
         ),
       );
     });
  
positive.code:     expect(Provider.of<int>(context, listen: false), equals(42));
    });
  
    testWidgets('Provider throws if no child is provided with default constructor', (tester) async {
      await tester.pumpWidget(
        InheritedProvider<int>(
          create: (_) => 42,
  
negative.code:     );
    });
  
    testWidgets('InheritedProvider throws if no child is provided with value constructor', (tester) async {
      await tester.pumpWidget(
        InheritedProvider<int>.value(
          value: 42,
  