public void SelectMethods() { var candidates = new[] { CreateMethodStub(), CreateMethodStub(), CreateMethodStub() }; var bindingFlags = (BindingFlags)1; var declaringType = ReflectionObjectMother.GetSomeType(); _bindingFlagsEvaluatorMock.Expect(mock => mock.HasRightAttributes(candidates[0].Attributes, bindingFlags)).Return(true); _bindingFlagsEvaluatorMock.Expect(mock => mock.HasRightAttributes(candidates[1].Attributes, bindingFlags)).Return(false); _bindingFlagsEvaluatorMock.Expect(mock => mock.HasRightAttributes(candidates[2].Attributes, bindingFlags)).Return(true); var result = _selector.SelectMethods(candidates, bindingFlags, declaringType).ForceEnumeration(); _bindingFlagsEvaluatorMock.VerifyAllExpectations(); Assert.That(result, Is.EqualTo(new[] { candidates[0], candidates[2] })); }
public void SelectMethods() { const MethodAttributes wantedAttribute = (MethodAttributes)1; const MethodAttributes unwantedAttribute = (MethodAttributes)2; var candidates = new[] { CreateMethodStub(attributes: wantedAttribute), CreateMethodStub(attributes: unwantedAttribute), CreateMethodStub(attributes: wantedAttribute) }; var bindingFlags = (BindingFlags)1; var declaringType = ReflectionObjectMother.GetSomeType(); var sequence = new MockSequence(); _bindingFlagsEvaluatorMock.InSequence(sequence).Setup(mock => mock.HasRightAttributes(wantedAttribute, bindingFlags)).Returns(true); _bindingFlagsEvaluatorMock.InSequence(sequence).Setup(mock => mock.HasRightAttributes(unwantedAttribute, bindingFlags)).Returns(false); _bindingFlagsEvaluatorMock.InSequence(sequence).Setup(mock => mock.HasRightAttributes(wantedAttribute, bindingFlags)).Returns(true); var result = _selector.SelectMethods(candidates, bindingFlags, declaringType).ForceEnumeration(); _bindingFlagsEvaluatorMock.Verify(); Assert.That(result, Is.EqualTo(new[] { candidates[0], candidates[2] })); }