Testing Rtree
================

Make an instance, index stored in memory

    >>> from rtree import Rtree
    >>> index = Rtree()

Add 100 largish boxes randomly distributed over the domain

    >>> from data import boxes15, boxes3, points
    >>> for i, coords in enumerate(boxes15):
    ...     index.add(i, coords)
   
Find likely items

    >>> hits = [n for n in index.intersection((0, 0, 60, 60))]
    >>> len(hits)
    10

Disk-based indexes
------------------

    # Clean up leftover data
    >>> import os
    >>> try:
    ...     os.remove('default.dat')
    ...     os.remove('default.idx')
    ...     os.remove('pagesize3.dat')
    ...     os.remove('pagesize3.idx')
    ...     os.remove('testing.dat')
    ...     os.remove('testing.idx')
    ... except OSError:
    ...     pass

    # Default page size 1
    >>> index = Rtree("default")
    >>> for i, coords in enumerate(boxes15):
    ...     index.add(i, coords)
    >>> hits = [n for n in index.intersection((0, 0, 60, 60))]
    >>> len(hits)
    10

    # Page size 3
    >>> index = Rtree("pagesize3", pagesize=3)
    >>> for i, coords in enumerate(boxes15):
    ...     index.add(i, coords)
    >>> hits = [n for n in index.intersection((0, 0, 60, 60))]
    >>> len(hits)
    10

    Test invalid name
    >>> index = Rtree("bogus/foo")
    Traceback (most recent call last):
    ...
    IOError: Unable to open file 'bogus/foo' for index storage

    # Load a persisted index
    >>> _ = os.system("cp default.dat testing.dat")
    >>> _ = os.system("cp default.idx testing.idx")

    >>> index = Rtree("testing")
    >>> hits = [n for n in index.intersection((0, 0, 60, 60))]
    >>> len(hits)
    10

