anchor.diff:                    { Classification = "FSharp.Function"; Span = (7, 59, 7, 67) }
                     { Classification = "FSharp.Operator"; Span = (7, 71, 7, 72) } 
                     { Classification = "FSharp.Function"; Span = (7, 74, 7, 79) } ]
  +            CollectionAssert.AreEquivalent(expected, actual)
  
positive.code:         helper.SetUpProjectAndCurrentDocument(ExternalProjectProvider(projectFileName), fileName)
          let classifier = helper.GetClassifier(buffer)
          testEvent classifier.ClassificationChanged "Timed out before classification changed" timeout <| fun _ -> 
              helper.ClassificationSpansOf(buffer, classifier)
              |> Seq.toList
              |> assertEqual 
                  [ { Classification = "FSharp.Module"; Span = (2, 8, 2, 24) }
                    
                    { Classification = "FSharp.ReferenceType"; Span = (4, 6, 4, 12) }
  
negative.code: 
          // second event is raised when all spans, including Unused are ready
          testEvent classifier.ClassificationChanged "Timed out before classification changed" timeout <| fun _ ->
              let actual = helper.ClassificationSpansOf(buffer, classifier) |> Seq.toList
              let expected =
                  [ { Classification = "FSharp.Unused"; Span = (2, 6) => (2, 11) };
                    { Classification = "FSharp.Unused"; Span = (3, 6) => (3, 31) };
                    { Classification = "FSharp.Unused"; Span = (4, 14) => (4, 14) } ]
              CollectionAssert.AreEquivalent(expected, actual)
          File.Delete(fileName)
          
  
  