<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -278,10 +278,15 @@ class uTreeComposite(libpry.AutoTree):
                 list(reversed(list(self.tt[&quot;c&quot;][&quot;ca&quot;].pathFromRoot())))
 
     def test_isDescendantOf(self):
-        assert self.tt[&quot;a&quot;].isDescendantOf(self.tt)
-        assert self.tt[&quot;c&quot;][&quot;ca&quot;].isDescendantOf(self.tt[&quot;c&quot;])
-        assert not self.tt[&quot;a&quot;].isDescendantOf(self.tt[&quot;c&quot;])
-        assert not self.tt.isDescendantOf(self.tt[&quot;c&quot;])
+        assert self.tt.isDescendantOf(self.tt[&quot;a&quot;])
+        assert self.tt[&quot;c&quot;].isDescendantOf(self.tt[&quot;c&quot;][&quot;ca&quot;])
+        assert not self.tt[&quot;c&quot;].isDescendantOf(self.tt[&quot;a&quot;])
+        assert not self.tt[&quot;c&quot;].isDescendantOf(self.tt)
+
+    def test_isSiblingOf(self):
+        assert not self.tt.isSiblingOf(self.tt[&quot;a&quot;])
+        assert self.tt[&quot;a&quot;].isSiblingOf(self.tt[&quot;b&quot;])
+        assert not self.tt[&quot;a&quot;].isSiblingOf(self.tt[&quot;c&quot;][&quot;ca&quot;])
 
     def test_getRoot(self):
         assert self.tt[&quot;c&quot;][&quot;ca&quot;].getRoot() == self.tt</diff>
      <filename>test/test_tinytree.py</filename>
    </modified>
    <modified>
      <diff>@@ -167,12 +167,20 @@ class Tree(object):
 
     def isDescendantOf(self, node):
         &quot;&quot;&quot;
-            Returns true if the specified node lies on the path to the root
-            from this node. 
+            Returns true if this node lies on the path to the root from the
+            specified node. 
 
             :node A Tree object
         &quot;&quot;&quot;
-        return (node in self.pathToRoot())
+        return (self in node.pathToRoot())
+
+    def isSiblingOf(self, node):
+        &quot;&quot;&quot;
+            Returns true if this node is a sibling of the specified node. 
+
+            :node A Tree object
+        &quot;&quot;&quot;
+        return (self in node.siblings())
 
     def siblings(self):
         &quot;&quot;&quot;</diff>
      <filename>tinytree.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ceea22960f55a0bfec29763195139f50a19d7cf8</id>
    </parent>
  </parents>
  <author>
    <name>Aldo Cortesi</name>
    <email>aldo@nullcube.com</email>
  </author>
  <url>http://github.com/cortesi/tinytree/commit/c22e115b4e360cf0a8c1239e395e563c51d252fa</url>
  <id>c22e115b4e360cf0a8c1239e395e563c51d252fa</id>
  <committed-date>2008-04-24T21:24:19-07:00</committed-date>
  <authored-date>2008-04-24T21:24:19-07:00</authored-date>
  <message>Fix a semantic glitch - isDescendantOf should test whether the current node is
a descendant of the argument node, not the other way around.

Add an isSiblingOf method.</message>
  <tree>a496356a85f19335d2f9d9102695f5dfc4abd195</tree>
  <committer>
    <name>Aldo Cortesi</name>
    <email>aldo@nullcube.com</email>
  </committer>
</commit>
