public void VisitFieldInfoElementCollectsCorrectMemberKind() { var sut = new MemberKindCollector(); var constructorInfoElement = typeof(ClassWithMembers).GetConstructors().First().ToElement(); var fieldInfoElement = new Fields<ClassWithMembers>().Select(x => x.PublicField).ToElement(); var actual = sut.Visit(constructorInfoElement).Visit(fieldInfoElement); Assert.NotSame(sut, actual); Assert.Equal(new[] { MemberKinds.InstanceConstructor, MemberKinds.InstanceField }, actual.Value); }
public void VisitEventInfoElementCollectsCorrectMemberKind() { var sut = new MemberKindCollector(); var fieldInfoElement = new Fields<ClassWithMembers>().Select(x => x.PublicField).ToElement(); var eventInfoElement = typeof(ClassWithMembers) .GetEvents(BindingFlags.Instance | BindingFlags.Public) .First().ToElement(); var actual = sut.Visit(fieldInfoElement).Visit(eventInfoElement); Assert.NotSame(sut, actual); Assert.Equal(new[] { MemberKinds.InstanceField, MemberKinds.InstanceEvent }, actual.Value); }
public void VisitGetSetPropertyInfoElementCollectsCorrectMemberKind() { var sut = new MemberKindCollector(); var fieldInfoElement = new Fields<ClassWithMembers>().Select(x => x.PublicField).ToElement(); var getSetPropertyInfoElement = typeof(ClassWithMembers) .GetProperties(BindingFlags.Instance | BindingFlags.Public) .First(p => p.GetGetMethod(true) != null && p.GetSetMethod(true) != null) .ToElement(); var actual = sut.Visit(fieldInfoElement).Visit(getSetPropertyInfoElement); Assert.NotSame(sut, actual); Assert.Equal(new[] { MemberKinds.InstanceField, MemberKinds.InstanceProperty }, actual.Value); }
public void VisitStaticSetPropertyInfoElementCollectsCorrectMemberKind() { var sut = new MemberKindCollector(new[] { MemberKinds.InstanceField }); var setPropertyInfoElement = typeof(ClassWithMembers) .GetProperties(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic) .First(p => p.GetGetMethod(true) == null && p.GetSetMethod(true) != null) .ToElement(); var actual = sut.Visit(setPropertyInfoElement); Assert.NotSame(sut, actual); Assert.Equal(new[] { MemberKinds.InstanceField, MemberKinds.StaticSetProperty }, actual.Value); }
public void VisitStaticMethodInfoElementCollectsCorrectMemberKind() { var sut = new MemberKindCollector(new[] { MemberKinds.InstanceField }); var methodInfoElement = typeof(ClassWithMembers) .GetMethods(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic) .First().ToElement(); var actual = sut.Visit(methodInfoElement); Assert.NotSame(sut, actual); Assert.Equal(new[] { MemberKinds.InstanceField, MemberKinds.StaticMethod }, actual.Value); }
public void VisitStaticConstructorInfoElementCollectsCorrectMemberKind() { var sut = new MemberKindCollector(new[] { MemberKinds.StaticEvent }); var constructorInfoElement = typeof(ClassWithMembers) .GetConstructors(BindingFlags.Static | BindingFlags.NonPublic) .First().ToElement(); var actual = sut.Visit(constructorInfoElement); Assert.NotSame(sut, actual); Assert.Equal(new[] { MemberKinds.StaticEvent, MemberKinds.StaticConstructor }, actual.Value); }
public void VisitNullPropertyInfoElementThrows() { var sut = new MemberKindCollector(); Assert.Throws<ArgumentNullException>(() => sut.Visit((PropertyInfoElement)null)); }