public void TestOutputIndexing()
{
AssertPiping("$test CMD1 m1, m2 | CMD2 %1%", (msgs, rec) => AreEqual(rec.ArgumentsFor("CMD2"), "m2"));
AssertPiping("$test CMD1 m1 | CMD2 m3,%0%,m2 | CMD3", (msgs, rec) => AreEqual(rec.ArgumentsFor("CMD2"), "m3", "m1", "m2") && AreEqual(rec.ArgumentsFor("CMD3"), "m3", "m1", "m2"));
AssertPiping("$test CMD1 m1 | CMD2 m3,%0%,m2 | CMD3 %1%,m2,%0%", (msgs, rec) => AreEqual(rec.ArgumentsFor("CMD2"), "m3", "m1", "m2") && AreEqual(rec.ArgumentsFor("CMD3"), "m1", "m2", "m3"));
AssertPiping("$test CMD1 s1 m1, m2 | CMD2 %0% %2%", (msgs, rec) => AreEqual(rec.ArgumentsFor("CMD2"), "s1", "m2"));
}