Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gaphas/state.py4
-rw-r--r--gaphas/tests/test_state.py24
2 files changed, 24 insertions, 4 deletions
diff --git a/gaphas/state.py b/gaphas/state.py
index b9e3ac5..a1c61cd 100644
--- a/gaphas/state.py
+++ b/gaphas/state.py
@@ -242,10 +242,6 @@ def revert_handler(event):
>>> reversible_pair(SList.add, SList.remove, \
bind1={'before': lambda self, node: self.l[self.l.index(node)+1] })
- >>> _reverse[SList.add.im_func] # doctest: +ELLIPSIS
- (<function remove at 0x...>, (['self', 'node'], None, None, None), {})
- >>> _reverse[SList.remove.im_func] # doctest: +ELLIPSIS
- (<function add at 0x...>, (['self', 'node', 'before'], None, None, (None,)), {'before': <function <lambda> at ...>})
>>> def handler(event):
... print 'handle', event
>>> subscribers.add(handler)
diff --git a/gaphas/tests/test_state.py b/gaphas/tests/test_state.py
new file mode 100644
index 0000000..ee779ec
--- /dev/null
+++ b/gaphas/tests/test_state.py
@@ -0,0 +1,24 @@
+import unittest
+
+from gaphas.state import reversible_pair, observed, _reverse
+
+class SList(object):
+ def __init__(self):
+ self.l = list()
+ def add(self, node, before=None):
+ if before: self.l.insert(self.l.index(before), node)
+ else: self.l.append(node)
+ add = observed(add)
+ @observed
+ def remove(self, node):
+ self.l.remove(self.l.index(node))
+
+class StateTestCase(unittest.TestCase):
+ def test_adding_pair(self):
+ """Test adding reversible pair
+ """
+ reversible_pair(SList.add, SList.remove, \
+ bind1={'before': lambda self, node: self.l[self.l.index(node)+1] })
+
+ self.assertTrue(SList.add.im_func in _reverse)
+ self.assertTrue(SList.remove.im_func in _reverse)