public void TestExecuteResultSetRowByRowWithCustomType() { var parameters = DatabaseObjectCreation.CreateResultSetTestProc(this.connectionType); try { var customType = TypeReference.CreateGeneratedType(new TypeProperty("Name", typeof(string))); var resultSet = new DatabaseModel.ResultSet { CustomType = customType }; resultSet.Fields.Add(new DatabaseModel.ResultSetField("Counter", DatabaseModel.DataType.Int32, string.Empty)); resultSet.Fields.Add(new DatabaseModel.ResultSetField("StringValue", DatabaseModel.DataType.String, "Name")); FunctionResult result = Execute(this.connectionType, DatabaseHelpers.GetDefaultConnectionString(this.connectionType), "Test Proc", parameters, new object[] { 2 }, new DatabaseModel.ResultSets { resultSet }, OutputOption.RowByRow); var executionPathResults = result.ExecutionPathResult.ToList(); Assert.AreEqual(2, executionPathResults.Count()); Assert.AreEqual("Result", executionPathResults[0].Name); Assert.AreEqual(Names.GetValidName(customType.Name), executionPathResults[0].Value.GetType().Name); Assert.AreEqual("one", executionPathResults[0].Value.Name); Assert.AreEqual("two", executionPathResults[1].Value.Name); } finally { DatabaseObjectCreation.RemoveTestProc(this.connectionType); } }
public void TestExecuteResultSetRowByRowWithInvalidNumberOfResultSets() { var parameters = DatabaseObjectCreation.CreateResultSetTestProc(this.connectionType); try { FunctionResult result = Execute(this.connectionType.ToConnectionTypeSelection(), null, DatabaseHelpers.GetDefaultConnectionString(this.connectionType), "Test Proc", parameters, new object[] { 2 }, FetchResultSets(this.connectionType), 1000, OutputOption.RowByRow); var executionPathResults = result.ExecutionPathResult.ToList(); Assert.AreEqual(2, executionPathResults.Count()); Assert.AreEqual("Result1", executionPathResults[0].Name); var row = executionPathResults[0].Value; Assert.AreEqual(1, row.Counter); Assert.AreEqual("one", row.StringValue); row = executionPathResults[1].Value; Assert.AreEqual(2, row.Counter); Assert.AreEqual("two", row.StringValue); } finally { DatabaseObjectCreation.RemoveTestProc(this.connectionType); } }
public void TestExecuteResultSetFirstRowNoRows() { var parameters = DatabaseObjectCreation.CreateResultSetTestProc(this.connectionType); Assert.That(() => Execute(this.connectionType, DatabaseHelpers.GetDefaultConnectionString(this.connectionType), "Test Proc", parameters, new object[] { 0 }, true, OutputOption.FirstRow), Throws.Exception.TypeOf <ExecuteException>() .With.Property("Message").EqualTo("No rows returned for Result.\r\nSee Code and Parameter properties for more information.")); DatabaseObjectCreation.RemoveTestProc(this.connectionType); }
public void TestExecuteResultSetFirstRowElseEmptyRowNoRows() { var parameters = DatabaseObjectCreation.CreateResultSetTestProc(this.connectionType); try { var result = Execute(this.connectionType, DatabaseHelpers.GetDefaultConnectionString(this.connectionType), "Test Proc", parameters, new object[] { 0 }, true, OutputOption.FirstRowElseEmptyRow).Value; Assert.AreEqual(0, result.Result.Counter); Assert.AreEqual(string.Empty, result.Result.StringValue); } finally { DatabaseObjectCreation.RemoveTestProc(this.connectionType); } }
public void TestExecuteResultSetListOfRows() { var parameters = DatabaseObjectCreation.CreateResultSetTestProc(this.connectionType); try { var result = Execute(this.connectionType, DatabaseHelpers.GetDefaultConnectionString(this.connectionType), "Test Proc", parameters, new object[] { 2 }, true, OutputOption.ListOfRows).Value; Assert.AreEqual(2, result.ResultRows.Count); var row = result.ResultRows[0]; Assert.AreEqual(1, row.Counter); Assert.AreEqual("one", row.StringValue); row = result.ResultRows[1]; Assert.AreEqual(2, row.Counter); Assert.AreEqual("two", row.StringValue); } finally { DatabaseObjectCreation.RemoveTestProc(this.connectionType); } }