def METHOD_NAME(self):
    kernel = bootstrap.bootstrap()
    try:
        kernel.console("rect 0 0 1in 1in\n")
        kernel.console("rect 3in 0 1in 1in\n")
        kernel.console("operation* delete\n")
        kernel.console("hatch\n")
        ops = list(kernel.elements.ops())
        hatch = ops[0]
        hatch.hatch_type = "eulerian"
        rect0 = list(kernel.elements.elems())[0]
        hatch.add_node(copy(rect0))
        rect1 = list(kernel.elements.elems())[1]
        hatch.add_node(copy(rect1))
        commands = list()
        # kernel.console("tree list\n")
        c = CutPlan("q", kernel.planner)
        hatch.preprocess(kernel.root, Matrix(), c)
        c.execute()
        # kernel.console("tree list\n")
        path_node = hatch.children[0]
        shape0 = path_node.path
        self.assertEqual(len(shape0), 100)
        # print(shape0)
        # path_node1 = hatch.children[0]
        # shape1 = path_node1.path
        # self.assertEqual(len(shape1), 50)
        # print(shape1)
    finally:
        kernel.shutdown()