anchor.diff:  open System.IO
   open NUnit.Framework
   open FsUnit
  -
   
   /// Helper functions and values for implementing file-based test cases.
   [<AutoOpen>]
  
positive.code:         else
              // Read the error/output streams from the process, then write them into the
              // error/output streams of this process so they can be captured by NUnit.
              do
                  let errorStr = toolProcess.StandardError.ReadToEnd ()
                  if not <| String.IsNullOrWhiteSpace errorStr then
                      System.Console.Error.Write errorStr
  
              do
                  let outputStr = toolProcess.StandardOutput.ReadToEnd ()
                  if not <| String.IsNullOrWhiteSpace outputStr then
                      System.Console.Out.Write outputStr
  
              // Based on the process' exit code, assert that the test passed or failed.
              if toolProcess.ExitCode = 0 then
                  // TODO : Provide a message with timing information.
                  Assert.Pass ()
              else
                  let msg = sprintf "The external tool process exited with code %i." toolProcess.ExitCode
                  Assert.Fail msg
  
negative.code:                 testCases () :> System.Collections.IEnumerable
  
      //
      [<Test; TestCaseSource(typeof<RepositoryTestCases>, "Items")>]
      let repository (inputFilename : string, outputFilename : string, internalModule : bool, parserModuleName : string) =
          let sw = System.Diagnostics.Stopwatch.StartNew()
          //
          use toolProcess = new Process ()
          
  