diff --git a/src/Turnierplan.Core.Test.Regression/Expected/TournamentAllPossibleFinalsPhases.out b/src/Turnierplan.Core.Test.Regression/Expected/TournamentAllPossibleFinalsPhases.out new file mode 100644 index 00000000..ac3f5ba8 --- /dev/null +++ b/src/Turnierplan.Core.Test.Regression/Expected/TournamentAllPossibleFinalsPhases.out @@ -0,0 +1,890 @@ +[1] +reg_name;Private;False;0;0;0;0;0;0 +[2] +reg_name;Private;False;0;4;1;0;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +[3] +reg_name;Private;False;0;4;1;7;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +M6;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M7;2;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M8;3;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M9;4;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M10;5;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M11;6;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M12;7;0;;R5/1;R5/2;;;;False;True;1;;;;;False +[4] +reg_name;Private;False;0;4;1;9;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +M13;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M14;2;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M15;3;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M16;4;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M17;5;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M18;6;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M19;7;0;;R5/1;R5/4;;;;False;True;;;;;;False +M20;8;0;;R5/2;R5/3;;;;False;True;;;;;;False +M21;9;0;;W7;W8;;;;False;True;1;;;;;False +[5] +reg_name;Private;False;0;8;2;9;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +M13;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M14;2;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M15;3;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M16;4;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M17;5;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M18;6;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M19;7;0;;R5/1;R5/4;;;;False;True;;;;;;False +M20;8;0;;R5/2;R5/3;;;;False;True;;;;;;False +M21;9;0;;W7;W8;;;;False;True;1;;;;;False +[6] +reg_name;Private;False;0;8;2;13;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +M27;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M28;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M29;3;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M30;4;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M31;5;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M32;6;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M33;7;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M34;8;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M35;9;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M36;10;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M37;11;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M38;12;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M39;13;0;;R5/1;R26/1;;;;False;True;1;;;;;False +[7] +reg_name;Private;False;0;8;2;15;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +M40;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M41;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M42;3;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M43;4;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M44;5;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M45;6;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M46;7;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M47;8;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M48;9;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M49;10;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M50;11;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M51;12;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M52;13;0;;R5/1;R26/2;;;;False;True;;;;;;False +M53;14;0;;R26/1;R5/2;;;;False;True;;;;;;False +M54;15;0;;W13;W14;;;;False;True;1;;;;;False +[8] +reg_name;Private;False;0;8;2;19;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +M55;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M56;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M57;3;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M58;4;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M59;5;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M60;6;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M61;7;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M62;8;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M63;9;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M64;10;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M65;11;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M66;12;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M67;13;0;;R5/1;R26/4;;;;False;True;;;;;;False +M68;14;0;;R5/2;R26/3;;;;False;True;;;;;;False +M69;15;0;;R5/3;R26/2;;;;False;True;;;;;;False +M70;16;0;;R5/4;R26/1;;;;False;True;;;;;;False +M71;17;0;;W13;W14;;;;False;True;;;;;;False +M72;18;0;;W15;W16;;;;False;True;;;;;;False +M73;19;0;;W17;W18;;;;False;True;1;;;;;False +[9] +reg_name;Private;False;0;12;3;19;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +M55;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M56;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M57;3;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M58;4;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M59;5;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M60;6;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M61;7;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M62;8;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M63;9;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M64;10;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M65;11;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M66;12;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M67;13;0;;R5/1;R26/4;;;;False;True;;;;;;False +M68;14;0;;R5/2;R26/3;;;;False;True;;;;;;False +M69;15;0;;R5/3;R26/2;;;;False;True;;;;;;False +M70;16;0;;R5/4;R26/1;;;;False;True;;;;;;False +M71;17;0;;W13;W14;;;;False;True;;;;;;False +M72;18;0;;W15;W16;;;;False;True;;;;;;False +M73;19;0;;W17;W18;;;;False;True;1;;;;;False +[10] +reg_name;Private;False;0;12;3;21;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +M79;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M80;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M81;3;0;;G78/0;G78/1;;;78;True;False;;;;;;False +M82;4;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M83;5;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M84;6;0;;G78/2;G78/3;;;78;True;False;;;;;;False +M85;7;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M86;8;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M87;9;0;;G78/0;G78/2;;;78;True;False;;;;;;False +M88;10;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M89;11;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M90;12;0;;G78/1;G78/3;;;78;True;False;;;;;;False +M91;13;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M92;14;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M93;15;0;;G78/3;G78/0;;;78;True;False;;;;;;False +M94;16;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M95;17;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M96;18;0;;G78/1;G78/2;;;78;True;False;;;;;;False +M97;19;0;;R5/1;R26/1;;;;False;True;;;;;;False +M98;20;0;;R78/1;N5,26,78/0/2;;;;False;True;;;;;;False +M99;21;0;;W19;W20;;;;False;True;1;;;;;False +[11] +reg_name;Private;False;0;12;3;25;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +M100;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M101;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M102;3;0;;G78/0;G78/1;;;78;True;False;;;;;;False +M103;4;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M104;5;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M105;6;0;;G78/2;G78/3;;;78;True;False;;;;;;False +M106;7;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M107;8;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M108;9;0;;G78/0;G78/2;;;78;True;False;;;;;;False +M109;10;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M110;11;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M111;12;0;;G78/1;G78/3;;;78;True;False;;;;;;False +M112;13;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M113;14;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M114;15;0;;G78/3;G78/0;;;78;True;False;;;;;;False +M115;16;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M116;17;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M117;18;0;;G78/1;G78/2;;;78;True;False;;;;;;False +M118;19;0;;R5/1;N5,26,78/0/3;;;;False;True;;;;;;False +M119;20;0;;R26/1;N5,26,78/1/3;;;;False;True;;;;;;False +M120;21;0;;R5/2;R78/2;;;;False;True;;;;;;False +M121;22;0;;R26/2;R78/1;;;;False;True;;;;;;False +M122;23;0;;W19;W20;;;;False;True;;;;;;False +M123;24;0;;W21;W22;;;;False;True;;;;;;False +M124;25;0;;W23;W24;;;;False;True;1;;;;;False +[12] +reg_name;Private;False;0;16;4;25;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +T125;Team 13;;False;0;0;0;0;0;0 +T126;Team 14;;False;0;0;0;0;0;0 +T127;Team 15;;False;0;0;0;0;0;0 +T128;Team 16;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +G129;D;Test D;4 +>125;129;1;0;0;0;0;0;0;0;0;0;0 +>126;129;2;0;0;0;0;0;0;0;0;0;0 +>127;129;3;0;0;0;0;0;0;0;0;0;0 +>128;129;4;0;0;0;0;0;0;0;0;0;0 +M100;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M101;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M102;3;0;;G78/0;G78/1;;;78;True;False;;;;;;False +M103;4;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M104;5;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M105;6;0;;G78/2;G78/3;;;78;True;False;;;;;;False +M106;7;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M107;8;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M108;9;0;;G78/0;G78/2;;;78;True;False;;;;;;False +M109;10;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M110;11;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M111;12;0;;G78/1;G78/3;;;78;True;False;;;;;;False +M112;13;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M113;14;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M114;15;0;;G78/3;G78/0;;;78;True;False;;;;;;False +M115;16;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M116;17;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M117;18;0;;G78/1;G78/2;;;78;True;False;;;;;;False +M118;19;0;;R5/1;N5,26,78/0/3;;;;False;True;;;;;;False +M119;20;0;;R26/1;N5,26,78/1/3;;;;False;True;;;;;;False +M120;21;0;;R5/2;R78/2;;;;False;True;;;;;;False +M121;22;0;;R26/2;R78/1;;;;False;True;;;;;;False +M122;23;0;;W19;W20;;;;False;True;;;;;;False +M123;24;0;;W21;W22;;;;False;True;;;;;;False +M124;25;0;;W23;W24;;;;False;True;1;;;;;False +[13] +reg_name;Private;False;0;16;4;27;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +T125;Team 13;;False;0;0;0;0;0;0 +T126;Team 14;;False;0;0;0;0;0;0 +T127;Team 15;;False;0;0;0;0;0;0 +T128;Team 16;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +G129;D;Test D;4 +>125;129;1;0;0;0;0;0;0;0;0;0;0 +>126;129;2;0;0;0;0;0;0;0;0;0;0 +>127;129;3;0;0;0;0;0;0;0;0;0;0 +>128;129;4;0;0;0;0;0;0;0;0;0;0 +M130;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M131;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M132;3;0;;G78/0;G78/1;;;78;True;False;;;;;;False +M133;4;0;;G129/0;G129/1;;;129;True;False;;;;;;False +M134;5;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M135;6;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M136;7;0;;G78/2;G78/3;;;78;True;False;;;;;;False +M137;8;0;;G129/2;G129/3;;;129;True;False;;;;;;False +M138;9;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M139;10;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M140;11;0;;G78/0;G78/2;;;78;True;False;;;;;;False +M141;12;0;;G129/0;G129/2;;;129;True;False;;;;;;False +M142;13;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M143;14;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M144;15;0;;G78/1;G78/3;;;78;True;False;;;;;;False +M145;16;0;;G129/1;G129/3;;;129;True;False;;;;;;False +M146;17;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M147;18;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M148;19;0;;G78/3;G78/0;;;78;True;False;;;;;;False +M149;20;0;;G129/3;G129/0;;;129;True;False;;;;;;False +M150;21;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M151;22;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M152;23;0;;G78/1;G78/2;;;78;True;False;;;;;;False +M153;24;0;;G129/1;G129/2;;;129;True;False;;;;;;False +M154;25;0;;R5/1;R26/1;;;;False;True;;;;;;False +M155;26;0;;R78/1;R129/1;;;;False;True;;;;;;False +M156;27;0;;W25;W26;;;;False;True;1;;;;;False +[14] +reg_name;Private;False;0;16;4;31;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +T125;Team 13;;False;0;0;0;0;0;0 +T126;Team 14;;False;0;0;0;0;0;0 +T127;Team 15;;False;0;0;0;0;0;0 +T128;Team 16;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +G129;D;Test D;4 +>125;129;1;0;0;0;0;0;0;0;0;0;0 +>126;129;2;0;0;0;0;0;0;0;0;0;0 +>127;129;3;0;0;0;0;0;0;0;0;0;0 +>128;129;4;0;0;0;0;0;0;0;0;0;0 +M157;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M158;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M159;3;0;;G78/0;G78/1;;;78;True;False;;;;;;False +M160;4;0;;G129/0;G129/1;;;129;True;False;;;;;;False +M161;5;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M162;6;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M163;7;0;;G78/2;G78/3;;;78;True;False;;;;;;False +M164;8;0;;G129/2;G129/3;;;129;True;False;;;;;;False +M165;9;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M166;10;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M167;11;0;;G78/0;G78/2;;;78;True;False;;;;;;False +M168;12;0;;G129/0;G129/2;;;129;True;False;;;;;;False +M169;13;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M170;14;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M171;15;0;;G78/1;G78/3;;;78;True;False;;;;;;False +M172;16;0;;G129/1;G129/3;;;129;True;False;;;;;;False +M173;17;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M174;18;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M175;19;0;;G78/3;G78/0;;;78;True;False;;;;;;False +M176;20;0;;G129/3;G129/0;;;129;True;False;;;;;;False +M177;21;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M178;22;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M179;23;0;;G78/1;G78/2;;;78;True;False;;;;;;False +M180;24;0;;G129/1;G129/2;;;129;True;False;;;;;;False +M181;25;0;;R5/1;R78/2;;;;False;True;;;;;;False +M182;26;0;;R26/1;R129/2;;;;False;True;;;;;;False +M183;27;0;;R78/1;R5/2;;;;False;True;;;;;;False +M184;28;0;;R129/1;R26/2;;;;False;True;;;;;;False +M185;29;0;;W25;W26;;;;False;True;;;;;;False +M186;30;0;;W27;W28;;;;False;True;;;;;;False +M187;31;0;;W29;W30;;;;False;True;1;;;;;False +[15] +reg_name;Private;False;0;20;5;31;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +T125;Team 13;;False;0;0;0;0;0;0 +T126;Team 14;;False;0;0;0;0;0;0 +T127;Team 15;;False;0;0;0;0;0;0 +T128;Team 16;;False;0;0;0;0;0;0 +T188;Team 17;;False;0;0;0;0;0;0 +T189;Team 18;;False;0;0;0;0;0;0 +T190;Team 19;;False;0;0;0;0;0;0 +T191;Team 20;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +G129;D;Test D;4 +>125;129;1;0;0;0;0;0;0;0;0;0;0 +>126;129;2;0;0;0;0;0;0;0;0;0;0 +>127;129;3;0;0;0;0;0;0;0;0;0;0 +>128;129;4;0;0;0;0;0;0;0;0;0;0 +G192;E;Test E;4 +>188;192;1;0;0;0;0;0;0;0;0;0;0 +>189;192;2;0;0;0;0;0;0;0;0;0;0 +>190;192;3;0;0;0;0;0;0;0;0;0;0 +>191;192;4;0;0;0;0;0;0;0;0;0;0 +M157;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M158;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M159;3;0;;G78/0;G78/1;;;78;True;False;;;;;;False +M160;4;0;;G129/0;G129/1;;;129;True;False;;;;;;False +M161;5;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M162;6;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M163;7;0;;G78/2;G78/3;;;78;True;False;;;;;;False +M164;8;0;;G129/2;G129/3;;;129;True;False;;;;;;False +M165;9;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M166;10;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M167;11;0;;G78/0;G78/2;;;78;True;False;;;;;;False +M168;12;0;;G129/0;G129/2;;;129;True;False;;;;;;False +M169;13;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M170;14;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M171;15;0;;G78/1;G78/3;;;78;True;False;;;;;;False +M172;16;0;;G129/1;G129/3;;;129;True;False;;;;;;False +M173;17;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M174;18;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M175;19;0;;G78/3;G78/0;;;78;True;False;;;;;;False +M176;20;0;;G129/3;G129/0;;;129;True;False;;;;;;False +M177;21;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M178;22;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M179;23;0;;G78/1;G78/2;;;78;True;False;;;;;;False +M180;24;0;;G129/1;G129/2;;;129;True;False;;;;;;False +M181;25;0;;R5/1;R78/2;;;;False;True;;;;;;False +M182;26;0;;R26/1;R129/2;;;;False;True;;;;;;False +M183;27;0;;R78/1;R5/2;;;;False;True;;;;;;False +M184;28;0;;R129/1;R26/2;;;;False;True;;;;;;False +M185;29;0;;W25;W26;;;;False;True;;;;;;False +M186;30;0;;W27;W28;;;;False;True;;;;;;False +M187;31;0;;W29;W30;;;;False;True;1;;;;;False +[16] +reg_name;Private;False;0;20;5;37;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +T125;Team 13;;False;0;0;0;0;0;0 +T126;Team 14;;False;0;0;0;0;0;0 +T127;Team 15;;False;0;0;0;0;0;0 +T128;Team 16;;False;0;0;0;0;0;0 +T188;Team 17;;False;0;0;0;0;0;0 +T189;Team 18;;False;0;0;0;0;0;0 +T190;Team 19;;False;0;0;0;0;0;0 +T191;Team 20;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +G129;D;Test D;4 +>125;129;1;0;0;0;0;0;0;0;0;0;0 +>126;129;2;0;0;0;0;0;0;0;0;0;0 +>127;129;3;0;0;0;0;0;0;0;0;0;0 +>128;129;4;0;0;0;0;0;0;0;0;0;0 +G192;E;Test E;4 +>188;192;1;0;0;0;0;0;0;0;0;0;0 +>189;192;2;0;0;0;0;0;0;0;0;0;0 +>190;192;3;0;0;0;0;0;0;0;0;0;0 +>191;192;4;0;0;0;0;0;0;0;0;0;0 +M193;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M194;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M195;3;0;;G78/0;G78/1;;;78;True;False;;;;;;False +M196;4;0;;G129/0;G129/1;;;129;True;False;;;;;;False +M197;5;0;;G192/0;G192/1;;;192;True;False;;;;;;False +M198;6;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M199;7;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M200;8;0;;G78/2;G78/3;;;78;True;False;;;;;;False +M201;9;0;;G129/2;G129/3;;;129;True;False;;;;;;False +M202;10;0;;G192/2;G192/3;;;192;True;False;;;;;;False +M203;11;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M204;12;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M205;13;0;;G78/0;G78/2;;;78;True;False;;;;;;False +M206;14;0;;G129/0;G129/2;;;129;True;False;;;;;;False +M207;15;0;;G192/0;G192/2;;;192;True;False;;;;;;False +M208;16;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M209;17;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M210;18;0;;G78/1;G78/3;;;78;True;False;;;;;;False +M211;19;0;;G129/1;G129/3;;;129;True;False;;;;;;False +M212;20;0;;G192/1;G192/3;;;192;True;False;;;;;;False +M213;21;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M214;22;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M215;23;0;;G78/3;G78/0;;;78;True;False;;;;;;False +M216;24;0;;G129/3;G129/0;;;129;True;False;;;;;;False +M217;25;0;;G192/3;G192/0;;;192;True;False;;;;;;False +M218;26;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M219;27;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M220;28;0;;G78/1;G78/2;;;78;True;False;;;;;;False +M221;29;0;;G129/1;G129/2;;;129;True;False;;;;;;False +M222;30;0;;G192/1;G192/2;;;192;True;False;;;;;;False +M223;31;0;;R5/1;R26/1;;;;False;True;;;;;;False +M224;32;0;;R78/1;N5,26,78,129,192/0/2;;;;False;True;;;;;;False +M225;33;0;;R129/1;N5,26,78,129,192/1/2;;;;False;True;;;;;;False +M226;34;0;;R192/1;N5,26,78,129,192/2/2;;;;False;True;;;;;;False +M227;35;0;;W31;W32;;;;False;True;;;;;;False +M228;36;0;;W33;W34;;;;False;True;;;;;;False +M229;37;0;;W35;W36;;;;False;True;1;;;;;False +[17] +reg_name;Private;False;0;24;6;37;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +T125;Team 13;;False;0;0;0;0;0;0 +T126;Team 14;;False;0;0;0;0;0;0 +T127;Team 15;;False;0;0;0;0;0;0 +T128;Team 16;;False;0;0;0;0;0;0 +T188;Team 17;;False;0;0;0;0;0;0 +T189;Team 18;;False;0;0;0;0;0;0 +T190;Team 19;;False;0;0;0;0;0;0 +T191;Team 20;;False;0;0;0;0;0;0 +T230;Team 21;;False;0;0;0;0;0;0 +T231;Team 22;;False;0;0;0;0;0;0 +T232;Team 23;;False;0;0;0;0;0;0 +T233;Team 24;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +G129;D;Test D;4 +>125;129;1;0;0;0;0;0;0;0;0;0;0 +>126;129;2;0;0;0;0;0;0;0;0;0;0 +>127;129;3;0;0;0;0;0;0;0;0;0;0 +>128;129;4;0;0;0;0;0;0;0;0;0;0 +G192;E;Test E;4 +>188;192;1;0;0;0;0;0;0;0;0;0;0 +>189;192;2;0;0;0;0;0;0;0;0;0;0 +>190;192;3;0;0;0;0;0;0;0;0;0;0 +>191;192;4;0;0;0;0;0;0;0;0;0;0 +G234;F;Test F;4 +>230;234;1;0;0;0;0;0;0;0;0;0;0 +>231;234;2;0;0;0;0;0;0;0;0;0;0 +>232;234;3;0;0;0;0;0;0;0;0;0;0 +>233;234;4;0;0;0;0;0;0;0;0;0;0 +M193;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M194;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M195;3;0;;G78/0;G78/1;;;78;True;False;;;;;;False +M196;4;0;;G129/0;G129/1;;;129;True;False;;;;;;False +M197;5;0;;G192/0;G192/1;;;192;True;False;;;;;;False +M198;6;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M199;7;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M200;8;0;;G78/2;G78/3;;;78;True;False;;;;;;False +M201;9;0;;G129/2;G129/3;;;129;True;False;;;;;;False +M202;10;0;;G192/2;G192/3;;;192;True;False;;;;;;False +M203;11;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M204;12;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M205;13;0;;G78/0;G78/2;;;78;True;False;;;;;;False +M206;14;0;;G129/0;G129/2;;;129;True;False;;;;;;False +M207;15;0;;G192/0;G192/2;;;192;True;False;;;;;;False +M208;16;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M209;17;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M210;18;0;;G78/1;G78/3;;;78;True;False;;;;;;False +M211;19;0;;G129/1;G129/3;;;129;True;False;;;;;;False +M212;20;0;;G192/1;G192/3;;;192;True;False;;;;;;False +M213;21;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M214;22;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M215;23;0;;G78/3;G78/0;;;78;True;False;;;;;;False +M216;24;0;;G129/3;G129/0;;;129;True;False;;;;;;False +M217;25;0;;G192/3;G192/0;;;192;True;False;;;;;;False +M218;26;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M219;27;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M220;28;0;;G78/1;G78/2;;;78;True;False;;;;;;False +M221;29;0;;G129/1;G129/2;;;129;True;False;;;;;;False +M222;30;0;;G192/1;G192/2;;;192;True;False;;;;;;False +M223;31;0;;R5/1;R26/1;;;;False;True;;;;;;False +M224;32;0;;R78/1;N5,26,78,129,192/0/2;;;;False;True;;;;;;False +M225;33;0;;R129/1;N5,26,78,129,192/1/2;;;;False;True;;;;;;False +M226;34;0;;R192/1;N5,26,78,129,192/2/2;;;;False;True;;;;;;False +M227;35;0;;W31;W32;;;;False;True;;;;;;False +M228;36;0;;W33;W34;;;;False;True;;;;;;False +M229;37;0;;W35;W36;;;;False;True;1;;;;;False +[18] +reg_name;Private;False;0;24;6;43;0;0 +T1;Team 1;;False;0;0;0;0;0;0 +T2;Team 2;;False;0;0;0;0;0;0 +T3;Team 3;;False;0;0;0;0;0;0 +T4;Team 4;;False;0;0;0;0;0;0 +T22;Team 5;;False;0;0;0;0;0;0 +T23;Team 6;;False;0;0;0;0;0;0 +T24;Team 7;;False;0;0;0;0;0;0 +T25;Team 8;;False;0;0;0;0;0;0 +T74;Team 9;;False;0;0;0;0;0;0 +T75;Team 10;;False;0;0;0;0;0;0 +T76;Team 11;;False;0;0;0;0;0;0 +T77;Team 12;;False;0;0;0;0;0;0 +T125;Team 13;;False;0;0;0;0;0;0 +T126;Team 14;;False;0;0;0;0;0;0 +T127;Team 15;;False;0;0;0;0;0;0 +T128;Team 16;;False;0;0;0;0;0;0 +T188;Team 17;;False;0;0;0;0;0;0 +T189;Team 18;;False;0;0;0;0;0;0 +T190;Team 19;;False;0;0;0;0;0;0 +T191;Team 20;;False;0;0;0;0;0;0 +T230;Team 21;;False;0;0;0;0;0;0 +T231;Team 22;;False;0;0;0;0;0;0 +T232;Team 23;;False;0;0;0;0;0;0 +T233;Team 24;;False;0;0;0;0;0;0 +G5;A;Test A;4 +>1;5;1;0;0;0;0;0;0;0;0;0;0 +>2;5;2;0;0;0;0;0;0;0;0;0;0 +>3;5;3;0;0;0;0;0;0;0;0;0;0 +>4;5;4;0;0;0;0;0;0;0;0;0;0 +G26;B;Test B;4 +>22;26;1;0;0;0;0;0;0;0;0;0;0 +>23;26;2;0;0;0;0;0;0;0;0;0;0 +>24;26;3;0;0;0;0;0;0;0;0;0;0 +>25;26;4;0;0;0;0;0;0;0;0;0;0 +G78;C;Test C;4 +>74;78;1;0;0;0;0;0;0;0;0;0;0 +>75;78;2;0;0;0;0;0;0;0;0;0;0 +>76;78;3;0;0;0;0;0;0;0;0;0;0 +>77;78;4;0;0;0;0;0;0;0;0;0;0 +G129;D;Test D;4 +>125;129;1;0;0;0;0;0;0;0;0;0;0 +>126;129;2;0;0;0;0;0;0;0;0;0;0 +>127;129;3;0;0;0;0;0;0;0;0;0;0 +>128;129;4;0;0;0;0;0;0;0;0;0;0 +G192;E;Test E;4 +>188;192;1;0;0;0;0;0;0;0;0;0;0 +>189;192;2;0;0;0;0;0;0;0;0;0;0 +>190;192;3;0;0;0;0;0;0;0;0;0;0 +>191;192;4;0;0;0;0;0;0;0;0;0;0 +G234;F;Test F;4 +>230;234;1;0;0;0;0;0;0;0;0;0;0 +>231;234;2;0;0;0;0;0;0;0;0;0;0 +>232;234;3;0;0;0;0;0;0;0;0;0;0 +>233;234;4;0;0;0;0;0;0;0;0;0;0 +M235;1;0;;G5/0;G5/1;;;5;True;False;;;;;;False +M236;2;0;;G26/0;G26/1;;;26;True;False;;;;;;False +M237;3;0;;G78/0;G78/1;;;78;True;False;;;;;;False +M238;4;0;;G129/0;G129/1;;;129;True;False;;;;;;False +M239;5;0;;G192/0;G192/1;;;192;True;False;;;;;;False +M240;6;0;;G234/0;G234/1;;;234;True;False;;;;;;False +M241;7;0;;G5/2;G5/3;;;5;True;False;;;;;;False +M242;8;0;;G26/2;G26/3;;;26;True;False;;;;;;False +M243;9;0;;G78/2;G78/3;;;78;True;False;;;;;;False +M244;10;0;;G129/2;G129/3;;;129;True;False;;;;;;False +M245;11;0;;G192/2;G192/3;;;192;True;False;;;;;;False +M246;12;0;;G234/2;G234/3;;;234;True;False;;;;;;False +M247;13;0;;G5/0;G5/2;;;5;True;False;;;;;;False +M248;14;0;;G26/0;G26/2;;;26;True;False;;;;;;False +M249;15;0;;G78/0;G78/2;;;78;True;False;;;;;;False +M250;16;0;;G129/0;G129/2;;;129;True;False;;;;;;False +M251;17;0;;G192/0;G192/2;;;192;True;False;;;;;;False +M252;18;0;;G234/0;G234/2;;;234;True;False;;;;;;False +M253;19;0;;G5/1;G5/3;;;5;True;False;;;;;;False +M254;20;0;;G26/1;G26/3;;;26;True;False;;;;;;False +M255;21;0;;G78/1;G78/3;;;78;True;False;;;;;;False +M256;22;0;;G129/1;G129/3;;;129;True;False;;;;;;False +M257;23;0;;G192/1;G192/3;;;192;True;False;;;;;;False +M258;24;0;;G234/1;G234/3;;;234;True;False;;;;;;False +M259;25;0;;G5/3;G5/0;;;5;True;False;;;;;;False +M260;26;0;;G26/3;G26/0;;;26;True;False;;;;;;False +M261;27;0;;G78/3;G78/0;;;78;True;False;;;;;;False +M262;28;0;;G129/3;G129/0;;;129;True;False;;;;;;False +M263;29;0;;G192/3;G192/0;;;192;True;False;;;;;;False +M264;30;0;;G234/3;G234/0;;;234;True;False;;;;;;False +M265;31;0;;G5/1;G5/2;;;5;True;False;;;;;;False +M266;32;0;;G26/1;G26/2;;;26;True;False;;;;;;False +M267;33;0;;G78/1;G78/2;;;78;True;False;;;;;;False +M268;34;0;;G129/1;G129/2;;;129;True;False;;;;;;False +M269;35;0;;G192/1;G192/2;;;192;True;False;;;;;;False +M270;36;0;;G234/1;G234/2;;;234;True;False;;;;;;False +M271;37;0;;R5/1;R26/1;;;;False;True;;;;;;False +M272;38;0;;R78/1;R129/1;;;;False;True;;;;;;False +M273;39;0;;R192/1;N5,26,78,129,192,234/0/2;;;;False;True;;;;;;False +M274;40;0;;R234/1;N5,26,78,129,192,234/1/2;;;;False;True;;;;;;False +M275;41;0;;W37;W38;;;;False;True;;;;;;False +M276;42;0;;W39;W40;;;;False;True;;;;;;False +M277;43;0;;W41;W42;;;;False;True;1;;;;;False \ No newline at end of file diff --git a/src/Turnierplan.Core.Test.Regression/Expected/TournamentAllPossibleGroupSizes.out b/src/Turnierplan.Core.Test.Regression/Expected/TournamentAllPossibleGroupSizes.out new file mode 100644 index 00000000..cfe3a386 --- /dev/null +++ b/src/Turnierplan.Core.Test.Regression/Expected/TournamentAllPossibleGroupSizes.out @@ -0,0 +1,261 @@ +[1] +reg_name;Private;False;0;0;0;0;0;0 +[2] +reg_name;Private;False;0;0;1;0;0;0 +G1;A;Test;0 +[3] +reg_name;Private;False;0;2;1;1;0;0 +T2;Test 1;;False;0;0;0;0;0;0 +T3;Test 2;;False;0;0;0;0;0;0 +G1;A;Test;2 +>2;1;1;0;0;0;0;0;0;0;0;0;0 +>3;1;2;0;0;0;0;0;0;0;0;0;0 +M4;1;0;;G1/0;G1/1;;;1;True;False;;;;;;False +[4] +reg_name;Private;False;0;3;1;3;0;0 +T2;Test 1;;False;0;0;0;0;0;0 +T3;Test 2;;False;0;0;0;0;0;0 +T5;Test 3;;False;0;0;0;0;0;0 +G1;A;Test;3 +>2;1;1;0;0;0;0;0;0;0;0;0;0 +>3;1;2;0;0;0;0;0;0;0;0;0;0 +>5;1;3;0;0;0;0;0;0;0;0;0;0 +M6;1;0;;G1/0;G1/1;;;1;True;False;;;;;;False +M7;2;0;;G1/1;G1/2;;;1;True;False;;;;;;False +M8;3;0;;G1/2;G1/0;;;1;True;False;;;;;;False +[5] +reg_name;Private;False;0;4;1;6;0;0 +T2;Test 1;;False;0;0;0;0;0;0 +T3;Test 2;;False;0;0;0;0;0;0 +T5;Test 3;;False;0;0;0;0;0;0 +T9;Test 4;;False;0;0;0;0;0;0 +G1;A;Test;4 +>2;1;1;0;0;0;0;0;0;0;0;0;0 +>3;1;2;0;0;0;0;0;0;0;0;0;0 +>5;1;3;0;0;0;0;0;0;0;0;0;0 +>9;1;4;0;0;0;0;0;0;0;0;0;0 +M10;1;0;;G1/0;G1/1;;;1;True;False;;;;;;False +M11;2;0;;G1/2;G1/3;;;1;True;False;;;;;;False +M12;3;0;;G1/0;G1/2;;;1;True;False;;;;;;False +M13;4;0;;G1/1;G1/3;;;1;True;False;;;;;;False +M14;5;0;;G1/3;G1/0;;;1;True;False;;;;;;False +M15;6;0;;G1/1;G1/2;;;1;True;False;;;;;;False +[6] +reg_name;Private;False;0;5;1;10;0;0 +T2;Test 1;;False;0;0;0;0;0;0 +T3;Test 2;;False;0;0;0;0;0;0 +T5;Test 3;;False;0;0;0;0;0;0 +T9;Test 4;;False;0;0;0;0;0;0 +T16;Test 5;;False;0;0;0;0;0;0 +G1;A;Test;5 +>2;1;1;0;0;0;0;0;0;0;0;0;0 +>3;1;2;0;0;0;0;0;0;0;0;0;0 +>5;1;3;0;0;0;0;0;0;0;0;0;0 +>9;1;4;0;0;0;0;0;0;0;0;0;0 +>16;1;5;0;0;0;0;0;0;0;0;0;0 +M17;1;0;;G1/0;G1/1;;;1;True;False;;;;;;False +M18;2;0;;G1/2;G1/3;;;1;True;False;;;;;;False +M19;3;0;;G1/4;G1/0;;;1;True;False;;;;;;False +M20;4;0;;G1/1;G1/2;;;1;True;False;;;;;;False +M21;5;0;;G1/3;G1/4;;;1;True;False;;;;;;False +M22;6;0;;G1/2;G1/0;;;1;True;False;;;;;;False +M23;7;0;;G1/1;G1/4;;;1;True;False;;;;;;False +M24;8;0;;G1/0;G1/3;;;1;True;False;;;;;;False +M25;9;0;;G1/4;G1/2;;;1;True;False;;;;;;False +M26;10;0;;G1/3;G1/1;;;1;True;False;;;;;;False +[7] +reg_name;Private;False;0;6;1;15;0;0 +T2;Test 1;;False;0;0;0;0;0;0 +T3;Test 2;;False;0;0;0;0;0;0 +T5;Test 3;;False;0;0;0;0;0;0 +T9;Test 4;;False;0;0;0;0;0;0 +T16;Test 5;;False;0;0;0;0;0;0 +T27;Test 6;;False;0;0;0;0;0;0 +G1;A;Test;6 +>2;1;1;0;0;0;0;0;0;0;0;0;0 +>3;1;2;0;0;0;0;0;0;0;0;0;0 +>5;1;3;0;0;0;0;0;0;0;0;0;0 +>9;1;4;0;0;0;0;0;0;0;0;0;0 +>16;1;5;0;0;0;0;0;0;0;0;0;0 +>27;1;6;0;0;0;0;0;0;0;0;0;0 +M28;1;0;;G1/0;G1/1;;;1;True;False;;;;;;False +M29;2;0;;G1/2;G1/3;;;1;True;False;;;;;;False +M30;3;0;;G1/4;G1/5;;;1;True;False;;;;;;False +M31;4;0;;G1/2;G1/0;;;1;True;False;;;;;;False +M32;5;0;;G1/5;G1/1;;;1;True;False;;;;;;False +M33;6;0;;G1/3;G1/4;;;1;True;False;;;;;;False +M34;7;0;;G1/0;G1/5;;;1;True;False;;;;;;False +M35;8;0;;G1/4;G1/2;;;1;True;False;;;;;;False +M36;9;0;;G1/3;G1/1;;;1;True;False;;;;;;False +M37;10;0;;G1/4;G1/0;;;1;True;False;;;;;;False +M38;11;0;;G1/5;G1/3;;;1;True;False;;;;;;False +M39;12;0;;G1/1;G1/2;;;1;True;False;;;;;;False +M40;13;0;;G1/0;G1/3;;;1;True;False;;;;;;False +M41;14;0;;G1/1;G1/4;;;1;True;False;;;;;;False +M42;15;0;;G1/2;G1/5;;;1;True;False;;;;;;False +[8] +reg_name;Private;False;0;7;1;21;0;0 +T2;Test 1;;False;0;0;0;0;0;0 +T3;Test 2;;False;0;0;0;0;0;0 +T5;Test 3;;False;0;0;0;0;0;0 +T9;Test 4;;False;0;0;0;0;0;0 +T16;Test 5;;False;0;0;0;0;0;0 +T27;Test 6;;False;0;0;0;0;0;0 +T43;Test 7;;False;0;0;0;0;0;0 +G1;A;Test;7 +>2;1;1;0;0;0;0;0;0;0;0;0;0 +>3;1;2;0;0;0;0;0;0;0;0;0;0 +>5;1;3;0;0;0;0;0;0;0;0;0;0 +>9;1;4;0;0;0;0;0;0;0;0;0;0 +>16;1;5;0;0;0;0;0;0;0;0;0;0 +>27;1;6;0;0;0;0;0;0;0;0;0;0 +>43;1;7;0;0;0;0;0;0;0;0;0;0 +M44;1;0;;G1/0;G1/1;;;1;True;False;;;;;;False +M45;2;0;;G1/2;G1/3;;;1;True;False;;;;;;False +M46;3;0;;G1/4;G1/5;;;1;True;False;;;;;;False +M47;4;0;;G1/3;G1/6;;;1;True;False;;;;;;False +M48;5;0;;G1/0;G1/5;;;1;True;False;;;;;;False +M49;6;0;;G1/4;G1/2;;;1;True;False;;;;;;False +M50;7;0;;G1/5;G1/1;;;1;True;False;;;;;;False +M51;8;0;;G1/6;G1/4;;;1;True;False;;;;;;False +M52;9;0;;G1/2;G1/0;;;1;True;False;;;;;;False +M53;10;0;;G1/3;G1/4;;;1;True;False;;;;;;False +M54;11;0;;G1/1;G1/2;;;1;True;False;;;;;;False +M55;12;0;;G1/6;G1/0;;;1;True;False;;;;;;False +M56;13;0;;G1/2;G1/5;;;1;True;False;;;;;;False +M57;14;0;;G1/0;G1/3;;;1;True;False;;;;;;False +M58;15;0;;G1/1;G1/6;;;1;True;False;;;;;;False +M59;16;0;;G1/4;G1/0;;;1;True;False;;;;;;False +M60;17;0;;G1/5;G1/6;;;1;True;False;;;;;;False +M61;18;0;;G1/3;G1/1;;;1;True;False;;;;;;False +M62;19;0;;G1/6;G1/2;;;1;True;False;;;;;;False +M63;20;0;;G1/1;G1/4;;;1;True;False;;;;;;False +M64;21;0;;G1/5;G1/3;;;1;True;False;;;;;;False +[9] +reg_name;Private;False;0;8;1;28;0;0 +T2;Test 1;;False;0;0;0;0;0;0 +T3;Test 2;;False;0;0;0;0;0;0 +T5;Test 3;;False;0;0;0;0;0;0 +T9;Test 4;;False;0;0;0;0;0;0 +T16;Test 5;;False;0;0;0;0;0;0 +T27;Test 6;;False;0;0;0;0;0;0 +T43;Test 7;;False;0;0;0;0;0;0 +T65;Test 8;;False;0;0;0;0;0;0 +G1;A;Test;8 +>2;1;1;0;0;0;0;0;0;0;0;0;0 +>3;1;2;0;0;0;0;0;0;0;0;0;0 +>5;1;3;0;0;0;0;0;0;0;0;0;0 +>9;1;4;0;0;0;0;0;0;0;0;0;0 +>16;1;5;0;0;0;0;0;0;0;0;0;0 +>27;1;6;0;0;0;0;0;0;0;0;0;0 +>43;1;7;0;0;0;0;0;0;0;0;0;0 +>65;1;8;0;0;0;0;0;0;0;0;0;0 +M66;1;0;;G1/0;G1/1;;;1;True;False;;;;;;False +M67;2;0;;G1/2;G1/3;;;1;True;False;;;;;;False +M68;3;0;;G1/4;G1/5;;;1;True;False;;;;;;False +M69;4;0;;G1/6;G1/7;;;1;True;False;;;;;;False +M70;5;0;;G1/0;G1/3;;;1;True;False;;;;;;False +M71;6;0;;G1/5;G1/1;;;1;True;False;;;;;;False +M72;7;0;;G1/2;G1/7;;;1;True;False;;;;;;False +M73;8;0;;G1/6;G1/4;;;1;True;False;;;;;;False +M74;9;0;;G1/0;G1/5;;;1;True;False;;;;;;False +M75;10;0;;G1/7;G1/3;;;1;True;False;;;;;;False +M76;11;0;;G1/1;G1/6;;;1;True;False;;;;;;False +M77;12;0;;G1/4;G1/2;;;1;True;False;;;;;;False +M78;13;0;;G1/0;G1/7;;;1;True;False;;;;;;False +M79;14;0;;G1/5;G1/6;;;1;True;False;;;;;;False +M80;15;0;;G1/3;G1/4;;;1;True;False;;;;;;False +M81;16;0;;G1/1;G1/2;;;1;True;False;;;;;;False +M82;17;0;;G1/6;G1/0;;;1;True;False;;;;;;False +M83;18;0;;G1/4;G1/7;;;1;True;False;;;;;;False +M84;19;0;;G1/2;G1/5;;;1;True;False;;;;;;False +M85;20;0;;G1/3;G1/1;;;1;True;False;;;;;;False +M86;21;0;;G1/4;G1/0;;;1;True;False;;;;;;False +M87;22;0;;G1/6;G1/2;;;1;True;False;;;;;;False +M88;23;0;;G1/7;G1/1;;;1;True;False;;;;;;False +M89;24;0;;G1/5;G1/3;;;1;True;False;;;;;;False +M90;25;0;;G1/2;G1/0;;;1;True;False;;;;;;False +M91;26;0;;G1/1;G1/4;;;1;True;False;;;;;;False +M92;27;0;;G1/3;G1/6;;;1;True;False;;;;;;False +M93;28;0;;G1/7;G1/5;;;1;True;False;;;;;;False +[10] +reg_name;Private;False;0;9;1;36;0;0 +T2;Test 1;;False;0;0;0;0;0;0 +T3;Test 2;;False;0;0;0;0;0;0 +T5;Test 3;;False;0;0;0;0;0;0 +T9;Test 4;;False;0;0;0;0;0;0 +T16;Test 5;;False;0;0;0;0;0;0 +T27;Test 6;;False;0;0;0;0;0;0 +T43;Test 7;;False;0;0;0;0;0;0 +T65;Test 8;;False;0;0;0;0;0;0 +T94;Test 9;;False;0;0;0;0;0;0 +G1;A;Test;9 +>2;1;1;0;0;0;0;0;0;0;0;0;0 +>3;1;2;0;0;0;0;0;0;0;0;0;0 +>5;1;3;0;0;0;0;0;0;0;0;0;0 +>9;1;4;0;0;0;0;0;0;0;0;0;0 +>16;1;5;0;0;0;0;0;0;0;0;0;0 +>27;1;6;0;0;0;0;0;0;0;0;0;0 +>43;1;7;0;0;0;0;0;0;0;0;0;0 +>65;1;8;0;0;0;0;0;0;0;0;0;0 +>94;1;9;0;0;0;0;0;0;0;0;0;0 +M95;1;0;;G1/0;G1/1;;;1;True;False;;;;;;False +M96;2;0;;G1/2;G1/3;;;1;True;False;;;;;;False +M97;3;0;;G1/4;G1/5;;;1;True;False;;;;;;False +M98;4;0;;G1/6;G1/7;;;1;True;False;;;;;;False +M99;5;0;;G1/8;G1/0;;;1;True;False;;;;;;False +M100;6;0;;G1/1;G1/2;;;1;True;False;;;;;;False +M101;7;0;;G1/3;G1/4;;;1;True;False;;;;;;False +M102;8;0;;G1/5;G1/6;;;1;True;False;;;;;;False +M103;9;0;;G1/7;G1/8;;;1;True;False;;;;;;False +M104;10;0;;G1/2;G1/0;;;1;True;False;;;;;;False +M105;11;0;;G1/5;G1/3;;;1;True;False;;;;;;False +M106;12;0;;G1/1;G1/4;;;1;True;False;;;;;;False +M107;13;0;;G1/8;G1/6;;;1;True;False;;;;;;False +M108;14;0;;G1/0;G1/3;;;1;True;False;;;;;;False +M109;15;0;;G1/4;G1/7;;;1;True;False;;;;;;False +M110;16;0;;G1/1;G1/6;;;1;True;False;;;;;;False +M111;17;0;;G1/2;G1/5;;;1;True;False;;;;;;False +M112;18;0;;G1/3;G1/8;;;1;True;False;;;;;;False +M113;19;0;;G1/0;G1/7;;;1;True;False;;;;;;False +M114;20;0;;G1/5;G1/1;;;1;True;False;;;;;;False +M115;21;0;;G1/4;G1/2;;;1;True;False;;;;;;False +M116;22;0;;G1/7;G1/3;;;1;True;False;;;;;;False +M117;23;0;;G1/6;G1/0;;;1;True;False;;;;;;False +M118;24;0;;G1/8;G1/2;;;1;True;False;;;;;;False +M119;25;0;;G1/3;G1/1;;;1;True;False;;;;;;False +M120;26;0;;G1/6;G1/4;;;1;True;False;;;;;;False +M121;27;0;;G1/7;G1/5;;;1;True;False;;;;;;False +M122;28;0;;G1/1;G1/8;;;1;True;False;;;;;;False +M123;29;0;;G1/4;G1/0;;;1;True;False;;;;;;False +M124;30;0;;G1/6;G1/2;;;1;True;False;;;;;;False +M125;31;0;;G1/5;G1/8;;;1;True;False;;;;;;False +M126;32;0;;G1/7;G1/1;;;1;True;False;;;;;;False +M127;33;0;;G1/0;G1/5;;;1;True;False;;;;;;False +M128;34;0;;G1/3;G1/6;;;1;True;False;;;;;;False +M129;35;0;;G1/8;G1/4;;;1;True;False;;;;;;False +M130;36;0;;G1/2;G1/7;;;1;True;False;;;;;;False +[11] +[Exception] Turnierplan.Core.Exceptions.TurnierplanException: No group match definitions exist for a group with 10 teams. +reg_name;Private;False;0;10;1;0;0;0 +T2;Test 1;;False;0;0;0;0;0;0 +T3;Test 2;;False;0;0;0;0;0;0 +T5;Test 3;;False;0;0;0;0;0;0 +T9;Test 4;;False;0;0;0;0;0;0 +T16;Test 5;;False;0;0;0;0;0;0 +T27;Test 6;;False;0;0;0;0;0;0 +T43;Test 7;;False;0;0;0;0;0;0 +T65;Test 8;;False;0;0;0;0;0;0 +T94;Test 9;;False;0;0;0;0;0;0 +T131;Test 10;;False;0;0;0;0;0;0 +G1;A;Test;10 +>2;1;1;0;0;0;0;0;0;0;0;0;0 +>3;1;2;0;0;0;0;0;0;0;0;0;0 +>5;1;3;0;0;0;0;0;0;0;0;0;0 +>9;1;4;0;0;0;0;0;0;0;0;0;0 +>16;1;5;0;0;0;0;0;0;0;0;0;0 +>27;1;6;0;0;0;0;0;0;0;0;0;0 +>43;1;7;0;0;0;0;0;0;0;0;0;0 +>65;1;8;0;0;0;0;0;0;0;0;0;0 +>94;1;9;0;0;0;0;0;0;0;0;0;0 +>131;1;10;0;0;0;0;0;0;0;0;0;0 \ No newline at end of file diff --git a/src/Turnierplan.Core.Test.Regression/RegressionTestBase.cs b/src/Turnierplan.Core.Test.Regression/RegressionTestBase.cs index 4d5b1062..840d7b6a 100644 --- a/src/Turnierplan.Core.Test.Regression/RegressionTestBase.cs +++ b/src/Turnierplan.Core.Test.Regression/RegressionTestBase.cs @@ -49,6 +49,33 @@ protected TResult Step(Func step) return result; } + protected void StepWithException(Action step) + where TException : Exception + { + if (_subject is null) + { + throw new InvalidOperationException($"Call '{nameof(Subject)}()' first to initialize the test subject."); + } + + TException? exception = null; + + try + { + step(_subject); + } + catch (TException e) + { + exception = e; + } + + if (exception is null) + { + throw new InvalidOperationException($"Expected the step to throw an exception of type '{typeof(TException).FullName}', but that did not happen."); + } + + AddSaveStateWithException(exception); + } + private void AddSaveState() { _builder.Append('['); @@ -57,4 +84,17 @@ private void AddSaveState() _builder.AppendLine(); _builder.AppendSubject(_subject); } + + private void AddSaveStateWithException(Exception exception) + { + _builder.Append('['); + _builder.Append(++_saveStateIndex); + _builder.Append(']'); + _builder.AppendLine(); + _builder.Append("[Exception] "); + _builder.Append(exception.GetType().FullName); + _builder.Append(": "); + _builder.AppendLine(exception.Message); + _builder.AppendSubject(_subject); + } } diff --git a/src/Turnierplan.Core.Test.Regression/Tests/TournamentAllPossibleFinalsPhases.cs b/src/Turnierplan.Core.Test.Regression/Tests/TournamentAllPossibleFinalsPhases.cs new file mode 100644 index 00000000..4bd067cd --- /dev/null +++ b/src/Turnierplan.Core.Test.Regression/Tests/TournamentAllPossibleFinalsPhases.cs @@ -0,0 +1,76 @@ +using Turnierplan.Core.Tournament; + +namespace Turnierplan.Core.Test.Regression.Tests; + +/// +/// This test creates match plans for all supported finals phases. This test was written to ensure +/// the correct migration from JSON-based group match definitions to the C#-based definitions. +/// +internal sealed class TournamentAllPossibleFinalsPhases : TournamentRegressionTestBase +{ + public TournamentAllPossibleFinalsPhases() + { + // Set as low as possible to reduce size of expected test output + const int teamsCountPerGroup = 4; + + var groupCounter = 'A'; + var teamCounter = 1; + + // -- 1 group -- + Step(AddAnotherGroup); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.FinalOnly)); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.SemiFinals)); + + // -- 2 groups -- + Step(AddAnotherGroup); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.FinalOnly)); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.SemiFinals)); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.QuarterFinals)); + + // -- 3 groups -- + Step(AddAnotherGroup); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.SemiFinals)); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.QuarterFinals)); + + // -- 4 groups -- + Step(AddAnotherGroup); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.SemiFinals)); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.QuarterFinals)); + + // -- 5 groups -- + Step(AddAnotherGroup); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.QuarterFinals)); + + // -- 6 groups -- + Step(AddAnotherGroup); + Step(t => GenerateMatchPlan(t, FinalsRoundOrder.QuarterFinals)); + + return; + + void AddAnotherGroup(Tournament.Tournament t) + { + var teams = Enumerable.Range(0, teamsCountPerGroup).Select(_ => t.AddTeam($"Team {teamCounter++}")).ToList(); + var group = t.AddGroup(groupCounter, $"Test {groupCounter++}"); + teams.ForEach(team => t.AddGroupParticipant(group, team)); + } + + void GenerateMatchPlan(Tournament.Tournament t, FinalsRoundOrder firstRound) + { + t.GenerateMatchPlan(new MatchPlanConfiguration + { + GroupRoundConfig = new GroupRoundConfig + { + GroupMatchOrder = GroupMatchOrder.Alternating, + GroupPhaseRounds = 1 + }, + FinalsRoundConfig = new FinalsRoundConfig + { + FirstFinalsRoundOrder = firstRound, + EnableThirdPlacePlayoff = false, + TeamSelectors = null, + AdditionalPlayoffs = null + } + }, clearMatches: true); + } + } +} diff --git a/src/Turnierplan.Core.Test.Regression/Tests/TournamentAllPossibleGroupSizes.cs b/src/Turnierplan.Core.Test.Regression/Tests/TournamentAllPossibleGroupSizes.cs new file mode 100644 index 00000000..bb8c109f --- /dev/null +++ b/src/Turnierplan.Core.Test.Regression/Tests/TournamentAllPossibleGroupSizes.cs @@ -0,0 +1,65 @@ +using Turnierplan.Core.Exceptions; +using Turnierplan.Core.Tournament; + +namespace Turnierplan.Core.Test.Regression.Tests; + +/// +/// This test creates match plans for all supported tournament group sizes. This test +/// was written to ensure the correct migration from JSON-based group match definitions +/// to the C#-based definitions. +/// +internal sealed class TournamentAllPossibleGroupSizes : TournamentRegressionTestBase +{ + public TournamentAllPossibleGroupSizes() + { + var counter = 1; + var group = Step(t => t.AddGroup('A', "Test")); + + // Initially for group with 2 teams + Step(t => + { + var t1 = t.AddTeam($"Test {counter++}"); + var t2 = t.AddTeam($"Test {counter++}"); + + t.AddGroupParticipant(group, t1); + t.AddGroupParticipant(group, t2); + + t.GenerateMatchPlan(new MatchPlanConfiguration + { + GroupRoundConfig = new GroupRoundConfig + { + GroupMatchOrder = GroupMatchOrder.Alternating, + GroupPhaseRounds = 1 + } + }); + }); + + Step(AddAnotherTeam); // group with 3 teams + Step(AddAnotherTeam); // group with 4 teams + Step(AddAnotherTeam); // group with 5 teams + Step(AddAnotherTeam); // group with 6 teams + Step(AddAnotherTeam); // group with 7 teams + Step(AddAnotherTeam); // group with 8 teams + Step(AddAnotherTeam); // group with 9 teams + + // Adding another team throws an exception because there exists no config for 10 teams + StepWithException(AddAnotherTeam); + + return; + + void AddAnotherTeam(Tournament.Tournament t) + { + var tNext = t.AddTeam($"Test {counter++}"); + t.AddGroupParticipant(group, tNext); + + t.GenerateMatchPlan(new MatchPlanConfiguration + { + GroupRoundConfig = new GroupRoundConfig + { + GroupMatchOrder = GroupMatchOrder.Alternating, + GroupPhaseRounds = 1 + } + }, clearMatches: true); + } + } +} diff --git a/src/Turnierplan.Core/Tournament/Tournament.cs b/src/Turnierplan.Core/Tournament/Tournament.cs index 6b8cb1fa..ad565f0a 100644 --- a/src/Turnierplan.Core/Tournament/Tournament.cs +++ b/src/Turnierplan.Core/Tournament/Tournament.cs @@ -861,6 +861,8 @@ private void GenerateFinalsMatches(FinalsRoundConfig? config, int matchIndexOffs throw new TurnierplanException($"No pre-defined first finals round configuration exists for {_groups.Count} groups and {firstFinalsRoundMatchCount} matches."); } + // TODO: #411 - Do we need a check that no group has less teams than 'definition.RequiredTeamsPerGroup'? + for (var i = 0; i < definition.Matches.Count; i++) { var teamSelectorA = definition.Matches[i].TeamA;