package com.github.davidmoten.rtree;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.Arrays;
import org.junit.Test;
import com.github.davidmoten.rtree.geometry.Geometries;
import com.github.davidmoten.rtree.geometry.Rectangle;
import com.github.davidmoten.rtree.internal.LeafDefault;
public class LeafTest {
private static Context<Object, Rectangle> context = new Context<Object, Rectangle>(2, 4,
new SelectorMinimalAreaIncrease(), new SplitterQuadratic(),
Factories.<Object, Rectangle> defaultFactory());
@Test(expected = IllegalArgumentException.class)
public void testCannotHaveZeroChildren() {
new LeafDefault<Object, Rectangle>(new ArrayList<Entry<Object, Rectangle>>(), context);
}
@Test
public void testMbr() {
Rectangle r1 = Geometries.rectangle(0, 1, 3, 5);
Rectangle r2 = Geometries.rectangle(1, 2, 4, 6);
@SuppressWarnings("unchecked")
Rectangle r = new LeafDefault<Object, Rectangle>(
Arrays.asList(Entries.entry(new Object(), r1), Entries.entry(new Object(), r2)),
context).geometry().mbr();
assertEquals(r1.add(r2), r);
}
}