Exemplo n.º 1
0
        public static void AreSame(ReflectionItem expected, ReflectionItem actual)
        {
            switch (expected.ItemType)
            {
            case ReflectionItemType.Property:
            {
                ReflectionProperty expectedProperty = (ReflectionProperty)expected;
                ReflectionProperty actualProperty   = (ReflectionProperty)actual;

                ReflectionAssert.AreSame(expectedProperty.UnderlyingGetMethod, actualProperty.UnderlyingGetMethod);
                ReflectionAssert.AreSame(expectedProperty.UnderlyingSetMethod, actualProperty.UnderlyingSetMethod);
                return;
            }

            case ReflectionItemType.Parameter:
            {
                ReflectionParameter expectedParameter = (ReflectionParameter)expected;
                ReflectionParameter actualParameter   = (ReflectionParameter)actual;

                ReflectionAssert.AreSame(expectedParameter.UnderlyingParameter, actualParameter.UnderlyingParameter);
                return;
            }

            default:
            {
                ReflectionMember expectedMember = (ReflectionMember)expected;
                ReflectionMember actualMember   = (ReflectionMember)actual;

                ReflectionAssert.AreSame(expectedMember.UnderlyingMember, actualMember.UnderlyingMember);
                return;
            }
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            using (var stream = File.OpenRead(@"c:\users\jon\test\projects\nodatime\build\tmp\docfx\unstable\src\NodaTime\bin\Debug\net45\NodaTime.dll"))
            {
                var members   = ReflectionMember.Load(stream).ToList();
                var cecilUids = members.Select(m => m.DocfxUid).ToList();
                var release   = Release.Load(@"c:\users\jon\test\projects\nodatime\build\tmp\docfx\obj\unstable", "unstable");
                var realUids  = release.Members
                                .Where(m => m.Type != DocfxMember.TypeKind.Namespace)
                                .Where(m => !m.FullName.StartsWith("NodaTime.Testing"))
                                .Where(m => !m.FullName.StartsWith("NodaTime.Serialization"))
                                .Select(m => m.Uid)
                                .ToList();

                Console.WriteLine($"UIDs from Cecil: {cecilUids.Count}");
                Console.WriteLine($"UIDs from Docfx: {realUids.Count}");
                Console.WriteLine();
                PrintUids("UIDs only in Cecil", cecilUids.Except(realUids));
                Console.WriteLine();
                PrintUids("UIDs only in Docfx", realUids.Except(cecilUids));
            }
        }