##// END OF EJS Templates
Adding testing for componenets.
Brian Granger -
Show More
@@ -0,0 +1,67 b''
1 #!/usr/bin/env python
2 # encoding: utf-8
3 """
4 Tests for IPython.core.component
5
6 Authors:
7
8 * Brian Granger
9 * Fernando Perez (design help)
10 """
11
12 #-----------------------------------------------------------------------------
13 # Copyright (C) 2008-2009 The IPython Development Team
14 #
15 # Distributed under the terms of the BSD License. The full license is in
16 # the file COPYING, distributed as part of this software.
17 #-----------------------------------------------------------------------------
18
19 #-----------------------------------------------------------------------------
20 # Imports
21 #-----------------------------------------------------------------------------
22
23 from unittest import TestCase
24
25 from IPython.core.component import Component
26
27
28 #-----------------------------------------------------------------------------
29 # Test cases
30 #-----------------------------------------------------------------------------
31
32
33 class TestComponentMeta(TestCase):
34
35 def test_get_instances(self):
36 class BaseComponent(Component):
37 pass
38 c1 = BaseComponent(None)
39 c2 = BaseComponent(c1)
40 self.assertEquals(BaseComponent.get_instances(),[c1,c2])
41
42
43 class TestComponent(TestCase):
44
45 def test_parent_child(self):
46 c1 = Component(None)
47 c2 = Component(c1)
48 c3 = Component(c1)
49 c4 = Component(c3)
50 self.assertEquals(c1.parent, None)
51 self.assertEquals(c2.parent, c1)
52 self.assertEquals(c3.parent, c1)
53 self.assertEquals(c4.parent, c3)
54 self.assertEquals(c1.children, [c2, c3])
55 self.assertEquals(c2.children, [])
56 self.assertEquals(c3.children, [c4])
57 self.assertEquals(c4.children, [])
58
59 def test_root(self):
60 c1 = Component(None)
61 c2 = Component(c1)
62 c3 = Component(c1)
63 c4 = Component(c3)
64 self.assertEquals(c1.root, c1.root)
65 self.assertEquals(c2.root, c1)
66 self.assertEquals(c3.root, c1)
67 self.assertEquals(c4.root, c1) No newline at end of file
@@ -186,4 +186,4 b' class Component(HasTraitlets):'
186 self._children.append(child)
186 self._children.append(child)
187
187
188 def __repr__(self):
188 def __repr__(self):
189 return "<Component('%s')>" % self.name No newline at end of file
189 return "<Component('%s')>" % self.name
General Comments 0
You need to be logged in to leave comments. Login now