public void CanSetupResultForSimpleForQuery() { DataTable customers; using (DataTableBuilder builder = new DataTableBuilder()) { builder.AddColumn("userid", typeof(int)) .AddColumn("email", typeof(string)) .AddRow(1, "*****@*****.**") .AddRow(10, "*****@*****.**"); customers = builder.DataTable; } var behavior = new MockCommandBehavior() .When(c => c.CommandText.StartsWith("select *")) .ReturnsData(customers); Factory.AddBehavior(behavior); var table = SUT.DataAccess.GetAllUsers(); Assert.AreEqual(2, table.Rows.Count); Assert.AreEqual(1, table.Rows[0][0]); Assert.AreEqual("*****@*****.**", table.Rows[0][1]); Assert.AreEqual(10, table.Rows[1][0]); Assert.AreEqual("*****@*****.**", table.Rows[1][1]); }
public object GetReturnValue <TReturn>(MockDbCommand cmd) { if (cmd is null) { throw new ArgumentNullException(nameof(cmd)); } MockCommandBehavior behavior = FindBehavior(cmd); if (behavior is null) { return(default(TReturn)); } object value = behavior.ReturnValue; if (value is Func <DbCommand, object> func) { return(func(cmd)); } else if (value is TReturn @return) { return(@return); } else if (cmd.Parameters.Count > 0) { if (cmd.Parameters[0].Value is TReturn param_0) { if ((object)param_0 is DataTable data) { data.Clear(); } return(param_0); } } else { #pragma warning disable IDE0034 // Simplify 'default' expression return(default(TReturn)); #pragma warning restore IDE0034 // Simplify 'default' expression } throw new NotSupportedException(); }
public void CanSetupResultForSimpleForQuery() { var customers = new DataTableBuilder() .AddColumn("userid", typeof(Int32)) .AddColumn("email", typeof(String)) .AddRow(1, "*****@*****.**") .AddRow(10, "*****@*****.**").DataTable; var behavior = new MockCommandBehavior() .When(c=> c.CommandText.StartsWith("select *")) .ReturnsData(customers); Factory.AddBehavior(behavior); var table = SUT.DataAccess.GetAllUsers(); Assert.AreEqual(2, table.Rows.Count); Assert.AreEqual(1, table.Rows[0][0]); Assert.AreEqual("*****@*****.**", table.Rows[0][1]); Assert.AreEqual(10, table.Rows[1][0]); Assert.AreEqual("*****@*****.**", table.Rows[1][1]); }
public void AddBehavior(MockCommandBehavior behavior) { behaviors.Add(behavior); }
public void AddBehavior(MockCommandBehavior behavior) => Provider.AddBehavior(behavior);