anchor.diff:      });
   
       await d.appDir({'foo': '1.0.0', 'bar': '1.0.0'}).create();
  +
       await expectResolves(
           error: allOf([
  -      contains('Incompatible dependencies on shared:'),
  -      contains('- bar 1.0.0 depends on it with description'),
  -      contains('- foo 1.0.0 depends on it with description "shared"')
  +      contains('Because all versions of foo depend on shared 1.0.0 from hosted '
  +          'on http://localhost:'),
  +      contains(' and all\n  versions of bar depend on shared 1.0.0 from hosted '
  +          'on http://localhost:'),
  +      contains(', foo is incompatible\n  with bar.'),
  +      contains('So, because myapp depends on both bar 1.0.0 and foo 1.0.0, '
  +          'version solving failed.')
       ]));
     });
   
  
positive.code: 
  main() {
    group('basic graph', basicGraph);
    group('with lockfile', withLockFile);
    group('root dependency', rootDependency);
    group('dev dependency', devDependency);
    group('unsolvable', unsolvable);
    group('bad source', badSource);
    group('backtracking', backtracking);
    group('Dart SDK constraint', dartSdkConstraint);
    group('Flutter SDK constraint', flutterSdkConstraint);
    group('pre-release', prerelease);
    group('override', override);
    group('downgrade', downgrade);
    group('features', features);
  }
  
  void basicGraph() {
  
negative.code:     });
  
      await d.appDir({'foo': '1.0.0', 'bar': '1.0.0'}).create();
      await expectResolves(error: equalsIgnoringWhitespace("""
        Because all versions of foo depend on shared <=2.0.0 and all versions of
          bar depend on shared >3.0.0, foo is incompatible with bar.
        So, because myapp depends on both bar 1.0.0 and foo 1.0.0, version solving
          failed.
      """));
    });
  
    test('mismatched descriptions', () async {
  