Ejemplo n.º 1
0
        public void ExecuteScalarByExpression()
        {
            Expression<Func<Customer, bool>> expression = x => x.ID == 1;
            Expression<Func<Customer, int>> column = c => c.ID;
            var provider = new IProvider();
            var command = new ICommand();

            provider.CommandBuilder.Setup(c => c.CreateExecuteScalarCommand<Customer>(column, expression)).Returns(command.Object);
            provider.CommandExecutor.Setup(c => c.ExecuteScalar(command.Object)).Returns(2);

            var target = new DataSession(provider.Object);
            var result = target.ExecuteScalar(column, expression);

            provider.CommandExecutor.Verify(c => c.FinalizeCommand(command.Object));
            Assert.AreEqual(result, 2);
        }
Ejemplo n.º 2
0
 public void ExecuteScalarByExpressionThrowsUnableToCreateCommandException()
 {
     try
     {
         Expression<Func<Customer, bool>> expression = x => x.ID == 1;
         Expression<Func<Customer, object>> column = c => c.ID;
         var provider = new IProvider();
         provider.CommandBuilder.Setup(c => c.CreateExecuteScalarCommand<Customer>(column, expression)).Returns(
             default(Data.ICommand));
         
         var target = new DataSession(provider.Object);
         target.ExecuteScalar(column, expression);
     }
     catch (Exception ex)
     {
         Assert.IsTrue(ex is UnableToCreateCommandException);
     }
 }
Ejemplo n.º 3
0
        public void ExecuteScalarByExpressionThrowsInvalidCastException()
        {
            Expression<Func<Customer, bool>> expression = x => x.ID == 1;
            Expression<Func<Customer, int>> column = c => c.ID;
            var provider = new IProvider();
            var command = new ICommand();

            provider.CommandBuilder.Setup(c => c.CreateExecuteScalarCommand<Customer>(column, expression)).Returns(command.Object);
            provider.CommandExecutor.Setup(c => c.ExecuteScalar(command.Object)).Returns("HelloWorld");

            try
            {
                var target = new DataSession(provider.Object);
                var result = target.ExecuteScalar(column, expression);

                provider.CommandExecutor.Verify(c => c.FinalizeCommand(command.Object));
             
            }
            catch (Exception ex)
            {
                Assert.IsTrue(ex is InvalidCastException);
            }
            
        }
Ejemplo n.º 4
0
        public void ExecuteScalarByExpressionThrowsArgumentNullException()
        {
            var provider = new IProvider();
            var target = new DataSession(provider.Object);
            Expression<Func<Customer, bool>> expression = null;
            Expression<Func<Customer, object>> column = null;

            var result = false;
            try
            {
                target.ExecuteScalar(x => x.ID, expression);
            }
            catch (Exception ex)
            {
                result = ex is ArgumentNullException;
            }

            try
            {
                target.ExecuteScalar(column, x => x.ID == 1);
            }
            catch (Exception ex)
            {
                result = ex is ArgumentNullException;
            }

            Assert.IsTrue(result);
        }