@Test
  public void testStellarBounds() {
    List<IStellar> stellars = new LinkedList<IStellar>();
    stellars.add(start);
    stellars.add(end);

    IBoundingBox box = BoundingBox.newInstance(stellars);

    assertEquals(new Location(0, 0, 0, DistanceUnit.LIGHT_YEAR), box.center());
    assertEquals(10, box.radius(), 0);
  }
  @Test
  public void testSplitBounds() {
    List<IStellar> stellars = new LinkedList<IStellar>();
    stellars.add(start);
    stellars.add(end);

    IBoundingBox box = BoundingBox.newInstance(stellars);
    SplitDegree splitDegree = box.splitDegree();
    IBoundingBox[] splitted = new IBoundingBox[splitDegree.value()];
    for (IOffset offset : splitDegree.offsets()) {
      splitted[offset.offsetIndex()] = (IBoundingBox) box.onSplit(ctx, offset);
    }

    IBoundingBox frontBottomLeft = splitted[0];
    IBoundingBox frontBottomRight = splitted[1];
    IBoundingBox frontTopLeft = splitted[2];
    IBoundingBox frontTopRight = splitted[3];
    IBoundingBox rearBottomLeft = splitted[4];
    IBoundingBox rearBottomRight = splitted[5];
    IBoundingBox rearTopLeft = splitted[6];
    IBoundingBox rearTopRight = splitted[7];

    assertEquals(new Location(-5, -5, -5, DistanceUnit.LIGHT_YEAR), frontBottomLeft.center());
    assertEquals(5, frontBottomLeft.radius(), 0);
    assertEquals(new Location(5, -5, -5, DistanceUnit.LIGHT_YEAR), frontBottomRight.center());
    assertEquals(new Location(-5, 5, -5, DistanceUnit.LIGHT_YEAR), frontTopLeft.center());
    assertEquals(new Location(5, 5, -5, DistanceUnit.LIGHT_YEAR), frontTopRight.center());
    assertEquals(new Location(-5, -5, 5, DistanceUnit.LIGHT_YEAR), rearBottomLeft.center());
    assertEquals(new Location(5, -5, 5, DistanceUnit.LIGHT_YEAR), rearBottomRight.center());
    assertEquals(new Location(-5, 5, 5, DistanceUnit.LIGHT_YEAR), rearTopLeft.center());
    assertEquals(new Location(5, 5, 5, DistanceUnit.LIGHT_YEAR), rearTopRight.center());
  }