anchor.diff:          printfn "%s" f.FullName
           f.FullName)
   
  -let getScriptContentsFailedExpectations (scriptFolder: DirectoryInfo) (expectations: #seq<string * #seq<string>>) =
  +type ExpectationType =
  +    | ShouldContain
  +    | ShouldNotContain
  +
  +let getScriptContentsFailedExpectations (scriptFolder: DirectoryInfo) (expectations: #seq<string * #seq<string>>) expectationType =
       let files =
           scriptFolder.GetFiles()
           |> Seq.map (fun f -> 
  
positive.code:     directPaket "install" scenario |> ignore
      newtonsoftScript.Refresh()
      Assert.AreEqual(modificationDate, newtonsoftScript.LastWriteTimeUtc)
  
negative.code:                 let text = (file.FullName |> File.ReadAllText).ToLower()
                  for expectedText in contains do
                      let expect = expectedText.ToLower()
                      match expectationType with
                      | ShouldContain -> 
                          if not (text.Contains expect) then
                              yield sprintf "file %s didn't contain %s" file.Name expectedText
                      | ShouldNotContain ->
                          if text.Contains expect then
                              yield sprintf "file %s contains %s but it shouldn't" file.Name expectedText
      }
  
  let assertExpectations scenario expectationType expectations =
      let folder = getLoadScriptDefaultFolder scenario
      let failures = getScriptContentsFailedExpectations folder expectations expectationType
  
      if not (Seq.isEmpty failures) then
          Assert.Fail (failures |> String.concat Environment.NewLine)
  
  
  [<Test; Category("scriptgen")>]
  