public void handle_duplicate_column_names() { var resultSet = new FlexResultSet(); var result = new FlexResult(); result.schema = new List <SQLColumn>() { new SQLColumn() { ColumnName = "testa", DataType = "int" }, new SQLColumn() { ColumnName = "testa", DataType = "varchar" } }; result.data = new List <object[]>(); resultSet.results.Add(result); var srp = new SqlRunParameters(new SqlConnectionStringBuilder(), SqlRunParameters.TO_CSHARP, ""); CSharpRenderer.renderAsCSharp(resultSet, srp); var expected = @"public class Result0 { public int testa { get; set; } public string testa_2 { get; set; } } "; Assert.AreEqual(srp.resultsText.ToString(), expected); }
public void EscapedNamesLeadingToACollisionAreHandledCorrectly() { var resultSet = new FlexResultSet(); var result = new FlexResult(); result.schema = new List <SQLColumn>() { new SQLColumn() { ColumnName = "test_1", DataType = "varchar" }, new SQLColumn() { ColumnName = "test?1", DataType = "varchar" } }; result.data = new List <object[]>(); resultSet.results.Add(result); var srp = new SqlRunParameters(new SqlConnectionStringBuilder(), SqlRunParameters.TO_CSHARP, ""); CSharpRenderer.renderAsCSharp(resultSet, srp); var expected = @"public class Result0 { public string test_1 { get; set; } public string test_1_2 { get; set; } } "; Assert.AreEqual(srp.resultsText.ToString(), expected); }
public void AnonymousColumnsAreHandledCorrectly() { var resultSet = new FlexResultSet(); var result = new FlexResult(); result.schema = new List <SQLColumn>() { new SQLColumn() { ColumnName = "", DataType = "varchar" }, new SQLColumn() { ColumnName = "", DataType = "int" } }; result.data = new List <object[]>(); resultSet.results.Add(result); var srp = new SqlRunParameters(new SqlConnectionStringBuilder(), SqlRunParameters.TO_CSHARP, ""); CSharpRenderer.renderAsCSharp(resultSet, srp); var expected = @"public class Result0 { public string anonymousProperty { get; set; } public int anonymousProperty_2 { get; set; } } "; Assert.AreEqual(srp.resultsText.ToString(), expected); }
public void NullabilityWorksCorrectly() { var resultSet = new FlexResultSet(); var result = new FlexResult(); result.schema = new List <SQLColumn>() { new SQLColumn() { ColumnName = "a", DataType = "varchar", AllowNulls = true }, new SQLColumn() { ColumnName = "b", DataType = "int", AllowNulls = true }, new SQLColumn() { ColumnName = "c", DataType = "smalldatetime", AllowNulls = true } }; result.data = new List <object[]>(); resultSet.results.Add(result); var srp = new SqlRunParameters(new SqlConnectionStringBuilder(), SqlRunParameters.TO_CSHARP, ""); CSharpRenderer.renderAsCSharp(resultSet, srp); var expected = @"public class Result0 { public string a { get; set; } public int? b { get; set; } public DateTime? c { get; set; } } "; Assert.AreEqual(expected, srp.resultsText.ToString()); }