public void HandlerType_Does_Not_Implement_ITypeHandler_Does_Nothing() { // Arrange var handlerType = typeof(InvalidHandlerWithGenericParameter <>); var addTypeHandler = Substitute.For <IDbTypeMapper.AddGenericTypeHandler>(); var mapper = new DbTypeMapper(); // Act mapper.AddGenericTypeHandlers <string>(handlerType, addTypeHandler); // Assert addTypeHandler.DidNotReceive().Invoke(Arg.Any <Type>(), Arg.Any <SqlMapper.ITypeHandler>()); }
public void Calls_AddTypeHandler_For_Each_Implementing_Property_Type() { // Arrange var handlerType = typeof(Handler <>); var addTypeHandler = Substitute.For <IDbTypeMapper.AddGenericTypeHandler>(); var mapper = new DbTypeMapper(); // Act mapper.AddGenericTypeHandlers <CustomBaseType>(handlerType, addTypeHandler); // Assert addTypeHandler.Received().Invoke(typeof(CustomType0), Arg.Any <SqlMapper.ITypeHandler>()); addTypeHandler.Received().Invoke(typeof(CustomType1), Arg.Any <SqlMapper.ITypeHandler>()); }