add \0 string test

This commit is contained in:
2881099
2022-06-07 10:15:52 +08:00
parent 79ebc184ef
commit e9949b58ff
16 changed files with 1021 additions and 701 deletions

View File

@ -1,4 +1,4 @@
using FreeSql.DataAnnotations;
using FreeSql.DataAnnotations;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
@ -10,12 +10,32 @@ namespace FreeSql.Tests.GBase
{
public class GBaseCodeFirstTest
{
[Fact]
public void Test_0String()
{
var fsql = g.gbase;
fsql.Delete<test_0string01>().Where("1=1").ExecuteAffrows();
Assert.Equal(1, fsql.Insert(new test_0string01 { name = @"1.0000\0.0000\0.0000\0.0000\1.0000\0.0000" }).ExecuteAffrows());
Assert.Equal(1, fsql.Insert(new test_0string01 { name = @"1.0000\0.0000\0.0000\0.0000\1.0000\0.0000" }).NoneParameter().ExecuteAffrows());
var list = fsql.Select<test_0string01>().ToList();
Assert.Equal(2, list.Count);
Assert.Equal(@"1.0000\0.0000\0.0000\0.0000\1.0000\0.0000", list[0].name);
Assert.Equal(@"1.0000\0.0000\0.0000\0.0000\1.0000\0.0000", list[1].name);
}
class test_0string01
{
public Guid id { get; set; }
public string name { get; set; }
}
[Fact]
public void InsertUpdateParameter()
{
var fsql = g.gbase;
fsql.CodeFirst.SyncStructure<ts_iupstr_bak>();
var item = new ts_iupstr { id = Guid.NewGuid(), title = string.Join(",", Enumerable.Range(0, 2000).Select(a => "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD>")) };
var item = new ts_iupstr { id = Guid.NewGuid(), title = string.Join(",", Enumerable.Range(0, 2000).Select(a => "我是中国人")) };
Assert.Equal(1, fsql.Insert(item).ExecuteAffrows());
var find = fsql.Select<ts_iupstr>().Where(a => a.id == item.id).First();
Assert.NotNull(find);
@ -38,8 +58,8 @@ namespace FreeSql.Tests.GBase
[Fact]
public void Text_StringLength_1()
{
var str1 = string.Join(",", Enumerable.Range(0, 10000).Select(a => "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD>"));
var str2 = string.Join(",", Enumerable.Range(0, 10000).Select(a => "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD>˰<EFBFBD>"));
var str1 = string.Join(",", Enumerable.Range(0, 10000).Select(a => "我是中国人"));
var str2 = string.Join(",", Enumerable.Range(0, 10000).Select(a => "我是中国人啊"));
var item1 = new TS_TEXT02 { Data = str1, Data2 = str2 };
Assert.Equal(1, g.gbase.Insert(item1).ExecuteAffrows());
@ -71,7 +91,7 @@ namespace FreeSql.Tests.GBase
[Fact]
public void Blob()
{
var str1 = string.Join(",", Enumerable.Range(0, 10000).Select(a => "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD>"));
var str1 = string.Join(",", Enumerable.Range(0, 10000).Select(a => "我是中国人"));
var data1 = Encoding.UTF8.GetBytes(str1);
var item1 = new TS_BLB01 { Data = data1 };
@ -116,57 +136,57 @@ namespace FreeSql.Tests.GBase
}
[Fact]
public void <EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>_<EFBFBD>ֶ<EFBFBD>()
public void _字段()
{
var sql = g.gbase.CodeFirst.GetComparisonDDLStatements<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>>();
g.gbase.CodeFirst.SyncStructure<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>>();
var sql = g.gbase.CodeFirst.GetComparisonDDLStatements<>();
g.gbase.CodeFirst.SyncStructure<>();
var item = new <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
var item = new
{
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = "<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>",
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> = DateTime.Now
= "测试标题",
= DateTime.Now
};
Assert.Equal(1, g.gbase.Insert<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>>().AppendData(item).ExecuteAffrows());
Assert.NotEqual(Guid.Empty, item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
var item2 = g.gbase.Select<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>>().Where(a => a.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> == item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>).First();
Assert.Equal(1, g.gbase.Insert<>().AppendData(item).ExecuteAffrows());
Assert.NotEqual(Guid.Empty, item.);
var item2 = g.gbase.Select<>().Where(a => a. == item.).First();
Assert.NotNull(item2);
Assert.Equal(item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, item2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
Assert.Equal(item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, item2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
Assert.Equal(item., item2.);
Assert.Equal(item., item2.);
item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = "<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
Assert.Equal(1, g.gbase.Update<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>>().SetSource(item).ExecuteAffrows());
item2 = g.gbase.Select<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>>().Where(a => a.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> == item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>).First();
item. = "测试标题更新";
Assert.Equal(1, g.gbase.Update<>().SetSource(item).ExecuteAffrows());
item2 = g.gbase.Select<>().Where(a => a. == item.).First();
Assert.NotNull(item2);
Assert.Equal(item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, item2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
Assert.Equal(item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, item2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
Assert.Equal(item., item2.);
Assert.Equal(item., item2.);
item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = "<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_repo";
var repo = g.gbase.GetRepository<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>>();
item. = "测试标题更新_repo";
var repo = g.gbase.GetRepository<>();
Assert.Equal(1, repo.Update(item));
item2 = g.gbase.Select<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>>().Where(a => a.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> == item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>).First();
item2 = g.gbase.Select<>().Where(a => a. == item.).First();
Assert.NotNull(item2);
Assert.Equal(item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, item2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
Assert.Equal(item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, item2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
Assert.Equal(item., item2.);
Assert.Equal(item., item2.);
item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = "<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_repo22";
item. = "测试标题更新_repo22";
Assert.Equal(1, repo.Update(item));
item2 = g.gbase.Select<<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>>().Where(a => a.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> == item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>).First();
item2 = g.gbase.Select<>().Where(a => a. == item.).First();
Assert.NotNull(item2);
Assert.Equal(item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, item2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
Assert.Equal(item.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, item2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
Assert.Equal(item., item2.);
Assert.Equal(item., item2.);
}
class <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
class
{
[Column(IsPrimary = true)]
public Guid <EFBFBD><EFBFBD><EFBFBD><EFBFBD> { get; set; }
public Guid { get; set; }
public string <EFBFBD><EFBFBD><EFBFBD><EFBFBD> { get; set; }
public string { get; set; }
[Column(ServerTime = DateTimeKind.Local, CanUpdate = false)]
public DateTime <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> { get; set; }
public DateTime { get; set; }
[Column(ServerTime = DateTimeKind.Local)]
public DateTime <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> { get; set; }
public DateTime { get; set; }
}
[Fact]
@ -182,7 +202,7 @@ namespace FreeSql.Tests.GBase
class AddUniquesInfo
{
/// <summary>
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// 编号
/// </summary>
public Guid id { get; set; }
public string phone { get; set; }
@ -239,7 +259,7 @@ namespace FreeSql.Tests.GBase
BoolNullable = true,
Byte = 255,
ByteNullable = 127,
Bytes = Encoding.UTF8.GetBytes("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD>"),
Bytes = Encoding.UTF8.GetBytes("我是中国人"),
DateTime = DateTime.Now,
DateTimeNullable = DateTime.Now.AddHours(-1),
Decimal = 99.99M,
@ -260,7 +280,7 @@ namespace FreeSql.Tests.GBase
SByteNullable = 99,
Short = short.MaxValue,
ShortNullable = short.MinValue + 1,
String = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD>string'\\?!@#$%^&*()_+{}}{~?><<>",
String = "我是中国人string'\\?!@#$%^&*()_+{}}{~?><<>",
TimeSpan = TimeSpan.FromSeconds(999),
TimeSpanNullable = TimeSpan.FromSeconds(60),
UInt = uint.MaxValue,