def METHOD_NAME():
    r"""Test to make sure that composed data objects that do
    overlap behave the way we expect
    """
    for n in [1, 2, 4, 8]:
        ds = fake_random_ds(64, nprocs=n)
        ds.add_field(("index", "ID"), sampling_type="cell", function=_IDFIELD)
        # position parameters for initial region
        center = [0.4, 0.5, 0.5]
        left_edge = [0.1] * 3
        right_edge = [0.7] * 3
        normal = [1, 0, 0]
        radius = height = 0.15
        # initial 3D regions
        sources = [
            ds.sphere(center, radius),
            ds.region(center, left_edge, right_edge),
            ds.disk(center, normal, radius, height),
        ]
        # position parameters for overlapping regions
        center = [0.6, 0.5, 0.5]
        left_edge = [0.3] * 3
        right_edge = [0.9] * 3
        # subselect non-overlapping 0, 1, 2, 3D regions
        for data1 in sources:
            id1 = data1["index", "ID"]
            data2 = ds.sphere(center, radius)
            data3 = ds.sphere(center, radius, data_source=data1)
            id2 = data2["index", "ID"]
            id3 = data3["index", "ID"]
            id3.sort()
            assert_array_equal(uintersect1d(id1, id2), id3)
            data2 = ds.region(center, left_edge, right_edge)
            data3 = ds.region(center, left_edge, right_edge, data_source=data1)
            id2 = data2["index", "ID"]
            id3 = data3["index", "ID"]
            id3.sort()
            assert_array_equal(uintersect1d(id1, id2), id3)
            data2 = ds.disk(center, normal, radius, height)
            data3 = ds.disk(center, normal, radius, height, data_source=data1)
            id2 = data2["index", "ID"]
            id3 = data3["index", "ID"]
            id3.sort()
            assert_array_equal(uintersect1d(id1, id2), id3)
            for d in range(3):
                data2 = ds.slice(d, center[d])
                data3 = ds.slice(d, center[d], data_source=data1)
                id2 = data2["index", "ID"]
                id3 = data3["index", "ID"]
                id3.sort()
                assert_array_equal(uintersect1d(id1, id2), id3)
            for d in range(3):
                data2 = ds.ortho_ray(d, center[0:d] + center[d + 1 :])
                data3 = ds.ortho_ray(
                    d, center[0:d] + center[d + 1 :], data_source=data1
                )
                id2 = data2["index", "ID"]
                id3 = data3["index", "ID"]
                id3.sort()
                assert_array_equal(uintersect1d(id1, id2), id3)
            data2 = ds.point(center)
            data3 = ds.point(center, data_source=data1)
            id2 = data2["index", "ID"]
            id3 = data3["index", "ID"]
            id3.sort()
            assert_array_equal(uintersect1d(id1, id2), id3)