private static void DoTestVerticalSlices(int itemCount, int sliceCount,
                                   int expectedBoundablesPerSlice, int expectedBoundablesOnLastSlice)
 {
     var t = new STRtreeDemo.TestTree(2);
     var slices = t.VerticalSlices(ItemWrappers(itemCount), sliceCount);
     Assert.AreEqual(sliceCount, slices.Length);
     for (int i = 0; i < sliceCount - 1; i++)
     {
         //-1
         Assert.AreEqual(expectedBoundablesPerSlice, slices[i].Count);
     }
     Assert.AreEqual(expectedBoundablesOnLastSlice, slices[sliceCount - 1].Count);
 }
 private static void DoTestCreateParentsFromVerticalSlice(int childCount,
                                                   int nodeCapacity, int expectedChildrenPerParentBoundable,
                                                   int expectedChildrenOfLastParent)
 {
     var t = new STRtreeDemo.TestTree(nodeCapacity);
     var parentBoundables
         = t.CreateParentBoundablesFromVerticalSlice(ItemWrappers(childCount), 0);
     for (int i = 0; i < parentBoundables.Count - 1; i++)
     {
         //-1
         var parentBoundable = (AbstractNode)parentBoundables[i];
         Assert.AreEqual(expectedChildrenPerParentBoundable, parentBoundable.ChildBoundables.Count);
     }
     var lastParent = (AbstractNode)parentBoundables[parentBoundables.Count - 1];
     Assert.AreEqual(expectedChildrenOfLastParent, lastParent.ChildBoundables.Count);
 }