Skip to content

Commit

Permalink
test insertfirst and insertlast
Browse files Browse the repository at this point in the history
  • Loading branch information
rnixx committed Oct 2, 2011
1 parent 8e1c87b commit 504bf57
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 2 deletions.
9 changes: 8 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ Summary of the test coverage report::
113 100% node.parts.mapping
31 100% node.parts.nodespace
70 100% node.parts.nodify
65 100% node.parts.order
79 100% node.parts.order
81 100% node.parts.reference
26 100% node.parts.storage
1 100% node.testing.__init__
Expand All @@ -272,6 +272,13 @@ Contributors
Changes
=======

0.9.5dev
--------

- add ``insertfirst`` and ``insertlast`` to ``node.parts.Order``.
[rnix, 2011-10-02]


0.9.4
-----

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from setuptools import setup, find_packages
import os

version = '0.9.4'
version = '0.9.5dev'
shortdesc = "The node"
longdesc = open(os.path.join(os.path.dirname(__file__), 'README.rst')).read()
longdesc += open(os.path.join(os.path.dirname(__file__), 'LICENSE.rst')).read()
Expand Down
8 changes: 8 additions & 0 deletions src/node/interfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -403,6 +403,14 @@ class IOrder(Interface):
"""Plumbing part for ordering support.
"""

def insertfirst(newnode):
"""Insert newnode as first node.
"""

def insertlast(newnode):
"""Insert newnode as last node.
"""

def insertbefore(newnode, refnode):
"""Insert newnode before refnode.
Expand Down
40 changes: 40 additions & 0 deletions src/node/parts/order.rst
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,50 @@ detached node or subtree to a complete different tree::
<class 'OrderableNode'>: child2
<class 'OrderableNode'>: child5

There exist ``insertfirst`` and ``insertlast`` functions::

>>> new = OrderableNode(name='first')
>>> node.insertfirst(new)
>>> node.printtree()
<class 'OrderableNode'>: root
<class 'OrderableNode'>: first
<class 'OrderableNode'>: child4
<class 'OrderableNode'>: child1
<class 'OrderableNode'>: child3
<class 'OrderableNode'>: child2
<class 'OrderableNode'>: child5
>>> new = OrderableNode(name='last')
>>> node.insertlast(new)
>>> node.printtree()
<class 'OrderableNode'>: root
<class 'OrderableNode'>: first
<class 'OrderableNode'>: child4
<class 'OrderableNode'>: child1
<class 'OrderableNode'>: child3
<class 'OrderableNode'>: child2
<class 'OrderableNode'>: child5
<class 'OrderableNode'>: last

>>> node.clear()
>>> new = OrderableNode(name='new')
>>> node.insertfirst(new)
>>> node.printtree()
<class 'OrderableNode'>: root
<class 'OrderableNode'>: new
>>> node.clear()
>>> node.insertlast(new)
>>> node.printtree()
<class 'OrderableNode'>: root
<class 'OrderableNode'>: new


Order with References
---------------------

::

>>> from node.parts import Reference
>>> class OrderReferenceNode(object):
Expand Down

0 comments on commit 504bf57

Please sign in to comment.