public void Accept() { var methodDefinition = DefinitionObjectMother.CreateMethodDefinition(_classDefinition1, _methodInfo1); var propertyDefinition = DefinitionObjectMother.CreatePropertyDefinition(_classDefinition1, _propertyInfoWithGetAndSet); var eventDefinition = DefinitionObjectMother.CreateEventDefinition(_classDefinition1, _eventInfo1); var attributeDefinition = DefinitionObjectMother.CreateAttributeDefinition(_classDefinition1); var visitorMock = MockRepository.GenerateMock <IDefinitionVisitor> (); using (visitorMock.GetMockRepository().Ordered()) { visitorMock.Expect(mock => mock.Visit(methodDefinition)); visitorMock.Expect(mock => mock.Visit(propertyDefinition)); visitorMock.Expect(mock => mock.Visit(eventDefinition)); visitorMock.Expect(mock => mock.Visit(attributeDefinition)); } visitorMock.Replay(); _classDefinition1.Accept(visitorMock); Assert.That(_classDefinition1.ChildSpecificAcceptCalled, Is.True); visitorMock.VerifyAllExpectations(); }