using System.Collections.Generic; using Util.Applications.Trees; using Xunit; namespace Util.Applications { /// /// 树形节点扩展测试 /// public class TreeNodeExtensionsTest { /// /// 测试获取缺失的父标识列表 - 1个根节点,不缺失 /// [Fact] public void TestGetMissingParentIds_1() { var nodes = new List { new TreeNode1() }; var result = nodes.GetMissingParentIds(); Assert.Empty( result ); } /// /// 测试获取缺失的父标识列表 - 1个2级节点,缺失根节点标识 /// [Fact] public void TestGetMissingParentIds_2() { var nodes = new List { new TreeNode2() }; var result = nodes.GetMissingParentIds(); Assert.Single( result ); Assert.Equal( "1", result[0] ); } /// /// 测试获取缺失的父标识列表 - 2个节点,不缺失 /// [Fact] public void TestGetMissingParentIds_3() { var nodes = new List { new TreeNode1(), new TreeNode2() }; var result = nodes.GetMissingParentIds(); Assert.Empty( result ); } /// /// 测试获取缺失的父标识列表 - 1个3级节点,缺失 /// [Fact] public void TestGetMissingParentIds_4() { var nodes = new List { new TreeNode3() }; var result = nodes.GetMissingParentIds(); Assert.Equal( 2,result.Count ); Assert.Equal( "1", result[0] ); Assert.Equal( "2", result[1] ); } /// /// 测试获取缺失的父标识列表 - 1个4级节点,缺失 /// [Fact] public void TestGetMissingParentIds_5() { var nodes = new List { new TreeNode5() }; var result = nodes.GetMissingParentIds(); Assert.Equal( 3, result.Count ); Assert.Equal( "1", result[0] ); Assert.Equal( "2", result[1] ); Assert.Equal( "4", result[2] ); } } }