Merge "Open storperf testcase to huawei-pod2"
[yardstick.git] / yardstick / vTC / apexlake / tests / tree_node_test.py
1 # Copyright (c) 2015 Intel Research and Development Ireland Ltd.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 from __future__ import absolute_import
16 import unittest
17 import experimental_framework.heat_template_generation as heat_gen
18
19 __author__ = 'gpetralx'
20
21
22 class TestTreeNode(unittest.TestCase):
23
24     def setUp(self):
25         self.tree = heat_gen.TreeNode()
26
27     def tearDown(self):
28         pass
29
30     def test_add_child_for_success(self):
31         child = heat_gen.TreeNode()
32         self.tree.add_child(child)
33         self.assertIn(child, self.tree.down)
34
35     def test_get_parent_for_success(self):
36         self.assertIsNone(self.tree.get_parent())
37         child = heat_gen.TreeNode()
38         self.tree.add_child(child)
39         self.assertEqual(self.tree, child.get_parent())
40
41     def test_get_children_for_success(self):
42         self.assertListEqual(list(), self.tree.get_children())
43         child = heat_gen.TreeNode()
44         self.tree.add_child(child)
45         children = [child]
46         self.assertListEqual(children, self.tree.get_children())
47
48     def test_variable_name_for_success(self):
49         self.assertEqual('', self.tree.get_variable_name())
50         variable_name = 'test'
51         self.tree.set_variable_name(variable_name)
52         self.assertEqual(variable_name, self.tree.get_variable_name())
53
54     def test_variable_value_for_success(self):
55         self.assertEqual(0, self.tree.get_variable_value())
56         variable_value = 1
57         self.tree.set_variable_value(variable_value)
58         self.assertEqual(variable_value, self.tree.get_variable_value())
59
60     def test_get_path_for_success(self):
61         child_1 = heat_gen.TreeNode()
62         self.tree.add_child(child_1)
63         child_2 = heat_gen.TreeNode()
64         child_1.add_child(child_2)
65         child_3 = heat_gen.TreeNode()
66         child_2.add_child(child_3)
67
68         path = [self.tree, child_1, child_2, child_3]
69
70         self.assertListEqual(path, child_3.get_path())
71
72     def test_str_for_success(self):
73         name = 'name'
74         value = 0
75         self.tree.set_variable_name(name)
76         self.tree.set_variable_value(value)
77         self.assertEqual(name + " --> " + str(value), str(self.tree))
78
79     def test_repr_for_success(self):
80         name = 'name'
81         value = 0
82         self.tree.set_variable_name(name)
83         self.tree.set_variable_value(value)
84         self.assertEqual(name + " = " + str(value), repr(self.tree))
85
86     def test_get_leaves_for_success(self):
87         child_1 = heat_gen.TreeNode()
88         self.tree.add_child(child_1)
89         child_2 = heat_gen.TreeNode()
90         child_1.add_child(child_2)
91         child_3 = heat_gen.TreeNode()
92         child_2.add_child(child_3)
93         child_4 = heat_gen.TreeNode()
94         child_2.add_child(child_4)
95         child_5 = heat_gen.TreeNode()
96         child_2.add_child(child_5)
97         leaves = [child_3, child_4, child_5]
98         self.assertListEqual(leaves, heat_gen.TreeNode.get_leaves(self.tree))