public void Test_ReadWrite() { ClusterTree rt1 = new ClusterTree(); RangeNode root = new RangeNode(5); rt1.Root = root; for (int i = 0; i < 5; ++i) { root.Children[i] = new RangeNode(0) { UpperLimit = 0.1f * i }; } rt1.Version.UserDescription = "Bla bla"; string fileName = Path.Combine(_outDir, "ClusterTree.dat"); rt1.Write(fileName); ClusterTree rt2 = ClusterTree.Read(fileName); Assert.AreEqual(rt1.Version, rt2.Version); Assert.IsTrue(CompareTrees <int, int> .Compare(rt1, rt1.Root, rt2, rt2.Root, (t1, n1, t2, n2) => { return(((RangeNode)n1).UpperLimit == ((RangeNode)n2).UpperLimit); })); }
public void Test_ValueDiffers() { int nodeCount; TestNode1 root1; nodeCount = 0; CreateTestTree1(out root1, 4, 2, ref nodeCount); TestNode2 root2; nodeCount = 0; CreateTestTree2(out root2, 4, 2, ref nodeCount); root2.Children[1].Children[0].DoubleValue = -1; // Change the value CompareTrees <TestNode1, TestNode1, int, TestNode2, TestNode2, int> comp = new CompareTrees <TestNode1, TestNode1, int, TestNode2, TestNode2, int>(); bool result = comp.Compare(root1, root1, root2, root2, (t1, n1, t2, n2) => n1.IntValue == n2.DoubleValue); Assert.IsFalse(result); Assert.AreEqual(CompareTrees.ResultKind.ValueDiffers, comp.Result); Assert.AreEqual(9, comp.DiffersAt); // Test helper functions as well. result = CompareTrees <int, int> .Compare(root1, root1, root2, root2, (t1, n1, t2, n2) => n1.IntValue == n2.DoubleValue); Assert.IsFalse(result); result = CompareTrees <int, int> .Compare(root1, root1, root2, root2); Assert.IsFalse(result); }
public void Test_Equal() { int nodeCount; TestNode1 root1; nodeCount = 0; CreateTestTree1(out root1, 4, 3, ref nodeCount); TestNode2 root2; nodeCount = 0; CreateTestTree2(out root2, 4, 3, ref nodeCount); CompareTrees <TestNode1, TestNode1, int, TestNode2, TestNode2, int> comp = new CompareTrees <TestNode1, TestNode1, int, TestNode2, TestNode2, int>(); bool result = comp.Compare(root1, root1, root2, root2, (t1, n1, t2, n2) => n1.IntValue == n2.DoubleValue); Assert.IsTrue(result); Assert.AreEqual(CompareTrees.ResultKind.Equal, comp.Result); // Test helper functions as well. result = CompareTrees <int, int> .Compare(root1, root1, root2, root2, (t1, n1, t2, n2) => n1.IntValue == n2.DoubleValue); Assert.IsTrue(result); result = CompareTrees <int, int> .Compare(root1, root1, root2, root2); Assert.IsTrue(result); }
protected void ASPxButton1_Click(object sender, EventArgs e) { ASPxTreeList1.Columns.Clear(); //tl.Columns[0].Caption = "Customer"; TreeView1.Nodes.Clear(); int rschId; if (ASPxComboBox1.SelectedItem.Text != "") { //ASPxTreeList1.BeginUpdate(); //ASPxTreeList1.Columns.Add(); //tl.Columns[0].Caption = "Customer"; //tl.Columns[0].VisibleIndex = 0; //tl.Columns.Add(); //tl.Columns[1].Caption = "Location"; //tl.Columns[1].VisibleIndex = 1; //tl.Columns.Add(); //tl.Columns[2].Caption = "Phone"; //tl.Columns[2].VisibleIndex = 2; //tl.EndUpdate(); ASPxTreeList1.Columns.Add(new DevExpress.Web.ASPxTreeList.TreeListDataColumn("KeyName", "Имя ключя")); ASPxTreeList1.Columns.Add(new DevExpress.Web.ASPxTreeList.TreeListDataColumn("IsNodeInRsch", Rs.ResearchName)); ASPxTreeList1.Columns.Add(new DevExpress.Web.ASPxTreeList.TreeListDataColumn("IsMoneInCompared", ASPxComboBox1.SelectedItem.Text)); //var r = CreateNodeCore( "test root","1", "2", null); //CreateNodeCore("child", "2", "1", r); //CreateNodeCore("test root2", "3", "3", null); //ASPxTreeList1.AppendNode(1,new { IsNodeInRsch = "1", IsMoneInCompared = "2" }, null); //ASPxLabel3.Text = ASPxComboBox1.SelectedItem.Text; //LComparePie.Text = ASPxComboBox1.SelectedItem.Text; } //rschId = (int)ASPxComboBox1.SelectedItem.Value; Int32.TryParse((string)ASPxComboBox1.SelectedItem.Value, out rschId); CompareTrees ct = new CompareTrees(); try { ASPxTreeList1.ClearNodes(); var nodes = ct.GetRschTree(Rs.Id, rschId); for (int i = 0; i < nodes.Nodes.Count; i++) //TreeNode tn in nodes.Nodes) TreeView1.Nodes.Add(nodes.Nodes[i]); TreeView1.Nodes[0].Text = "Сравнение ветвей реестра"; ConvertTreeViewToTreeList(TreeView1.Nodes[0], null); ASPxTreeList1.ExpandAll(); } catch { TreeView1.Nodes.Add(new TreeNode("Нет этементов для сравнения")); } }