aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/vTC/apexlake/tests/tree_node_test.py
blob: fb38b69bd32da6ecfdf8d0a6fdce61e6e267a9bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Copyright (c) 2015 Intel Research and Development Ireland Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from __future__ import absolute_import
import unittest
import experimental_framework.heat_template_generation as heat_gen

__author__ = 'gpetralx'


class TestTreeNode(unittest.TestCase):

    def setUp(self):
        self.tree = heat_gen.TreeNode()

    def tearDown(self):
        pass

    def test_add_child_for_success(self):
        child = heat_gen.TreeNode()
        self.tree.add_child(child)
        self.assertIn(child, self.tree.down)

    def test_get_parent_for_success(self):
        self.assertIsNone(self.tree.get_parent())
        child = heat_gen.TreeNode()
        self.tree.add_child(child)
        self.assertEqual(self.tree, child.get_parent())

    def test_get_children_for_success(self):
        self.assertListEqual(list(), self.tree.get_children())
        child = heat_gen.TreeNode()
        self.tree.add_child(child)
        children = [child]
        self.assertListEqual(children, self.tree.get_children())

    def test_variable_name_for_success(self):
        self.assertEqual('', self.tree.get_variable_name())
        variable_name = 'test'
        self.tree.set_variable_name(variable_name)
        self.assertEqual(variable_name, self.tree.get_variable_name())

    def test_variable_value_for_success(self):
        self.assertEqual(0, self.tree.get_variable_value())
        variable_value = 1
        self.tree.set_variable_value(variable_value)
        self.assertEqual(variable_value, self.tree.get_variable_value())

    def test_get_path_for_success(self):
        child_1 = heat_gen.TreeNode()
        self.tree.add_child(child_1)
        child_2 = heat_gen.TreeNode()
        child_1.add_child(child_2)
        child_3 = heat_gen.TreeNode()
        child_2.add_child(child_3)

        path = [self.tree, child_1, child_2, child_3]

        self.assertListEqual(path, child_3.get_path())

    def test_str_for_success(self):
        name = 'name'
        value = 0
        self.tree.set_variable_name(name)
        self.tree.set_variable_value(value)
        self.assertEqual(name + " --> " + str(value), str(self.tree))

    def test_repr_for_success(self):
        name = 'name'
        value = 0
        self.tree.set_variable_name(name)
        self.tree.set_variable_value(value)
        self.assertEqual(name + " = " + str(value), repr(self.tree))

    def test_get_leaves_for_success(self):
        child_1 = heat_gen.TreeNode()
        self.tree.add_child(child_1)
        child_2 = heat_gen.TreeNode()
        child_1.add_child(child_2)
        child_3 = heat_gen.TreeNode()
        child_2.add_child(child_3)
        child_4 = heat_gen.TreeNode()
        child_2.add_child(child_4)
        child_5 = heat_gen.TreeNode()
        child_2.add_child(child_5)
        leaves = [child_3, child_4, child_5]
        self.assertListEqual(leaves, heat_gen.TreeNode.get_leaves(self.tree))