public void SafeTypeUsingTest() { var mockRepository = new MockRepository(MockBehavior.Strict); Mock<ISqlTypeHelper> sqltypeHelperMock = mockRepository.Create<ISqlTypeHelper>(); Mock<ISqlNativeTypeStringCreator> sqlNativestringCreatorHelperMock = mockRepository.Create<ISqlNativeTypeStringCreator>(); var sqlDescriptionAttributes = new Dictionary<PropertyInfo, SqlDescriptionAttribute> { { typeof (Person).GetProperty("Id"), new SqlDescriptionAttribute("Id", SqlDbType.Int) }, { typeof (Person).GetProperty("Name"), new SqlDescriptionAttribute("Name", SqlDbType.NVarChar, 4000) } }; sqltypeHelperMock.Setup(x => x.Create(typeof (Person))).Returns(sqlDescriptionAttributes).Verifiable(); sqlNativestringCreatorHelperMock.Setup(x => x.Create("Id", SqlDbType.Int, null)) .Returns("\"Id\" int") .Verifiable(); sqlNativestringCreatorHelperMock.Setup(x => x.Create("Name", SqlDbType.NVarChar, 4000)) .Returns("\"Name\" nvarchar(4000)") .Verifiable(); using (IDbConnection con = new ConnectionFactory().Create()) { string name; dynamic res; const string selectFromSysTypesWhereNameName = "select * from sys.types where name = @Name"; using ( var safeTypeUsing = new SafeTypeUsing<Person>(con, sqltypeHelperMock.Object, sqlNativestringCreatorHelperMock.Object)) { name = safeTypeUsing.TypeName; res = con.Query(selectFromSysTypesWhereNameName, new {Name = name}).SingleOrDefault(); Assert.IsNotNull(res); } res = con.Query(selectFromSysTypesWhereNameName, new {Name = name}).SingleOrDefault(); Assert.IsNull(res); } mockRepository.VerifyAll(); }
public void Init() { _connectionFactory = new ConnectionFactory(); }