Beispiel #1
0
        public void KoExportTest()
        {
            // Runden für das KO-System erzeugen
            var tournamentBracketLogRoundOne = new TournamentBracketLogRound(1);

            tournamentBracketLogRoundOne.AddMatch(PLAYER_FIVE, PLAYER_THREE, true);
            tournamentBracketLogRoundOne.AddMatch(PLAYER_SIX, PLAYER_ONE, true);

            var tournamentBracketLogRoundTwo = new TournamentBracketLogRound(2);

            tournamentBracketLogRoundTwo.AddMatch(PLAYER_FIVE, PLAYER_SIX, false);

            // Runden hinzufügen
            TournamentBracketLog.Rounds.Add(tournamentBracketLogRoundOne);
            TournamentBracketLog.Rounds.Add(tournamentBracketLogRoundTwo);

            // Dinge erzeugen, die wichtig für den Export sind
            var fileName = "KnockOutStageGroupExportTest.xlsx";

            using (SpreadsheetDocument document = SpreadsheetDocument.Create(fileName, SpreadsheetDocumentType.Workbook))
            {
                WorkbookPart workbookPart = document.AddWorkbookPart();
                workbookPart.Workbook = new Workbook();
                Sheets sheets = document.WorkbookPart.Workbook.AppendChild <Sheets>(new Sheets());

                WorksheetPart worksheetPart = workbookPart.AddNewPart <WorksheetPart>();
                Worksheet     worksheet     = new Worksheet();
                SheetData     sheetdata     = new SheetData();
                worksheet.AppendChild(sheetdata);
                worksheetPart.Worksheet = worksheet;
                Sheet sheet2 = new Sheet()
                {
                    Id      = document.WorkbookPart.GetIdOfPart(worksheetPart),
                    SheetId = 2,
                    Name    = "KO"
                };
                sheets.Append(sheet2);

                // Den eigentlichen Export durchführen
                var excelExportFactory = new ExcelExportFactory();
                var bracketLog         = excelExportFactory.CreateExcelExport(ExcelExportFactory.ExcelExportType.Bracket);
                bracketLog.Export(document, sheetdata, worksheetPart);

                // Zellen aus dem Dokument laden, welche angeschaut werden müssen
                var firstUsedCell        = CellFinder.GetCell(worksheetPart.Worksheet, 1, 2);
                var firstRoundStartCell  = CellFinder.GetCell(worksheetPart.Worksheet, 1, 3);
                var secondRoundStartCell = CellFinder.GetCell(worksheetPart.Worksheet, 2, 4);
                var thirdRoundStartCell  = CellFinder.GetCell(worksheetPart.Worksheet, 3, 6);

                // Tests durchführen
                Assert.IsTrue(firstUsedCell != null && firstUsedCell.DataType == CellValues.String);
                Assert.AreEqual(firstUsedCell.CellValue.Text, "Round 1");
                Assert.IsTrue(firstRoundStartCell != null && firstRoundStartCell.DataType == CellValues.String);
                Assert.IsTrue(secondRoundStartCell != null && secondRoundStartCell.DataType == CellValues.String);
                Assert.IsTrue(thirdRoundStartCell != null && thirdRoundStartCell.DataType == CellValues.String);
            }
        }
