public void TestFindMethodInstanceWithDeclaredOnly() { Flags flags = Flags.InstanceAnyVisibility | Flags.DeclaredOnly; AnimalInstanceMethodNames.Select(s => typeof(Animal).Method(s, flags)).ForEach(Assert.NotNull); ReptileDeclaredInstanceMethodNames.Select(s => typeof(Reptile).Method(s, flags)).ForEach(Assert.NotNull); ReptileInstanceMethodNames.Where(s => !ReptileDeclaredInstanceMethodNames.Contains(s)).Select(s => typeof(Reptile).Method(s, flags)).ForEach(Assert.Null); SnakeDeclaredInstanceMethodNames.Select(s => typeof(Snake).Method(s, flags)).ForEach(Assert.NotNull); SnakeInstanceMethodNames.Where(s => !SnakeDeclaredInstanceMethodNames.Contains(s)).Select(s => typeof(Snake).Method(s, flags)).ForEach(Assert.Null); }
public void TestFindMethodsInstanceWithDeclaredOnly() { var methods = typeof(Animal).Methods(Flags.InstanceAnyVisibility | Flags.DeclaredOnly); Assert.Equal(AnimalInstanceMethodNames.OrderBy(n => n), methods.Select(m => m.Name).OrderBy(n => n).ToList()); methods = typeof(Reptile).Methods(Flags.InstanceAnyVisibility | Flags.DeclaredOnly); Assert.Equal(ReptileDeclaredInstanceMethodNames.OrderBy(n => n), methods.Select(m => m.Name).OrderBy(n => n).ToList()); methods = typeof(Snake).Methods(Flags.InstanceAnyVisibility | Flags.DeclaredOnly); Assert.Equal(SnakeDeclaredInstanceMethodNames.OrderBy(n => n), methods.Select(m => m.Name.Contains(".") ? m.Name.Substring(m.Name.LastIndexOf(".") + 1) : m.Name).OrderBy(n => n).ToList()); }