anchor.diff:      if (!isPart) {
         libraryUris.add(uriStr);
         librarySources.add(source);
  +    } else if (_expectedLibraryUris.contains(uri)) {
  +      _invalidLibrarySources.add(source);
       }
     }
   }
  
positive.code:     uriToUnlinkedUnit[uriStr] = unlinkedUnit;
      sourceToUnlinkedUnit[source] = unlinkedUnit;
  
      void enqueueSource(String relativeUri) {
        var sourceUri = resolveRelativeUri(uri, Uri.parse(relativeUri));
        if (_knownSources.add(sourceUri)) {
          _pendingSource.add(sourceUri);
        }
      }
  
  
negative.code:     var isPart = false;
      for (var directive in unit.directives) {
        if (directive is UriBasedDirective) {
          if (directive is NamespaceDirective) {
            enqueueSource(directive.uri.stringValue, true);
            for (var config in directive.configurations) {
              enqueueSource(config.uri.stringValue, true);
            }
          } else {
            enqueueSource(directive.uri.stringValue, false);
          }
        } else if (directive is PartOfDirective) {
          isPart = true;
  