Test some basic calls, including "first couple go left" and "reverse single file promenade", and "dive thru". sdr> /program = Program.MAINSTREAM // for tag the line MAINSTREAM sdr> heads square thru | 4B> 3G< 3B> 2G< | | 4G> 1B< 1G> 2B< sdr> touch | 4B> 3B> | | 3G< 2G< | | 4G> 1G> | | 1B< 2B< sdr> tag the line | 4G^ 1G^ | | 1B^ 2B^ | | 4Bv 3Bv | | 3Gv 2Gv sdr> do half of a zoom | 4Gv 1B^ 2B^ 1Gv | | 3G^ 4Bv 3Bv 2G^ sdr> tag the line | 2B< 1G< 4G> 1B> | | 3B< 2G< 3G> 4B> sdr> first couple go left next couple go right | 2G> 4B< | | 1G> 1B< | | 3B> 3G< | | 2B> 4G< sdr> touch 1/4 | 4B^ 2Gv | | 1B^ 1Gv | | 3G^ 3Bv | | 4G^ 2Bv sdr> zoom | 1B^ 1Gv | | 4B^ 2Gv | | 4G^ 2Bv | | 3G^ 3Bv sdr> centers circulate | 1B^ 1Gv | | 4G^ 4Bv | | 2B^ 2Gv | | 3G^ 3Bv sdr> /// same thing: sdr> centers box circulate | 1B^ 1Gv | | 2B^ 4Gv | | 2G^ 4Bv | | 3G^ 3Bv sdr> centers zoom | 1B^ 1Gv | | 2G^ 4Bv | | 2B^ 4Gv | | 3G^ 3Bv sdr> single file circulate | 2G^ 1Bv | | 2B^ 1Gv | | 3G^ 4Bv | | 3B^ 4Gv sdr> zoom | 2B^ 1Gv | | 2G^ 1Bv | | 3B^ 4Gv | | 3G^ 4Bv sdr> reverse single file promenade home | 3Gv 3Bv | | 4B> 2G< | | 4G> 2B< | | 1B^ 1G^ sdr> /// we're home! sdr> /program = Program.PLUS // for 'track 2' PLUS sdr> heads lead right | 4B> 3G< 1B> 2G< | | 4G> 3B< 1G> 2B< sdr> dive thru | 3B> 4B> 2G< 1G< | | 3G> 4G> 2B< 1B< sdr> double pass thru | 2G< 1G< 3B> 4B> | | 2B< 1B< 3G> 4G> sdr> track 2 | 1B> 2B> | | 4G< 3G< | | 1G> 2G> | | 4B< 3B< sdr> swing thru | 4G> 3G> | | 4B< 3B< | | 1B> 2B> | | 1G< 2G< sdr> /resolveStep Right and Left Grand sdr> right and left grand | 2BL 1GQ | | 2G7 1B` | | | | 3BQ 4GL | | 3G` 4B7 sdr> promenade home | 3Gv 3Bv | | 4B> 2G< | | 4G> 2B< | | 1B^ 1G^ sdr> /exit