public void Test_CreateCode_With_Length() { var generate = new GeneralTreeCodeGenerate(new GeneralTreeCodeGenerateConfiguration() { CodeLength = 3 }); generate.CreateCode().ShouldBe(null); generate.CreateCode(42).ShouldBe("042"); generate.CreateCode(1, 2).ShouldBe("001.002"); generate.CreateCode(1, 2, 3).ShouldBe("001.002.003"); }
public void Test_CreateCode() { GeneralTreeCodeGenerate.CreateCode().ShouldBe(null); GeneralTreeCodeGenerate.CreateCode(42).ShouldBe("00042"); GeneralTreeCodeGenerate.CreateCode(1, 2).ShouldBe("00001.00002"); GeneralTreeCodeGenerate.CreateCode(1, 2, 3).ShouldBe("00001.00002.00003"); }
public async Task BulkCreate_Test() { //Act var beijing = new Region2 { Name = "beijing" }; var xicheng = new Region2 { Name = "xicheng", ParentId = beijing.Id }; var dongcheng = new Region2 { Name = "dongcheng", ParentId = beijing.Id }; beijing.Children = new List <Region2> { xicheng, dongcheng }; await _generalRegion2TreeManager.BulkCreateAsync(beijing); //Assert var bj = GetRegion("beijing"); bj.ShouldNotBeNull(); bj.Name.ShouldBe("beijing"); bj.FullName.ShouldBe("beijing"); bj.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1)); bj.Level.ShouldBe(1); bj.ParentId.ShouldBeNull(); var xc = GetRegion("xicheng"); xc.ShouldNotBeNull(); xc.Name.ShouldBe("xicheng"); xc.FullName.ShouldBe("beijing-xicheng"); xc.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 1)); xc.Level.ShouldBe(beijing.Level + 1); xc.ParentId.ShouldBe(beijing.Id); var dc = GetRegion("dongcheng"); dc.ShouldNotBeNull(); dc.Name.ShouldBe("dongcheng"); dc.FullName.ShouldBe("beijing-dongcheng"); dc.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 2)); dc.Level.ShouldBe(beijing.Level + 1); dc.ParentId.ShouldBe(beijing.Id); }
public async Task Create_Test() { //Act var beijing = new Region2 { Name = "beijing" }; await _generalRegion2TreeManager.CreateAsync(beijing); //Assert var xc = GetRegion("beijing"); xc.ShouldNotBeNull(); xc.Name.ShouldBe("beijing"); xc.FullName.ShouldBe("beijing"); xc.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1)); xc.Level.ShouldBe(1); xc.ParentId.ShouldBeNull(); }
public async Task Create_Children_Test() { //Act var beijing = new Region { Name = "beijing" }; await _generalRegionTreeManager.CreateAsync(beijing); var xicheng = new Region { Name = "xicheng", ParentId = beijing.Id }; await _generalRegionTreeManager.CreateAsync(xicheng); var dongcheng = new Region { Name = "dongcheng", ParentId = beijing.Id }; await _generalRegionTreeManager.CreateAsync(dongcheng); //Assert var xc = GetRegion("xicheng"); xc.ShouldNotBeNull(); xc.Name.ShouldBe("xicheng"); xc.FullName.ShouldBe("beijing-xicheng"); xc.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 1)); xc.Level.ShouldBe(beijing.Level + 1); xc.ParentId.ShouldBe(beijing.Id); var dc = GetRegion("dongcheng"); dc.ShouldNotBeNull(); dc.Name.ShouldBe("dongcheng"); dc.FullName.ShouldBe("beijing-dongcheng"); dc.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 2)); dc.Level.ShouldBe(beijing.Level + 1); dc.ParentId.ShouldBe(beijing.Id); }
public async Task BulkCreate_ExistTree_Test() { //Arrange var hebei = new Region2 { Name = "hebei", FullName = "hebei", Code = "00001", Level = 1 }; await UsingDbContextAsync(async context => { context.Region2.Add(hebei); await context.SaveChangesAsync(); context.Region2.Add(new Region2 { Name = "shijiazhuang", FullName = "hebei-shijiazhuang", Code = "00001.00001", Level = 2, ParentId = hebei.Id }); await context.SaveChangesAsync(); }); var chengde = new Region2 { Name = "chengde", ParentId = hebei.Id, Children = new List <Region2> { new Region2 { Name = "shuangqiaoqu" }, new Region2 { Name = "shuangluanqu" } } }; await _generalRegion2TreeManager.BulkCreateAsync(chengde); //Assert chengde = GetRegion("chengde"); chengde.ShouldNotBeNull(); chengde.Name.ShouldBe("chengde"); chengde.FullName.ShouldBe("hebei-chengde"); chengde.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 2)); chengde.Level.ShouldBe(2); chengde.ParentId.ShouldBe(hebei.Id); var shuangqiaoqu = GetRegion("shuangqiaoqu"); shuangqiaoqu.ShouldNotBeNull(); shuangqiaoqu.Name.ShouldBe("shuangqiaoqu"); shuangqiaoqu.FullName.ShouldBe("hebei-chengde-shuangqiaoqu"); shuangqiaoqu.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 2, 1)); shuangqiaoqu.Level.ShouldBe(chengde.Level + 1); shuangqiaoqu.ParentId.ShouldBe(chengde.Id); var shuangluanqu = GetRegion("shuangluanqu"); shuangluanqu.ShouldNotBeNull(); shuangluanqu.Name.ShouldBe("shuangluanqu"); shuangluanqu.FullName.ShouldBe("hebei-chengde-shuangluanqu"); shuangluanqu.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 2, 2)); shuangluanqu.Level.ShouldBe(chengde.Level + 1); shuangluanqu.ParentId.ShouldBe(chengde.Id); }
public async Task FillUp_Test() { //Act var beijing = new Region2 { Name = "beijing" }; var xicheng = new Region2 { Name = "xicheng", ParentId = beijing.Id }; var dongcheng = new Region2 { Name = "dongcheng", ParentId = beijing.Id }; var balizhuang = new Region2 { Name = "balizhuang", ParentId = dongcheng.Id }; dongcheng.Children = new List <Region2> { balizhuang }; beijing.Children = new List <Region2> { xicheng, dongcheng }; await _generalRegion2TreeManager.FillUpAsync(beijing); //Assert beijing.FullName.ShouldBe("beijing"); beijing.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1)); beijing.Level.ShouldBe(1); beijing.ParentId.ShouldBeNull(); beijing.Children.Count.ShouldBe(2); xicheng.FullName.ShouldBe("beijing-xicheng"); xicheng.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 1)); xicheng.Level.ShouldBe(beijing.Level + 1); xicheng.ParentId.ShouldBe(beijing.Id); dongcheng.FullName.ShouldBe("beijing-dongcheng"); dongcheng.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 2)); dongcheng.Level.ShouldBe(beijing.Level + 1); dongcheng.ParentId.ShouldBe(beijing.Id); balizhuang.FullName.ShouldBe("beijing-dongcheng-balizhuang"); balizhuang.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 2, 1)); balizhuang.Level.ShouldBe(dongcheng.Level + 1); balizhuang.ParentId.ShouldBe(dongcheng.Id); }
public async Task FillUp_Test() { //Act var beijing = new Region { Name = "beijing" }; var xicheng = new Region { Name = "xicheng", ParentId = beijing.Id }; var dongcheng = new Region { Name = "dongcheng", ParentId = beijing.Id }; var balizhuang = new Region { Name = "balizhuang", ParentId = dongcheng.Id }; dongcheng.Children = new List <Region> { balizhuang }; beijing.Children = new List <Region> { xicheng, dongcheng }; var uowManager = LocalIocManager.Resolve <IUnitOfWorkManager>(); using (var uow = uowManager.Begin()) { await _generalRegionTreeManager.FillUpAsync(beijing); uow.Complete(); } //Assert beijing.FullName.ShouldBe("beijing"); beijing.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1)); beijing.Level.ShouldBe(1); beijing.ParentId.ShouldBeNull(); beijing.Children.Count.ShouldBe(2); xicheng.FullName.ShouldBe("beijing-xicheng"); xicheng.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 1)); xicheng.Level.ShouldBe(beijing.Level + 1); xicheng.ParentId.ShouldBe(beijing.Id); dongcheng.FullName.ShouldBe("beijing-dongcheng"); dongcheng.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 2)); dongcheng.Level.ShouldBe(beijing.Level + 1); dongcheng.ParentId.ShouldBe(beijing.Id); balizhuang.FullName.ShouldBe("beijing-dongcheng-balizhuang"); balizhuang.Code.ShouldBe(GeneralTreeCodeGenerate.CreateCode(1, 2, 1)); balizhuang.Level.ShouldBe(dongcheng.Level + 1); balizhuang.ParentId.ShouldBe(dongcheng.Id); }