public void Delete() { var disk = this.Fixture.Get <VirtualDisk>(); var directory = this.Fixture.Get <VirtualDirectory>("common 1-1-1"); DeleteVirtualDirectory cmd = DeleteVirtualDirectory.GetCommon(disk.Id, directory.Id); cmd.Execute(); var obj = VirtualDirectoryCommon.FindById(directory.Id, QueryLevel.None); Assert.IsTrue(obj.IsEmpty()); }
private void AssertDirectory(Guid id, string name) { DataPortal.Direct <VirtualDirectory>((conn) => { var result = conn.QuerySingle("select name from dbo.virtualDirectory where id=@id", new { id }); Assert.AreEqual(name, result.name); }); var directory = VirtualDirectoryCommon.FindById(id, QueryLevel.Mirroring); //验证LR值 var lr = GetLR(id); var childs = directory.Childs; if (childs.Count() == 0) { return; } if (childs.Count() == 1) { //子项只有一个节点时 var child = childs.First(); var childLR = GetLR(child.Id); Assert.AreEqual(lr.Left + 1, childLR.Left); Assert.AreEqual(lr.Right - 1, childLR.Right); AssertDirectory(child.Id, child.Name); } else { //子项有多个节点时,父节点的左值+1等于第一个子节点的左值,父节点的右值-1等于最后一个节点的右值 var first = childs.First(); var last = childs.Last(); var firstLR = GetLR(first.Id); var lastLR = GetLR(last.Id); Assert.AreEqual(lr.Left + 1, firstLR.Left); Assert.AreEqual(lr.Right - 1, lastLR.Right); foreach (var child in childs) { AssertDirectory(child.Id, child.Name); } } }