2
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License as
6
* published by the Free Software Foundation; version 2 of the
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20
#include "tut_stdafx.h"
22
#include "grt/tree_model.h"
28
BEGIN_TEST_DATA_CLASS(be_tree_model)
34
TEST_MODULE(be_tree_model, "grt tree model base");
40
ensure("clean node", !node.is_valid());
42
ensure("clean node depth", node.depth()==0);
46
ensure("node(5)", node.is_valid());
47
ensure_equals("node(5).depth()", node.depth(), 1);
48
ensure_equals("node(5)[0]", node[0], 5);
50
node2= node.append(7);
51
ensure_equals("node append", node.depth(), 2);
52
ensure_equals("node append[0]", node[0], 5);
53
ensure_equals("node append[1]", node[1], 7);
55
ensure_equals("node append ret", node2.depth(), 2);
56
ensure_equals("node append ret[0]", node2[0], 5);
57
ensure_equals("node append ret[1]", node2[1], 7);
59
ensure("node compare", node==node2);
62
ensure("node compare", !(node==node2));
67
ensure("node compare", !(node==node2));
70
ensure("node assign/compare", node==node2);
81
ensure_equals("() repr", s, "");
82
ensure("() parse", NodeId(s)==node);
86
ensure("(3) check", node==NodeId(3));
87
ensure_equals("(3) repr", s, "3");
88
ensure_equals("(3) parse", NodeId(s).repr(), node.repr());
92
ensure_equals("(3,0) repr", s, "3.0");
93
ensure_equals("(3,0) parse", NodeId(s).repr(), node.repr());
97
ensure_equals("(3,0,1) repr", s, "3.0.1");
98
ensure_equals("(3,0,1) parse", NodeId(s).repr(), node.repr());
101
// test common tree_model methods (get_parent etc)