anchor.diff:          testList "samples" [
               do setup ()
               yield! [
  -                "-n MyCoolLib --githubUsername CoolPersonNo2", [
  +                testCase, "-n MyCoolLib --githubUsername CoolPersonNo2", [
                       yield! projectStructureAsserts
                       Assert.``project can build target`` "DotnetPack"
                       Assert.``project can build target`` "BuildDocs"
                       ]
                   // test for dashes in name https://github.com/dotnet/templating/issues/1168#issuecomment-364592031
  -                "-n fsharp-data-sample --githubUsername CoolPersonNo2", [
  +                testCase, "-n fsharp-data-sample --githubUsername CoolPersonNo2", [
                       yield! projectStructureAsserts
                       Assert.``project can build target`` "DotnetPack"
                       ]
  -                "-n MyCoolApp --githubUsername CoolPersonNo2 --outputType Console", [
  +                testCase, "-n MyCoolApp --githubUsername CoolPersonNo2 --outputType Console", [
                       yield! projectStructureAsserts
                       Assert.``project can build target`` "CreatePackages"
                       ]
                   // Test that CHANGELOG.md is not modified during build failures,
                   // *unless* at least one step has pushed a release to the outside world.
  -                "-n DotnetRestoreFail --githubUsername TestAccount", [
  +                testCase, "-n DotnetRestoreFail --githubUsername TestAccount", [
                       Effect.``setup for release tests``
                       Effect.``make build function fail`` "let dotnetRestore"
                       Assert.``CHANGELOG contains Unreleased section``
                       Assert.``build target with failure expected`` "Release"
                       Assert.``CHANGELOG contains Unreleased section``
                       ]
  -                "-n AssemblyInfoFail --githubUsername TestAccount", [
  +                testCase, "-n AssemblyInfoFail --githubUsername TestAccount", [
                       Effect.``setup for release tests``
                       Effect.``make build function fail`` "let generateAssemblyInfo"
                       Assert.``CHANGELOG contains Unreleased section``
                       Assert.``build target with failure expected`` "Release"
                       Assert.``CHANGELOG contains Unreleased section``
                       ]
  -                "-n DotnetBuildFail --githubUsername TestAccount", [
  +                testCase, "-n DotnetBuildFail --githubUsername TestAccount", [
                       Effect.``setup for release tests``
                       Effect.``make build function fail`` "let dotnetBuild"
                       Assert.``CHANGELOG contains Unreleased section``
                       Assert.``build target with failure expected`` "Release"
                       Assert.``CHANGELOG contains Unreleased section``
                       ]
  -                "-n DotnetTestFail --githubUsername TestAccount", [
  +                testCase, "-n DotnetTestFail --githubUsername TestAccount", [
                       Effect.``setup for release tests``
                       Effect.``make build function fail`` "let dotnetTest"
                       Assert.``CHANGELOG contains Unreleased section``
                       Assert.``build target with failure expected`` "Release"
                       Assert.``CHANGELOG contains Unreleased section``
                       ]
  -                // "-n CoverageReportFail --githubUsername TestAccount", [
  +                // testCase, "-n CoverageReportFail --githubUsername TestAccount", [
                   //     Effect.``setup for release tests``
                   //     Effect.``make build function fail`` "let generateCoverageReport"
                   //     Assert.``CHANGELOG contains Unreleased section``
                   //     Assert.``build target with failure expected`` "Release"
                   //     Assert.``CHANGELOG contains Unreleased section``
                   //     ]
  -                "-n DotnetPackFail --githubUsername TestAccount", [
  +                testCase, "-n DotnetPackFail --githubUsername TestAccount", [
                       Effect.``setup for release tests``
                       Effect.``make build function fail`` "let dotnetPack"
                       Assert.``CHANGELOG contains Unreleased section``
                       Assert.``build target with failure expected`` "Release"
                       Assert.``CHANGELOG contains Unreleased section``
                       ]
  -                // "-n SourceLinkTestFail --githubUsername TestAccount", [
  +                // testCase, "-n SourceLinkTestFail --githubUsername TestAccount", [
                   //     Effect.``setup for release tests``
                   //     Effect.``make build function fail`` "let sourceLinkTest"
                   //     Assert.``CHANGELOG contains Unreleased section``
                   //     Assert.``build target with failure expected`` "Release"
                   //     Assert.``CHANGELOG contains Unreleased section``
                   //     ]
  -                "-n PublishToNugetFail --githubUsername TestAccount", [
  +                testCase, "-n PublishToNugetFail --githubUsername TestAccount", [
                       Effect.``setup for release tests``
                       Effect.``make build function fail`` "let publishToNuget"
                       Assert.``CHANGELOG contains Unreleased section``
                       Assert.``build target with failure expected`` "Release"
                       Assert.``CHANGELOG contains Unreleased section``
                       ]
  -                "-n PublishToNugetSuccess --githubUsername TestAccount", [
  +                testCase ,"-n PublishToNugetSuccess --githubUsername TestAccount", [
                       Effect.``setup for release tests``
                       Effect.``disable publishToNuget function`` // Simulates success, since it would fail due to NUGET_API being unset
                       Assert.``CHANGELOG contains Unreleased section``
  
positive.code:                     // Since the PublishToNuget step "succeeded", we no longer revert the changelog from that point on
                      Assert.``CHANGELOG does not contain Unreleased section``
                      ]
                  "-n GitReleaseFail --githubUsername TestAccount", [
                      Effect.``setup for release tests``
                      Effect.``disable publishToNuget function`` // Simulates success, since it would fail due to NUGET_API being unset
                      Effect.``make build function fail`` "gitRelease"
  
negative.code:                     Assert.``build target with failure expected`` "Release"
                  ]
  
              ] |> Seq.map(fun (testCase, args, additionalAsserts) -> testCase args <| fun _ ->
                  use d = Disposables.DisposableDirectory.Create()
                  copyGlobalJson d.DirectoryInfo
                  showTemplateHelp <| Some d.Directory
  