Index: trunk/test/unit/org/openstreetmap/josm/data/osm/RelationTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/osm/RelationTest.java	(revision 2917)
+++ trunk/test/unit/org/openstreetmap/josm/data/osm/RelationTest.java	(revision 2982)
@@ -2,9 +2,12 @@
 package org.openstreetmap.josm.data.osm;
 
+import static org.junit.Assert.assertFalse;
+
+import org.junit.Assert;
 import org.junit.Test;
-
-import static org.junit.Assert.*;
+import org.openstreetmap.josm.data.coor.LatLon;
 
 public class RelationTest {
+
     @Test(expected=NullPointerException.class)
     public void createNewRelation() {
@@ -18,3 +21,47 @@
     }
 
+    @Test
+    public void testBBox() {
+        DataSet ds = new DataSet();
+
+        Node n1 = new Node(new LatLon(10, 10));
+        Node n2 = new Node(new LatLon(20, 20));
+        Node n3 = new Node(new LatLon(30, 30));
+        Way w1 = new Way();
+        w1.addNode(n1);
+        w1.addNode(n2);
+        Relation r1 = new Relation();
+        Relation r2 = new Relation();
+        ds.addPrimitive(r1);
+        ds.addPrimitive(r2);
+        ds.addPrimitive(n1);
+        ds.addPrimitive(n2);
+        ds.addPrimitive(n3);
+        ds.addPrimitive(w1);
+        r1.addMember(new RelationMember("", n1));
+        r1.addMember(new RelationMember("", w1));
+        r1.addMember(new RelationMember("", r1));
+        r1.addMember(new RelationMember("", r2));
+        r2.addMember(new RelationMember("", r1));
+        r2.addMember(new RelationMember("", n3));
+
+        BBox bbox = new BBox(w1);
+        bbox.add(n3.getBBox());
+        Assert.assertEquals(bbox, r1.getBBox());
+        Assert.assertEquals(bbox, r2.getBBox());
+
+        n3.setCoor(new LatLon(40, 40));
+        bbox.add(n3.getBBox());
+        Assert.assertEquals(bbox, r1.getBBox());
+        Assert.assertEquals(bbox, r2.getBBox());
+
+        r1.removeMembersFor(r2);
+        Assert.assertEquals(w1.getBBox(), r1.getBBox());
+        Assert.assertEquals(bbox, r2.getBBox());
+
+        w1.addNode(n3);
+        Assert.assertEquals(w1.getBBox(), r1.getBBox());
+        Assert.assertEquals(w1.getBBox(), r2.getBBox());
+    }
+
 }
