$path = ['0', 'ab cd ef'];
is_deeply($path, $rt->_path_copy($path), '_path_copy(0 ab cd ef)');
//PHPなので判別できない
//    $path = {};
//    is_deeply( $path, $rt->_node_copy($path),
//        '_node_copy({})' );
$path = ['a' => ['a bb ccc'], 'b' => ['b cc ddd']];
is_deeply($path, $rt->_node_copy($path), '_node_copy({a,b})');
$path = [['c' => ['c', 'd'], 'e' => ['e', 'f']], 't', ['d' => ['d', 'f'], 'b' => ['b', 0]], ['' => 0, 'a' => ['a']]];
is_deeply($path, $rt->_path_copy($path), '_path_copy({c,e} t {d,b} {* a}');
$path = [[0, 1, 2], ['a', 'b', 'c'], ['d', ['e' => ['e', 'f'], 'g' => ['g', 'h']]]];
is_deeply($path, $rt->_path_copy($path), '_path_copy(ab cd ef {* a})');
//}
is_deeply($rt->__path, [], 'path is empty');
$context = ['debug' => 0, 'depth' => 0];
is_deeply($rt->_unrev_path([0, 1], $context), [1, 0], 'path(0,1)');
is_deeply($rt->_unrev_path(['ab', 'cd', 'ef'], $context), ['ef', 'cd', 'ab'], 'path(ab,cd,ef)');
is_deeply($rt->_unrev_path($rt->_unrev_path([['ab', 'cd', 'ef']], $context), $context), [['ab', 'cd', 'ef']], 'path(ab,cd,ef) back');
is_deeply($rt->_unrev_path(['ab', 'cd', 'ef', '\\d+', '\\D', 'ghi', 'jkl', 'mno'], $context), ['mno', 'jkl', 'ghi', '\\D', '\\d+', 'ef', 'cd', 'ab'], 'path(ab cd...)');
is_deeply($rt->_unrev_path($rt->_unrev_path(['ab', 'cd', 'ef', '\\d+', '\\D', 'ghi', 'jkl', 'mno'], $context), $context), ['ab', 'cd', 'ef', '\\d+', '\\D', 'ghi', 'jkl', 'mno'], 'path(ab cd...) back');
is_deeply($rt->_unrev_node([0 => [0, 1]], $context), [1 => [1, 0]], 'node(0)');
is_deeply($rt->_unrev_node([0 => [0, 1], 2 => [2, 0]], $context), [1 => [1, 0], 0 => [0, 2]], 'node(0,2)');
is_deeply($rt->_unrev_node(['' => 0, 'a' => ['a', 'b']], $context), ['' => 0, 'b' => ['b', 'a']], 'node(*,a,b)');
is_deeply($rt->_unrev_node(['' => 0, 'a' => ['a', 'b'], 'b' => ['b', 'c', 'd', 'e', 'f', 'g']], $context), ['' => 0, 'b' => ['b', 'a'], 'g' => ['g', 'f', 'e', 'd', 'c', 'b']], 'node(*a,b2)');
is_deeply($rt->_unrev_path([['x' => ['x', '0'], '' => 0]], $context), [['0' => ['0', 'x'], '' => 0]], 'node(* 0)');
is_deeply($rt->_unrev_node(['ab' => ['ab', 'bc'], 'bc' => ['bc', 'cd', 'de', 'ef', 'fg', 'gh'], 'ef' => ['ef', 'gh', 'ij']], $context), ['bc' => ['bc', 'ab'], 'gh' => ['gh', 'fg', 'ef', 'de', 'cd', 'bc'], 'ij' => ['ij', 'gh', 'ef']], 'node(ab,bc,ef)');
is_deeply($rt->_unrev_node(['' => 0, 'b' => [[['b' => ['b'], 'b?' => [['' => 0, 'b' => ['b']], 'a']]], ['' => 0, 'c' => ['c']]]], $context), ['' => 0, 'c' => [['' => 0, 'c' => ['c']], [['a' => ['a', ['' => 0, 'b' => ['b']]], 'b' => ['b']]]]], 'node of (?:(?:ab?|b)c?)?');
is_deeply($rt->_unrev_path(['a', 'b', ['c' => ['c', 'd', 'e'], 'f' => ['f', 'g', 'h'], 'i' => ['i', 'j', ['k' => ['k', 'l', 'm'], 'n' => ['n', 'o', 'p']], 'x']]], $context), [['e' => ['e', 'd', 'c'], 'h' => ['h', 'g', 'f'], 'x' => ['x', ['m' => ['m', 'l', 'k'], 'p' => ['p', 'o', 'n']], 'j', 'i']], 'b', 'a'], 'path(node(path))');
//{
$r = new Regexp_Assemble();
$ra = $r->add('refused')->add('fused')->add('used');