public void EmitCall_MethodInfo_BaseConstructorMethodInfo_WithOptionalParameters() { var methodInfo = new ConstructorAsMethodInfoAdapter(ReflectionObjectMother.GetSomeDefaultConstructor()); Assert.That( () => _decorator.EmitCall(OpCodes.Call, methodInfo, new[] { ReflectionObjectMother.GetSomeType() }), Throws.ArgumentException .With.ArgumentExceptionMessageEqualTo("Constructor calls cannot have optional parameters.", "optionalParameterTypes")); }
public void EmitCall_MethodInfo_BaseConstructorMethodInfo_EmptyOptionalParameters() { var constructor = ReflectionObjectMother.GetSomeConstructor(); var fakeEmittableOperand = MockRepository.GenerateStub <ConstructorInfo> (); _emittableOperandProviderStub.Stub(stub => stub.GetEmittableConstructor(constructor)).Return(fakeEmittableOperand); _innerILGeneratorMock.Expect(mock => mock.Emit(OpCodes.Call, fakeEmittableOperand)); var constructorAsMethodInfoAdapter = new ConstructorAsMethodInfoAdapter(constructor); _decorator.EmitCall(OpCodes.Call, constructorAsMethodInfoAdapter, Type.EmptyTypes); _innerILGeneratorMock.VerifyAllExpectations(); }
public void EmitCall_MethodInfo_BaseConstructorMethodInfo_NullOptionalParameters() { var constructor = ReflectionObjectMother.GetSomeConstructor(); var fakeEmittableOperand = new Mock <ConstructorInfo>().Object; _emittableOperandProviderStub.Setup(stub => stub.GetEmittableConstructor(constructor)).Returns(fakeEmittableOperand); _innerILGeneratorMock.Setup(mock => mock.Emit(OpCodes.Call, fakeEmittableOperand)).Verifiable(); var constructorAsMethodInfoAdapter = new ConstructorAsMethodInfoAdapter(constructor); _decorator.EmitCall(OpCodes.Call, constructorAsMethodInfoAdapter, null); _innerILGeneratorMock.Verify(); }
public void EmitCall_MethodInfo_BaseConstructorMethodInfo_WithOptionalParameters() { var methodInfo = new ConstructorAsMethodInfoAdapter(ReflectionObjectMother.GetSomeDefaultConstructor()); _decorator.EmitCall(OpCodes.Call, methodInfo, new[] { ReflectionObjectMother.GetSomeType() }); }
public void SetUp() { var adaptedConstructor = ReflectionObjectMother.GetSomeConstructor(); _adapter = new ConstructorAsMethodInfoAdapter(adaptedConstructor); }