Test cases for concentric. sdr> /program=Program.C2 C2 sdr> /// when ending in 1x4, only one reasonable reassembly //////////// sdr> heads right and left thru twice | 4B> 3Gv 3Bv 2G< | | 4G> 1B^ 1G^ 2B< sdr> centers run and roll | 3G> 4B> 2G< 3B< | | 1B> 4G> 2B< 1G< sdr> concentric pass the ocean | 1G^ 3Bv 2B^ 2Gv 4G^ 4Bv 1B^ 3Gv sdr> hinge and roll | 1Gv 2Bv 4Gv 1Bv | | 3B^ 2G^ 4B^ 3G^ sdr> concentric pass the ocean | 3B> | | 3G< | | 2G> | | 4B< | | 2B> | | 4G< | | 1G> | | 1B< sdr> /// quarter tags distributed like points of galaxy sdr> fan the top | 4B^ 2Gv 3G^ 3Bv | | 1B^ 1Gv 4G^ 2Bv sdr> concentric extend | 4B^ | | 3G^ | | 1B^ 2Gv 4G^ 3Bv | | 1Gv | | 2Bv sdr> go home | 3Gv 3Bv | | 4B> 2G< | | 4G> 2B< | | 1B^ 1G^ sdr> /// XXX test diamonds sdr> /// lines to lines, columns to columns //////////////////// sdr> heads square thru ; boys walk girls dodge | 4G> 4B> 1G> 3B> | | 1B< 3G< 2B< 2G< sdr> concentric walk and dodge | 1B< 3G< 4B> 4G> | | 2G< 2B< 1G> 3B> sdr> go home | 3Gv 3Bv | | 4B> 2G< | | 4G> 2B< | | 1B^ 1G^ sdr> heads lead right ; veer left | 4B> 1B> | | 4G> 1G> | | 3G< 2G< | | 3B< 2B< sdr> concentric walk and dodge | 3B< 4B> | | 3G< 4G> | | 2G< 1G> | | 2B< 1B> sdr> /// here lines-to-lines ends up in an opposite elongation sdr> concentric partner tag | 2B^ 2G^ 1G^ 1B^ | | 3Bv 3Gv 4Gv 4Bv sdr> bend the line | 2B> 1B< | | 2G> 1G< | | 3G> 4G< | | 3B> 4B< sdr> touch 1/4 | 1B^ 2Bv | | 1G^ 2Gv | | 4G^ 3Gv | | 4B^ 3Bv sdr> concentric partner tag | 2B< 2G< 1G> 1B> | | 3B< 3G< 4G> 4B> sdr> /// opposite elognation rule ////////////////// sdr> /setFormation(Formation.SQUARED_SET) | 3Gv 3Bv | | 4B> 2G< | | 4G> 2B< | | 1B^ 1G^ sdr> heads lead right | 4B> 3G< 1B> 2G< | | 4G> 3B< 1G> 2B< sdr> fan the top | 3B^ 4Gv 3G^ 4Bv 2B^ 1Gv 2G^ 1Bv sdr> concentric recycle | 4Gv 3Bv | | 4Bv 3Gv | | 1G^ 2B^ | | 1B^ 2G^ sdr> face right | 4G< 3B< | | 4B< 3G< | | 1G> 2B> | | 1B> 2G> sdr> fan the top | 4Gv 1Gv 4B^ 1B^ 3Bv 2Bv 3G^ 2G^ sdr> concentric bend the line | 1G> 2G< | | 4B> 3B< | | 1B> 2B< | | 4G> 3G< sdr> bend the line ; step to a wave | 1B^ 4Bv 4G^ 1Gv 3G^ 2Gv 2B^ 3Bv sdr> concentric hinge | 1B> 2B> | | 4G> 3G> | | 1G< 2G< | | 4B< 3B< sdr> bend the line | 4Gv 1Bv 3Gv 2Bv | | 4B^ 1G^ 3B^ 2G^ sdr> concentric touch 1/4 | 4B> 2G> | | 1G> 3B> | | 1B< 3G< | | 4G< 2B< sdr> face in | 4Bv 2Gv | | 1Gv 3Bv | | 1B^ 3G^ | | 4G^ 2B^ sdr> concentric touch 1/4 | 4G> 1B> 3G> 2B> | | 4B< 1G< 3B< 2G< sdr> roll | 4Gv 1Bv 3Gv 2Bv | | 4B^ 1G^ 3B^ 2G^ sdr> as couples veer left | 4B^ 1G^ 3B^ 2G^ 4Gv 1Bv 3Gv 2Bv sdr> concentric turn and deal | 4Bv 1Gv | | 3Bv 2Gv | | 4G^ 1B^ | | 3G^ 2B^ sdr> roll | 4B< 1G< | | 3B< 2G< | | 4G> 1B> | | 3G> 2B> sdr> counter rotate ; boys trade ; pass thru | 3B^ 4B^ 4G^ 3G^ | | 1Gv 2Gv 2Bv 1Bv sdr> concentric chase right | 1B^ 2B^ 2Gv 1Gv | | 3G^ 4G^ 4Bv 3Bv sdr> roll | 1B^ 2B^ 2G< 1G< | | 3G> 4G> 4Bv 3Bv sdr> siamese circulate and individually roll | 2G< 1G< 2B< 1B< | | 3B> 4B> 3G> 4G> sdr> tandem boys run | 4B< 3B< 3G> 4G> | | 2G< 1G< 1B> 2B> sdr> concentric chase right | 2B> 1B> 1G> 2G> | | 4G< 3G< 3B< 4B< sdr> hinge | 4G^ 2Bv 3G^ 1Bv 3B^ 1Gv 4B^ 2Gv sdr> concentric linear cycle | 2G> 2B< | | 1G> 1B< | | 3B> 3G< | | 4B> 4G< sdr> roll | 2Gv 2B^ | | 1Gv 1B^ | | 3Bv 3G^ | | 4Bv 4G^ sdr> trade and roll ; pass the ocean ; half tag | 1G> 2G> | | 1B< 2B< | | 4B> 3B> | | 4G< 3G< sdr> swing thru twice ; right and left grand ; promenade home | 3Gv 3Bv | | 4B> 2G< | | 4G> 2B< | | 1B^ 1G^ sdr> /exit