anchor.diff: -[<AutoOpen>]
  -/// Contains tasks to run [xUnit](https://github.com/haf/expecto) v2 unit tests.
  +/// Contains tasks to run [expecto](https://github.com/haf/expecto) v2 unit tests.
   module Fake.Testing.Expecto
   
   open System
  
positive.code:         }
  
  let Expecto (setParams : ExpectoParams -> ExpectoParams) (assemblies : string seq) =
      let args = setParams ExpectoParams.defaultParams
      let argsString = string args
      let runAssembly testAssembly =
          let processTimeout = TimeSpan.MaxValue // Don't set a process timeout.  The timeout is per test.
          let workingDir =
              if isNotNullOrEmpty args.WorkingDirectory
              then args.WorkingDirectory else DirectoryName testAssembly
          let processResult =
              ExecProcess(fun info ->
                  info.FileName <- testAssembly
                  info.WorkingDirectory <- workingDir
                  info.Arguments <- argsString
              ) processTimeout
          testAssembly,processResult
      let res =
          assemblies
          |> Seq.map runAssembly
  
negative.code:     }
      override this.ToString() =
          let append (s: string) (sb: StringBuilder) = sb.Append s
          let appendIfTrue p s sb =
              if p then append s sb else sb
          let appendIfNotNullOrWhiteSpace p s (sb: StringBuilder) =
              if String.IsNullOrWhiteSpace p |> not
              then sprintf "%s%s " s p |> sb.Append
              else sb
          let appendList list s (sb: StringBuilder) =
              let filtered = list |> List.filter (String.IsNullOrWhiteSpace >> not)
              if List.isEmpty filtered then sb
              else
                  filtered |> separated " " |> sprintf "%s%s " s |> sb.Append
          StringBuilder()
          |> appendIfTrue this.Debug "--debug "
          |> appendIfTrue this.Parallel "--parallel "
  