public void Pipeline_ReturnsRequestedType_IfParticipantsDoNotCare() { var reflectionService = GetReflectionService(t => { }); var type = ReflectionObjectMother.GetSomeNonSubclassableType(); var result = reflectionService.GetAssembledType(type); Assert.That(result, Is.SameAs(type)); }
public void Participant_MayReportError() { var exception = new Exception(); var reflectionService = GetReflectionService(t => { throw exception; }); var type = ReflectionObjectMother.GetSomeNonSubclassableType(); TestDelegate action = () => reflectionService.GetAssembledType(type); Assert.That(action, Throws.Exception.SameAs(exception)); }
public void AssembleType_NonSubclassableType_LetParticipantReportErrors_AndReturnsRequestedType() { var participantMock = new Mock <IParticipant>(); var typeAssembler = CreateTypeAssembler(participants: new[] { participantMock.Object }); var nonSubclassableType = ReflectionObjectMother.GetSomeNonSubclassableType(); var typeID = AssembledTypeIDObjectMother.Create(nonSubclassableType); var codeGeneratorStub = new Mock <IMutableTypeBatchCodeGenerator>(); var result = typeAssembler.AssembleType(typeID, _participantStateMock.Object, codeGeneratorStub.Object); Assert.That(result, Is.Not.Null); Assert.That(result.Type, Is.SameAs(nonSubclassableType)); participantMock.Verify(mock => mock.HandleNonSubclassableType(nonSubclassableType), Times.Once()); participantMock.Verify(mock => mock.Participate(null, It.IsAny <IProxyTypeAssemblyContext>()), Times.Never()); }
public void AssembleType_NonSubclassableType_LetParticipantReportErrors_AndReturnsRequestedType() { var participantMock = MockRepository.GenerateMock <IParticipant>(); var typeAssembler = CreateTypeAssembler(participants: new[] { participantMock }); var nonSubclassableType = ReflectionObjectMother.GetSomeNonSubclassableType(); var typeID = AssembledTypeIDObjectMother.Create(nonSubclassableType); var codeGeneratorStub = MockRepository.GenerateStub <IMutableTypeBatchCodeGenerator>(); var result = typeAssembler.AssembleType(typeID, _participantStateMock, codeGeneratorStub); Assert.That(result, Is.Not.Null); Assert.That(result.Type, Is.SameAs(nonSubclassableType)); participantMock.AssertWasCalled(mock => mock.HandleNonSubclassableType(nonSubclassableType)); participantMock.AssertWasNotCalled(mock => mock.Participate(Arg.Is <object> (null), Arg <IProxyTypeAssemblyContext> .Is.Anything)); }