Beispiel #2
0
        public void GroupExportTest()
        {
            // Alle Gruppenspiele hinzufügen
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_THREE, PLAYER_FOUR, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_FIVE, PLAYER_FOUR, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_THREE, PLAYER_SEVEN, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_SIX, PLAYER_ONE, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_FIVE, PLAYER_SEVEN, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_FOUR, PLAYER_SEVEN, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_ONE, PLAYER_TWO, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_SIX, PLAYER_EIGHT, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_SIX, PLAYER_TWO, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_ONE, PLAYER_EIGHT, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_FIVE, PLAYER_THREE, 1, 1));
            TournamentGroupLog.AddMatch(TournamentGroupLogMatch.Create(PLAYER_EIGHT, PLAYER_TWO, 1, 1));

            // Gruppen erzeugen
            var groupA = new List <Player>();

            groupA.Add(new Player(new Name(PLAYER_FIVE), new Identification(5)));
            groupA.Add(new Player(new Name(PLAYER_THREE), new Identification(3)));
            groupA.Add(new Player(new Name(PLAYER_FOUR), new Identification(4)));
            groupA.Add(new Player(new Name(PLAYER_SEVEN), new Identification(7)));

            var groupB = new List <Player>();

            groupB.Add(new Player(new Name(PLAYER_SIX), new Identification(6)));
            groupB.Add(new Player(new Name(PLAYER_ONE), new Identification(1)));
            groupB.Add(new Player(new Name(PLAYER_EIGHT), new Identification(8)));
            groupB.Add(new Player(new Name(PLAYER_TWO), new Identification(2)));

            // Gruppen hinzufügen
            TournamentGroupLog.Groups.Add(1, groupA);
            TournamentGroupLog.Groups.Add(2, groupB);

            // Dinge erzeugen, die wichtig für den Export sind
            var fileName = "KnockOutStageGroupExportTest.xlsx";

            using (SpreadsheetDocument document = SpreadsheetDocument.Create(fileName, SpreadsheetDocumentType.Workbook))
            {
                WorkbookPart workbookPart = document.AddWorkbookPart();
                workbookPart.Workbook = new Workbook();
                Sheets sheets = document.WorkbookPart.Workbook.AppendChild <Sheets>(new Sheets());

                // Groups
                WorksheetPart worksheetPart = workbookPart.AddNewPart <WorksheetPart>();
                SheetData     sheetdata     = new SheetData();
                if (TournamentGroupLog.Groups.Count > 0)
                {
                    Worksheet worksheet = new Worksheet();
                    worksheet.AppendChild(sheetdata);
                    worksheetPart.Worksheet = worksheet;
                    Sheet sheet1 = new Sheet()
                    {
                        Id      = document.WorkbookPart.GetIdOfPart(worksheetPart),
                        SheetId = 1,
                        Name    = "Groups"
                    };
                    sheets.Append(sheet1);
                }

                // Den eigentlichen Export durchführen
                var excelExportFactory = new ExcelExportFactory();
                var groupLog           = excelExportFactory.CreateExcelExport(ExcelExportFactory.ExcelExportType.Groups);
                groupLog.Export(document, sheetdata, worksheetPart);

                // Daten, die aus der Datei benötigt werden, sodass die Tests durchgeführt werden können
                var playerCell          = CellFinder.GetCell(worksheetPart.Worksheet, 10, 2);
                var firstValueCell      = CellFinder.GetCell(worksheetPart.Worksheet, 2, 2);
                var secondValueCell     = CellFinder.GetCell(worksheetPart.Worksheet, 2, 3);
                var firstGroupNameCell  = CellFinder.GetCell(worksheetPart.Worksheet, 1, 14);
                var groupWinnerCell     = CellFinder.GetCell(worksheetPart.Worksheet, 1, 15);
                var groupDifferenceCell = CellFinder.GetCell(worksheetPart.Worksheet, 2, 21);
                var groupPointsCell     = CellFinder.GetCell(worksheetPart.Worksheet, 3, 24);

                int firstValue, secondValue;
                firstValueCell.CellValue.TryGetInt(out firstValue);
                secondValueCell.CellValue.TryGetInt(out secondValue);

                // Tests, um zu überprüfen, ob der Export funktioniert hat.
                Assert.IsTrue(playerCell != null && playerCell.DataType == CellValues.String);
                Assert.IsTrue(firstValueCell != null && firstValueCell.DataType == CellValues.Number);
                Assert.AreEqual(firstValue, 1);
                Assert.AreEqual(secondValue, 1);
                Assert.AreEqual(firstGroupNameCell.CellValue.Text, "Group 1");
                Assert.IsTrue(groupWinnerCell != null && groupWinnerCell.DataType == CellValues.String);
                Assert.IsTrue(groupDifferenceCell != null && groupDifferenceCell.DataType == CellValues.Number);
                Assert.IsTrue(groupPointsCell != null && groupPointsCell.DataType == CellValues.Number);
            }
        }