Example #1
0
        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();
        }
Example #2
0
 public void Init()
 {
     _connectionFactory = new ConnectionFactory();            
 }