Note that your example templates are using '(' where you want '{'.
In
template program mode:
Code:
{series:'test($, template('[[series]]/[[series_index]]_[[title]]'), template('[[author_sort]]/[[title]]'))'}
In
general program mode:
Code:
program: test(field('series'), template('{series}/{series_index}_{title}'), template('{author_sort}/{title}'))