public void GetTByExpressionThrowsArgumentNullException() { try { var provider = new IProvider(); var session = new DataSession(provider.Object); Expression expression = null; session.GetT<Customer>(expression); } catch (Exception ex) { Assert.IsTrue(ex is ArgumentNullException); } }
public void GetTByExpression() { Expression<Func<Customer, bool>> expression = e => e.ID == 1; var customer = new Customer { ID = 1, Balance = 0, BalanceRate = 0, DefaultContactID = 1, Name = "Customer1", ProfileID = 1 }; var reader = new DbDataReader(); reader.Setup(r => r.Read()).Returns(true); var provider = new IProvider(); var command = new ICommand(); var schema = new TypeTable(typeof(Customer)); provider.Setup(p => p.GetSchema(typeof(Customer))).Returns(schema); provider.CommandBuilder.Setup(c => c.CreateGetTCommand<Customer>(expression)).Returns(command.Object); provider.CommandExecutor.Setup(c => c.ExecuteReader(command.Object)).Returns(reader.Object); provider.Mapper.Setup(m => m.GetTMappingMethod<Customer>()).Returns(d => customer); var target = new DataSession(provider.Object); var actual = target.GetT(expression); Assert.AreEqual(actual, customer); }
public void GetTByExpressionThrowsUnableToCreateCommandException() { Expression<Func<Customer, bool>> expression = e => e.ID == 1; var provider = new IProvider(); provider.CommandBuilder.Setup(c => c.CreateGetTCommand<Customer>(expression)).Returns(default(Data.ICommand)); try { var target = new DataSession(provider.Object); target.GetT(expression); } catch (Exception ex) { Assert.IsTrue(ex is UnableToCreateCommandException); } }
public void GetTByProcedureThrowsUnableToCreateCommandException() { var provider = new IProvider(); var procedure = new Procedure("TestProcedure"); provider.CommandBuilder.Setup(c => c.CreateCommandFromProcedure(procedure)).Returns(default(Data.ICommand)); try { var session = new DataSession(provider.Object); session.GetT<Customer>(procedure); } catch (Exception ex) { Assert.IsTrue(ex is UnableToCreateCommandException); } }
public void GetTByProcedure() { var procedure = new Mock<Procedure>("TestProcedure"); var customer = new Customer { ID = 1, Balance = 0, BalanceRate = 0, DefaultContactID = 1, Name = "Customer1", ProfileID = 1 }; var reader = new DbDataReader(); reader.Setup(r => r.Read()).Returns(true); var provider = new IProvider(); var command = new ICommand(); var schema = new TypeTable(typeof(Customer)); provider.Setup(p => p.GetSchema(typeof(Customer))).Returns(schema); provider.CommandBuilder.Setup(c => c.CreateCommandFromProcedure(procedure.Object)).Returns(command.Object); provider.CommandExecutor.Setup(c => c.ExecuteReader(command.Object)).Returns(reader.Object); provider.Mapper.Setup(m => m.GetTMappingMethod<Customer>()).Returns(d => customer); var target = new DataSession(provider.Object); var actual = target.GetT<Customer>(procedure.Object); Assert.AreEqual(actual, customer); }
public void GetTByKeyThrowsUnableToCreateCommandException() { var provider = new IProvider(); provider.CommandBuilder.Setup(c => c.CreateGetObjectByKeyCommand<Customer>()).Returns(default(Data.ICommand)); try { var target = new DataSession(provider.Object); target.GetT<Customer>("CUS00001"); } catch (Exception ex) { Assert.IsTrue(ex is UnableToCreateCommandException); } }