public void Test_17() { //结果 var result = new String(); result.AppendLine("Select [a].[Email] "); result.AppendLine("From [Sample] As [a] "); result.Append("Where [a].[Email] Like @_p_0"); //执行 _builder.Select <Sample>(t => t.Email) .From <Sample>("a") .Contains("a.Email", "abc"); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Single(_builder.GetParams()); Assert.Equal("%abc%", _builder.GetParams()["@_p_0"]); }
public void TestWith_1() { //结果 var result = new String(); result.AppendLine("With [Test] "); result.AppendLine("As (Select [a],[b] "); result.AppendLine("From [Test2])"); result.AppendLine("Select [a],[b] "); result.Append("From [Test]"); //执行 var builder2 = _builder.New().Select("a,b").From("Test2"); _builder.Select("a,b").From("Test").With("Test", builder2); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); }
public void Test_6() { //结果 var result = new String(); result.AppendLine("Select [a].[Email],[a].[BoolValue] "); result.AppendLine("From [Sample] As [a] "); result.Append("Where [a].[Email]=@_p_0"); //执行 _builder.Select <Sample>(t => new object[] { t.Email, t.BoolValue }) .From <Sample>("a") .Equal <Sample>(t => t.Email, "abc"); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Single(_builder.GetParams()); Assert.Equal("abc", _builder.GetParams()["@_p_0"]); }
public void TestIsDeletedFilter_2() { //结果 var result = new String(); result.AppendLine("Select [s].[StringValue] "); result.AppendLine("From [Sample5] As [s] "); result.AppendLine("Join [Sample6] As [s2] On [s].[IntValue]=[s2].[IntValue] And [s2].[IsDeleted]=@_p_1 "); result.Append("Where [s].[IsDeleted]=@_p_0"); //执行 _builder.Select <Sample5>(t => t.StringValue) .From <Sample5>("s") .Join <Sample6>("s2").On <Sample5, Sample6>((l, r) => l.IntValue == r.IntValue); //验证 _output.WriteLine(_builder.ToSql()); Assert.Equal(result.ToString(), _builder.ToSql()); }
public void TestWhere() { //结果 var result = new String(); result.AppendLine("Select \"a\".\"Email\" "); result.AppendLine("From \"Sample\" \"a\" "); result.Append("Where \"a\".\"Email\"<>:p_0"); //执行 _builder.Select <Sample>(t => new object[] { t.Email }) .From <Sample>("a") .Where <Sample>(t => t.Email, "abc", Operator.NotEqual); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Single(_builder.GetParams()); Assert.Equal("abc", _builder.GetParams()["p_0"]); }
public void Test_35() { //结果 var result = new String(); result.AppendLine("Select [a].[Email] "); result.AppendLine("From [Sample] As [a] "); result.Append("Where [a].[B]>=@_p_0 And [a].[B]<=@_p_1"); //执行 _builder.Select <Sample>(t => t.Email) .From <Sample>("a") .Between("a.B", 1, 2); //验证 Assert.Equal(1, _builder.GetParams()["@_p_0"]); Assert.Equal(2, _builder.GetParams()["@_p_1"]); Assert.Equal(result.ToString(), _builder.ToSql()); }
public void TestShowLabel_2() { var config = new GridShareConfig { ShowLabel = true }; var items = new Dictionary <object, object> { { typeof(GridShareConfig), config } }; var result = new String(); result.Append("<nz-form-item>"); result.Append("<nz-form-label>"); result.Append("</nz-form-label>"); result.Append("<nz-form-control>"); result.Append("<x-textbox></x-textbox>"); result.Append("</nz-form-control>"); result.Append("</nz-form-item>"); Assert.Equal(result.ToString(), GetResult(items: items)); }
public void Test_47() { //结果 var result = new String(); result.AppendLine("Select * "); result.AppendLine("From [Sample] As [s] "); result.Append("Where [s].[NullableLogLevel]=@_p_0"); //执行 var sample = new Sample { NullableLogLevel = LogLevel.Error }; _builder.From <Sample>("s").Where <Sample>(t => t.NullableLogLevel == sample.NullableLogLevel); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Equal(4, _builder.GetParams()["@_p_0"]); }
public void Test_40() { //结果 var result = new String(); result.AppendLine("Select * "); result.AppendLine("From [Test] "); result.Append("Where ([Age]=@_p_1 Or [Name]=@_p_0)"); //执行 var newBuilder = _builder.New().Where("Name", "a"); _builder.From("Test").Where("Age", 1).Or(newBuilder); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Equal(2, _builder.GetParams().Count); Assert.Equal("a", _builder.GetParams()["@_p_0"]); Assert.Equal(1, _builder.GetParams()["@_p_1"]); }
public void TestType_Checkbox() { var attributes = new TagHelperAttributeList { { UiConst.Type, TableColumnType.Checkbox } }; var items = new Dictionary <object, object> { { typeof(TableShareConfig), new TableShareConfig("id") } }; var result = new String(); result.Append("<td (click)=\"$event.stopPropagation()\" (nzCheckedChange)=\"id_wrapper.checkedSelection.toggle(row)\" "); result.Append("[nzChecked]=\"id_wrapper.checkedSelection.isSelected(row)\" "); result.Append("[nzShowCheckbox]=\"id_wrapper.multiple\">"); result.Append("<label (click)=\"$event.stopPropagation()\" (ngModelChange)=\"id_wrapper.checkRowOnly(row)\" "); result.Append("*ngIf=\"!id_wrapper.multiple\" name=\"radio_id\" nz-radio=\"\" "); result.Append("[ngModel]=\"id_wrapper.checkedSelection.isSelected(row)\">"); result.Append("</label>"); result.Append("</td>"); Assert.Equal(result.ToString(), GetResult(attributes, items: items)); }
public void TestOrIfNotEmpty_4() { //结果 var result = new String(); result.Append("Where (([Email]=@_p_0 Or "); result.Append("[Email] In (@_p_1,@_p_2)) Or [Url]=@_p_3) "); result.Append("And [Url]=@_p_4"); //执行 var list = new List <string> { "a", "b" }; _clause.Where <Sample>(t => t.Email == "b"); _clause.OrIfNotEmpty <Sample>(t => list.Contains(t.Email), t => t.Url == "a"); _clause.Where <Sample>(t => t.Url == "c"); //验证 Assert.Equal(result.ToString(), GetSql()); }
public void Test_43() { //结果 var result = new String(); result.AppendLine("Select * "); result.AppendLine("From [Test] "); result.AppendLine("Order By [a] "); result.Append("Offset 0 Rows Fetch Next 20 Rows Only"); //执行 var pager = new QueryParameter { Order = "a" }; _builder.From("Test").Page(pager); //验证 _output.WriteLine(_builder.ToSql()); Assert.Equal(result.ToString(), _builder.ToSql()); }
public void Test_51() { //结果 var result = new String(); result.AppendLine("Select * "); result.AppendLine("From [Sample] As [s] "); result.Append("Where [s].[Email] In (@_p_0,@_p_1)"); //执行 var list = new List <string> { "a", "b" }; _builder.From <Sample>("s").Or <Sample>(t => list.Contains(t.Email)); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Equal("a", _builder.GetParams()["@_p_0"]); Assert.Equal("b", _builder.GetParams()["@_p_1"]); }
public void Test_3() { //结果 var result = new String(); result.AppendLine("Select [a3].[a],[a1].[b1],[a2].[b2] "); result.AppendLine("From [b] As [a2] "); result.AppendLine("Join [c] As [a3] On [a2].[d]=[a3].[e] "); result.Append("Where [b].[Name]=@_p_0"); //执行 _builder.Select("a,a1.b1,[a2].[b2]", "a3") .From("b", "a2") .Join("c", "a3").On("a2.d", "a3.[e]") .Where("b.Name", "abc"); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Single(_builder.GetParams()); Assert.Equal("abc", _builder.GetParams()["@_p_0"]); }
public void TestIsFlex_3() { var config = new GridShareConfig { FormItemFlex = true }; var items = new Dictionary <object, object> { { typeof(GridShareConfig), config } }; var attributes = new TagHelperAttributeList { { UiConst.Span, 2 }, { UiConst.LabelSpan, 3 }, { UiConst.IsFlex, false } }; var result = new String(); result.Append("<nz-form-item>"); result.Append("<nz-form-label [nzSpan]=\"3\">"); result.Append("</nz-form-label>"); result.Append("<nz-form-control [nzSpan]=\"2\">"); result.Append("<x-textbox></x-textbox>"); result.Append("</nz-form-control>"); result.Append("</nz-form-item>"); Assert.Equal(result.ToString(), GetResult(attributes, items: items)); }
public void TestPage_2() { //结果 var result = new String(); result.AppendLine("Select * "); result.AppendLine("From [Test] "); result.AppendLine("Order By [a] "); result.Append("Offset @_p_0 Rows Fetch Next @_p_1 Rows Only"); //执行 var pager = new QueryParameter { Order = "a" }; _builder.From("Test").Page(pager); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Equal(0, _builder.GetParams()["@_p_0"]); Assert.Equal(20, _builder.GetParams()["@_p_1"]); }
public void Test_39() { //结果 var result = new String(); result.AppendLine("Select * "); result.AppendLine("From [Test] "); result.Append("Where [Age]=@_p_2 And [Name]=@_p_0 And [Code]=@_p_1"); //执行 var builder1 = _builder.New().Where("Name", "a"); var builder2 = _builder.New().Where("Code", "b"); _builder.From("Test").Where("Age", 1).And(builder1).And(builder2); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Equal(3, _builder.GetParams().Count); Assert.Equal("a", _builder.GetParams()["@_p_0"]); Assert.Equal("b", _builder.GetParams()["@_p_1"]); Assert.Equal(1, _builder.GetParams()["@_p_2"]); }
public void Test_4() { //结果 var result = new String(); result.AppendLine("Select [a].[Email],[a].[BoolValue],[b].[Description],[b].[IntValue] "); result.AppendLine("From [Sample] As [a] "); result.AppendLine("Left Join [Sample2] As [b] On [a].[Email]=[b].[StringValue] And [a].[IntValue]<>[b].[IntValue] "); result.Append("Where [a].[Email]=@_p_0"); //执行 _builder.Select <Sample>(t => new object[] { t.Email, t.BoolValue }) .Select <Sample2>(t => new object[] { t.Description, t.IntValue }) .From <Sample>("a") .LeftJoin <Sample2>("b").On <Sample, Sample2>((l, r) => l.Email == r.StringValue && l.IntValue != r.IntValue) .Where <Sample>(t => t.Email, "abc"); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Single(_builder.GetParams()); Assert.Equal("abc", _builder.GetParams()["@_p_0"]); }
public void TestIsDeletedFilter_3() { //结果 var result = new String(); result.AppendLine("Select [s5].[StringValue] "); result.AppendLine("From [Sample5] As [s5] "); result.AppendLine("Join [Sample6] As [s6] On [s5].[IntValue]=[s6].[IntValue] And [s6].[IsDeleted]=@_p_1 "); result.AppendLine("Left Join [Sample7] As [s7] On [s6].[IntValue]=[s7].[IntValue] And [s7].[IsDeleted]=@_p_2 "); result.AppendLine("Right Join [Sample8] As [s8] On [s7].[IntValue]=[s8].[IntValue] And [s8].[IsDeleted]=@_p_3 "); result.Append("Where [s5].[IsDeleted]=@_p_0"); //执行 _builder.Select <Sample5>(t => t.StringValue) .From <Sample5>("s5") .Join <Sample6>("s6").On <Sample5, Sample6>((l, r) => l.IntValue == r.IntValue) .LeftJoin <Sample7>("s7").On <Sample6, Sample7>((l, r) => l.IntValue == r.IntValue) .RightJoin <Sample8>("s8").On <Sample7, Sample8>((l, r) => l.IntValue == r.IntValue); //验证 _output.WriteLine(_builder.ToSql()); Assert.Equal(result.ToString(), _builder.ToSql()); }
public void TestType_Radio() { var attributes = new TagHelperAttributeList { { UiConst.Type, TableColumnType.Radio }, { UiConst.Title, "a" } }; var items = new Dictionary <object, object> { { TableConfig.TableShareKey, new TableShareConfig("id") } }; var result = new String(); result.Append("<ng-container matColumnDef=\"selectRadio\">"); result.Append("<mat-header-cell *matHeaderCellDef=\"\">"); result.Append("a"); result.Append("</mat-header-cell>"); result.Append("<mat-cell *matCellDef=\"let row\">"); result.Append("<mat-radio-button "); result.Append("(change)=\"$event?id.checkRow(row):null\" "); result.Append("(click)=\"$event.stopPropagation()\" "); result.Append("[checked]=\"id.checkedSelection.isSelected(row)\"></mat-radio-button>"); result.Append("</mat-cell>"); result.Append("</ng-container>"); Assert.Equal(result.ToString(), GetResult(attributes, items: items)); }
public void Test_53() { //结果 var result = new String(); result.AppendLine("Select * "); result.AppendLine("From [Test] "); result.AppendLine("Join (Select * "); result.AppendLine("From [Test2] "); result.AppendLine("Where [Name]=@_p_0) As [t] "); result.Append("Where [Age]=@_p_1"); //执行 _builder.Select("*").From("Test").AppendJoin(builder => { builder.From("Test2").Where("Name", "a"); }, "t").Where("Age", 1); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Equal(2, _builder.GetParams().Count); Assert.Equal("a", _builder.GetParams()["@_p_0"]); Assert.Equal(1, _builder.GetParams()["@_p_1"]); }
public void Test_49() { //结果 var result = new String(); result.Append("Select *,"); result.AppendLine("(Select Count(*) "); result.AppendLine("From [Test2] "); result.AppendLine("Where [Name]=@_p_0) As [testCount] "); result.AppendLine("From [Test] "); result.Append("Where [Age]=@_p_1"); //执行 var builder2 = _builder.New().AppendSelect("Count(*)").From("Test2").Where("Name", "a"); _builder.Select("*").AppendSelect(builder2, "testCount").From("Test").Where("Age", 1); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Equal(2, _builder.GetParams().Count); Assert.Equal("a", _builder.GetParams()["@_p_0"]); Assert.Equal(1, _builder.GetParams()["@_p_1"]); }
public void Test_33() { //结果 var result = new String(); result.AppendLine("Select [a].[Email] "); result.AppendLine("From [Sample] As [a] "); result.Append("Where [a].[Email] In (@_p_0,@_p_1)"); //执行 var list = new List <string> { "a", "b" }; _builder.Select <Sample>(t => t.Email) .From <Sample>("a") .In <Sample>(t => t.Email, list); //验证 Assert.Equal(result.ToString(), _builder.ToSql()); Assert.Equal(2, _builder.GetParams().Count); Assert.Equal("a", _builder.GetParams()["@_p_0"]); Assert.Equal("b", _builder.GetParams()["@_p_1"]); }
/// <summary> /// 测试初始化 /// </summary> public StringTest() { Builder = new String(); }