anchor.diff:  import 'package:test/test.dart';
   import 'package:watcher/watcher.dart';
   
  -/**
  - * A mock [ServerCommunicationChannel] for testing [AnalysisServer].
  - */
  +/// A mock [ServerCommunicationChannel] for testing [AnalysisServer].
   class MockServerChannel implements ServerCommunicationChannel {
     StreamController<Request> requestController = new StreamController<Request>();
     StreamController<Response> responseController =
  
positive.code:   }
  }
  
  /**
   * A plugin manager that simulates broadcasting requests to plugins by
   * hard-coding the responses.
   */
  class TestPluginManager implements PluginManager {
    plugin.AnalysisSetPriorityFilesParams analysisSetPriorityFilesParams;
    plugin.AnalysisSetSubscriptionsParams analysisSetSubscriptionsParams;
  
negative.code:     new Future(() => responseController.add(response));
    }
  
    /// Return a future that will complete when a response associated with the
    /// given [request] has been received. The value of the future will be the
    /// received response. If [throwOnError] is `true` (the default) then the
    /// returned future will throw an exception if a server error is reported
    /// before the response has been received.
    ///
    /// Unlike [sendRequest], this method assumes that the [request] has already
    /// been sent to the server.
    Future<Response> waitForResponse(Request request,
        {bool throwOnError = true}) {
      // TODO(brianwilkerson) Attempt to remove the `throwOnError` parameter and
  