anchor.diff:                    "(DebuggerTypeProxyAttribute, [], [])";
                     """(DebuggerDisplayAttribute, [(type Microsoft.FSharp.Core.string, "Count = {Count}")], [])""";
                     """(DefaultMemberAttribute, [(type Microsoft.FSharp.Core.string, "Item")], [])""";
  -#if DOTNETCORE
  -                  "(__DynamicallyInvokableAttribute, [], [])";
  -#endif
                     ])
   
   [<Test>]
  
positive.code:     
          let objSymbol = wholeProjectResults.GetAllUsesOfAllSymbols() |> Async.RunSynchronously |> Array.find (fun su -> su.Symbol.DisplayName = "List")
          let objEntity = objSymbol.Symbol :?> FSharpEntity
     
          [ for attrib in objEntity.Attributes do 
               let args = try Seq.toList attrib.ConstructorArguments with _ -> []
               let namedArgs = try Seq.toList attrib.NamedArguments with _ -> []
               let output = sprintf "%A" (attrib.AttributeType, args, namedArgs)
  
negative.code:     
          let objSymbol = wholeProjectResults.GetAllUsesOfAllSymbols() |> Async.RunSynchronously |> Array.find (fun su -> su.Symbol.DisplayName = "List")
          let objEntity = objSymbol.Symbol :?> FSharpEntity
          let attributes = objEntity.Attributes |> Seq.filter (fun attrib -> attrib.AttributeType.DisplayName <> "__DynamicallyInvokableAttribute")
  
          [ for attrib in attributes -> attrib.Format(objSymbol.DisplayContext) ]
          |> set
          |> shouldEqual
               (set ["[<DebuggerTypeProxyAttribute (typeof<Mscorlib_CollectionDebugView<>>)>]";
                     """[<DebuggerDisplayAttribute ("Count = {Count}")>]""";
                     """[<Reflection.DefaultMemberAttribute ("Item")>]""";
                     ])
  
  [<Test>]
  