public void SutDoesNotEnumerateAnyAccessors() { var sut = new IdiomaticMembers(typeof(ClassWithMembers), MemberKinds.Default); var actual = sut.OfType<MethodInfo>().ToArray(); var result = actual.All(m => !m.Name.StartsWith("set_") && !m.Name.StartsWith("get_")); Assert.True(result, "Do not enumerate any accessors."); }
public void MemberKindsIsCorrectWhenInitializedByGreedyCtor() { var memberKinds = MemberKinds.InstanceMethod; var sut = new IdiomaticMembers(GetType(), memberKinds); var actual = sut.MemberKinds; Assert.Equal(memberKinds, actual); }
public void SutDoesNotEnumeratesAnyEventMethods() { var sut = new IdiomaticMembers(typeof(ClassWithMembers), MemberKinds.Default); var actual = sut.ToArray(); var result = actual.All(m => !m.Name.StartsWith("add_") && !m.Name.StartsWith("remove_")); Assert.True(result, "Do not enumerate any helper methods of EventInfo."); }
public void SutHasCorrectGuardClauses( GuardClauseAssertion assertion) { var members = new IdiomaticMembers( typeof(CompositeIdiomaticAssertion), MemberKinds.Constructor); foreach (var member in members) assertion.Verify(member); }
public void SutEnumeratesAllKindsOfMembersWhenMemberKindsIsDefault() { var sut = new IdiomaticMembers(typeof(ClassWithMembers), MemberKinds.Default); var actual = sut.ToArray(); Assert.True(actual.Any(m => m is FieldInfo), "FieldInfo."); Assert.True(actual.Any(m => m is ConstructorInfo), "ConstructorInfo."); Assert.True(actual.Any(m => m is PropertyInfo), "PropertyInfo."); Assert.True(actual.Any(m => m is MethodInfo), "MethodInfo."); Assert.True(actual.Any(m => m is EventInfo), "EventInfo."); }
public void SutIsEnumerable() { var sut = new IdiomaticMembers(typeof(object), MemberKinds.Default); Assert.IsAssignableFrom<IEnumerable<MemberInfo>>(sut); }
public void SutDoesNotEnumerateNestedTypes() { var sut = new IdiomaticMembers(typeof(NotExposedReferenceAssertionTest), MemberKinds.Default); var actual = sut.ToArray(); Assert.True(actual.All(m => !(m is Type)), "No Types."); }
public void SutEnumeratesNoMembersWhenMemberKindsIsNone() { var sut = new IdiomaticMembers(typeof(ClassWithMembers), MemberKinds.None); var actual = sut.ToArray(); Assert.Empty(actual); }
public void MemberKindsIsCorrectWhenInitializedByModestCtor() { var sut = new IdiomaticMembers(GetType()); var actual = sut.MemberKinds; Assert.Equal(MemberKinds.Default, actual); }
public void SutEnumeratesOnlyDeclaredMembers() { var nonDeclaredMember = new Methods<ClassWithMembers>().Select(x => x.ToString()); var sut = new IdiomaticMembers(typeof(ClassWithMembers), MemberKinds.Default); var actual = sut.ToArray(); Assert.DoesNotContain(nonDeclaredMember, actual); }
public void TypeIsCorrectWhenInitializedByModestCtor() { var type = GetType(); var sut = new IdiomaticMembers(type); var actual = sut.Type; Assert.Equal(type, actual); }
public void SutEnumeratesOnlyPropertiesWhenMemberKindsIsProperty() { var sut = new IdiomaticMembers(typeof(ClassWithMembers), MemberKinds.InstanceProperty); var actual = sut.ToArray(); Assert.True( actual.All(m => (GetMemberKinds(m) & MemberKinds.InstanceProperty) != MemberKinds.None), "Property."); }
public void SutEnumeratesCorrectMembersWhenMemberKindsIsStaticEvent() { var sut = new IdiomaticMembers( typeof(ClassWithMembers), MemberKinds.StaticEvent); var actual = sut.ToArray(); Assert.True(actual.Cast<EventInfo>().All(ei => ei.GetAddMethod(true).IsStatic)); }
public void SutEnumeratesCorrectMembersWhenMemberKindsIsConstructorOrMethod() { var sut = new IdiomaticMembers( typeof(ClassWithMembers), MemberKinds.InstanceConstructor | MemberKinds.InstanceMethod); var actual = sut.ToArray(); var result = actual.All( m => GetMemberKinds(m) == MemberKinds.InstanceConstructor || GetMemberKinds(m) == MemberKinds.InstanceMethod); Assert.True(result, "Constructor or Method."); }
public void SutEnumeratesWritablePropertiesWhenMemberKindsIsGetProperty() { var sut = new IdiomaticMembers(typeof(ClassWithMembers), MemberKinds.InstanceGetProperty); var actual = sut.ToArray(); Assert.True(actual.Any(m => GetMemberKinds(m) == MemberKinds.InstanceGetProperty), "GetProperty."); Assert.True(actual.Any(m => GetMemberKinds(m) == MemberKinds.InstanceProperty), "Property."); }
public void SutEnumeratesStaticMembersWhenMemberKindsIsDefault() { var sut = new IdiomaticMembers(typeof(ClassWithMembers), MemberKinds.Default); var actual = sut.OfType<MethodInfo>().ToArray(); Assert.True(actual.Any(m => m.IsStatic), "Static Member."); }
public void SutEnumeratesOnlyPublicMembers() { var sut = new IdiomaticMembers(typeof(ClassWithMembers), MemberKinds.Default); var actual = sut.ToArray(); var result = actual.All(m => (GetAccessibilities(m) & Accessibilities.Public) == Accessibilities.Public); Assert.True(result, "Enumerate only public members."); }
public void VerifyTypeVerifiesCorrectMembers() { var sut = new Mock<ObjectDisposalAssertion>(new Fixture()) { CallBase = true }.Object; var members = new List<MemberInfo>(); sut.ToMock().Setup(x => x.Verify(It.IsAny<MemberInfo>())).Callback<MemberInfo>(members.Add); var type = typeof(ClassWithMembers); var expected = new IdiomaticMembers(type); sut.Verify(type); Assert.Equal(expected.OrderBy(m => m.Name), members.OrderBy(m => m.Name)); }
public void TypeIsCorrectWhenInitializedByGreedyCtor() { var type = GetType(); var sut = new IdiomaticMembers(type, MemberKinds.Default); var actual = sut.Type; Assert.Equal(type, actual); }