private void CheckAttributes(Symbol s, AttributeArgs[] expected)
        {
            int i = 0;
            foreach (var sa in s.GetAttributes())
            {
                int j = 0;
                foreach (var pa in sa.CommonConstructorArguments)
                {
                    CheckConstructorArg(expected[i].Pos[j], pa.Value.ToString());
                    j += 1;
                }

                j = 0;
                foreach (var na in sa.CommonNamedArguments)
                {
                    CheckNamedArg(expected[i].Named[j], na);
                    j += 1;
                }
                i += 1;
            }
        }
        public void TestDumpAllAttributesTesLib()
        {
            var assemblies = MetadataTestHelpers.GetSymbolsForReferences(new[]
            {
                TestReferences.SymbolsTests.Metadata.MDTestAttributeDefLib ,
                TestReferences.NetFx.v4_0_21006.mscorlib
            });

            var assemblyArgs = new AttributeArgs[] {
                new AttributeArgs(new string[]{ "8"} , null),
                new AttributeArgs(null, new KeyValuePair<string, string>[]{  new KeyValuePair<string, string>("WrapNonExceptionThrows", "True")} )
            };

            CheckAttributes(assemblies[0], assemblyArgs);

            DumpAttributes(assemblies[0].Modules[0]);
        }