anchor.diff:  :marked
     ## The _async_ function in _beforeEach_
   
  -  Notice the `async` call in the `beforeEach`. 
  +  Notice the `async` call in the `beforeEach`, made necessary by the asynchronous `TestBed.compileComponents` method.
     The `async` function arranges for the tester's code to run in a special _async test zone_
     that hides the mechanics of asynchronous execution, just as it does when passed to an [_it_ test)(#async).
   
   #compile-components
   :marked
     ## _compileComponents_ 
  -  In this example, `Testbed.compileComponents` compiles one component, the `DashboardComponent`. 
  +  In this example, `TestBed.compileComponents` compiles one component, the `DashboardComponent`. 
     It's the only declared component in this testing module.
   
     Tests later in this chapter have more declared components and some of them import application
     modules that declare yet more components.
     Some or all of these components could have external templates and css files.
  -  `TestBed.compileComponents` compiles them all asynchonously at one time.
  +  `TestBed.compileComponents` compiles them all asynchronously at one time.
     
     The `compileComponents` method returns a promise so you can perform additional tasks _after_ it finishes.
  +  The promise isn't needed here.
   
     ### _compileComponents_ closes configuration
  -  After `compileComponents` runs, the current `TestBed` instance is closed to further configuration.
  +  Calling `compileComponents` closes the current `TestBed` instance is further configuration.
     You cannot call any more `TestBed` configuration methods, not `configureTestModule` 
     nor any of the `override...` methods. The `TestBed` throws an error if you try.
   
  
positive.code: :marked
    ### Synchronous tests
    The first two tests are synchronous. 
    Neither test can prove that a value from the service will be displayed.
    
    Thanks to the spy, the second test verifies that `getQuote` is called. 
    But the quote itself has not arrived, despite the fact that the spy returns a resolved promise.
    
    This test must wait at least one full turn of the JavaScript engine, a least one "tick", before the
    value becomes available. By that time, the test runner has moved on to the next test in the suite.
  
    The test must become an "async test" ... like the third test
  
  #async
  :marked
  
negative.code: +makeExample('testing/ts/app/shared/twain.component.spec.ts', 'async-test', 'app/shared/twain.component.spec.ts (async test)')(format='.')
  :marked
    The `async` function is one of the Angular testing utilities. 
    It simplifies coding of asynchronous tests by arranging for the tester's code to run in a special _async test zone_.
  
    The `async` function _takes_ a parameterless function and _returns_ a function
    which becomes the argument to the  Jasmine `it` call. 
  
    The body of the `async` argument looks much like the body of a normal `it` argument.
  