Exemple #1
0
        public void TestFindMethodsInstance()
        {
            var methods = typeof(Animal).Methods();

            Assert.Equal(AnimalInstanceMethodNames.OrderBy(n => n), methods.Select(m => m.Name).OrderBy(n => n).ToList());

            methods = typeof(Reptile).Methods();
            Assert.Equal(ReptileInstanceMethodNames.OrderBy(n => n), methods.Select(m => m.Name).OrderBy(n => n).ToList());

            methods = typeof(Snake).Methods();
            Assert.Equal(SnakeInstanceMethodNames.OrderBy(n => n), methods.Select(m => m.Name.Contains(".") ? m.Name.Substring(m.Name.LastIndexOf(".") + 1) : m.Name).OrderBy(n => n).ToList());
        }
Exemple #2
0
        public void TestFindMethodsInstanceWithPartialNameMatch()
        {
            Flags flags = Flags.InstanceAnyVisibility | Flags.PartialNameMatch;

            var methods = typeof(Animal).Methods(flags, "B");

            Assert.Equal(AnimalInstanceMethodNames.Where(s => s.Contains("B")).OrderBy(n => n).ToList(), methods.Select(m => m.Name).OrderBy(n => n).ToList());

            methods = typeof(Reptile).Methods(flags, "et_");
            Assert.Equal(ReptileInstanceMethodNames.Where(s => s.Contains("et_")).OrderBy(n => n).ToList(), methods.Select(m => m.Name).OrderBy(n => n).ToList());

            methods = typeof(Snake).Methods(flags, "get", "C");
            Assert.Equal(SnakeInstanceMethodNames.Where(s => s.Contains("get") || s.Contains("C")).OrderBy(n => n).ToList(), methods.Select(m => m.Name).OrderBy(n => n).ToList());

            methods = typeof(Snake).Methods(flags, "_");
            Assert.Equal(SnakeInstanceMethodNames.Where(s => s.Contains("_")).OrderBy(n => n).ToList(), methods.Select(m => m.Name).OrderBy(n => n).ToList());

            methods = typeof(Snake).Methods(flags);
            Assert.Equal(SnakeInstanceMethodNames.OrderBy(n => n), methods.Select(m => m.Name.TrimExplicitlyImplementedName()).OrderBy(n => n).ToList());
        }