package de.dhbw.humbuch.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; import org.junit.Ignore; import de.dhbw.humbuch.model.SubjectHandler; import de.dhbw.humbuch.model.entity.BorrowedMaterial; import de.dhbw.humbuch.model.entity.Grade; import de.dhbw.humbuch.model.entity.GradeTest; import de.dhbw.humbuch.model.entity.Parent; import de.dhbw.humbuch.model.entity.Student; import de.dhbw.humbuch.model.entity.Subject; import de.dhbw.humbuch.model.entity.TeachingMaterial; /** * This class contains test data to generate PDFs. It does NOT contain any JUnit * tests. Use this class to create PDFs. After the creation one has to check * them manually! * * @author Benjamin Räthlein * */ @Ignore("Manual test") public class PDFTest { public static void main(String[] args) { testStudentPDF(); testClassPDF(); testDunningPDF(); testDunningPDFWithParent(); } public static void testStudentPDF() { Student student; Date date = null; try { date = new SimpleDateFormat("dd.mm.yyyy", Locale.GERMAN).parse("12.04.1970"); Grade grade = new Grade.Builder("11au").build(); Set<Subject> profileTypeSet = SubjectHandler.createProfile(new String[] { "E", "", "F" }, "ev"); List<BorrowedMaterial> borrowedMaterialList = new ArrayList<BorrowedMaterial>(); student = new Student.Builder(4, "Karl", "August", date, grade).profile(profileTypeSet).build(); TeachingMaterial teachingMaterial = new TeachingMaterial.Builder(null, "Bio1 - Bugs", "123", null).price(79.75).toGrade(6).build(); BorrowedMaterial borrowedMaterial = new BorrowedMaterial.Builder(student, teachingMaterial, null).build(); borrowedMaterialList.add(borrowedMaterial); teachingMaterial = new TeachingMaterial.Builder(null, "German1 - Faust", "123", null).price(22.49).toGrade(11).build(); borrowedMaterial = new BorrowedMaterial.Builder(student, teachingMaterial, null).build(); borrowedMaterialList.add(borrowedMaterial); for(int i = 0; i < 56; i++){ borrowedMaterial = new BorrowedMaterial.Builder(student, teachingMaterial, null).build(); borrowedMaterialList.add(borrowedMaterial); } student.setBorrowedMaterials(borrowedMaterialList); PDFStudentList.Builder builder = new PDFStudentList.Builder().borrowedMaterialList(borrowedMaterialList). lendingList(borrowedMaterialList).returnList(borrowedMaterialList); new PDFStudentList(builder).savePDF("./testfiles/StudentPDFMasterList.pdf"); builder = new PDFStudentList.Builder().borrowedMaterialList(borrowedMaterialList); new PDFStudentList(builder).savePDF("./testfiles/StudentPDFBorrowedList.pdf"); builder = new PDFStudentList.Builder().lendingList(borrowedMaterialList); new PDFStudentList(builder).savePDF("./testfiles/StudentPDFLendingList.pdf"); builder = new PDFStudentList.Builder().returnList(borrowedMaterialList); new PDFStudentList(builder).savePDF("./testfiles/StudentPDFReturnList.pdf"); } catch (ParseException e) { System.err.println("Could not format date " + e.getStackTrace()); } } public static void testClassPDF() { Map<Grade, Map<TeachingMaterial, Integer>> gradeMap = GradeTest.prepareGradeTest(); new PDFClassList(gradeMap).savePDF("./testfiles/SecondPdfClass.pdf"); Map<Grade, Map<TeachingMaterial, Integer>> multipleGradesMap = GradeTest.prepareMultipleGradeTest(); new PDFClassList(multipleGradesMap).savePDF("./testfiles/MultiClassPDF.pdf"); } public static void testDunningPDF() { Set<Subject> profileTypeSet = SubjectHandler.createProfile(new String[] { "E", "", "F" }, "ev"); List<BorrowedMaterial> borrowedMaterialList = new ArrayList<BorrowedMaterial>(); Date date; try { date = new SimpleDateFormat("dd.mm.yyyy", Locale.GERMAN).parse("12.04.1970"); Grade grade = new Grade.Builder("11au").build(); Parent parent = new Parent.Builder("Penny", "Wise").title("Frau").street("Elmstreet 31").city("Karlsruhe").postcode(1337).build(); Student student = new Student.Builder(4, "Karl", "August", date, grade).profile(profileTypeSet).parent(parent).build(); TeachingMaterial teachingMaterial = new TeachingMaterial.Builder(null, "Bio1 - Bugs", "123", null).price(79.75).toGrade(6).build(); BorrowedMaterial borrowedMaterial = new BorrowedMaterial.Builder(student, teachingMaterial, null).build(); borrowedMaterialList.add(borrowedMaterial); teachingMaterial = new TeachingMaterial.Builder(null, "German1 - Faust", "123", null).price(22.49).toGrade(11).build(); borrowedMaterial = new BorrowedMaterial.Builder(student, teachingMaterial, null).build(); borrowedMaterialList.add(borrowedMaterial); student.setBorrowedMaterials(borrowedMaterialList); Set<List<BorrowedMaterial>> borrowedMaterials = new LinkedHashSet<List<BorrowedMaterial>>(); borrowedMaterials.add(student.getBorrowedMaterials()); PDFDunning.createFirstDunning(borrowedMaterials).savePDF("./testfiles/DunningPdf.pdf"); } catch (ParseException e) { System.err.println("Could not format date " + e.getStackTrace()); } } public static void testDunningPDFWithParent() { Set<Subject> profileTypeSet = SubjectHandler.createProfile(new String[] { "E", "", "F" }, "ev"); List<BorrowedMaterial> borrowedMaterialList = new ArrayList<BorrowedMaterial>(); Date date; try { date = new SimpleDateFormat("dd.mm.yyyy", Locale.GERMAN).parse("12.04.1970"); Grade grade = new Grade.Builder("11au").build(); Parent parent = new Parent.Builder("Penny", "Wise").title("Frau").street("Elmstreet 31").city("Karlsruhe").postcode(1337).build(); Student student = new Student.Builder(4, "Karl", "August", date, grade).profile(profileTypeSet).parent(parent).build(); TeachingMaterial teachingMaterial = new TeachingMaterial.Builder(null, "Bio1 - Bugs", "123", null).price(79.75).toGrade(6).build(); BorrowedMaterial borrowedMaterial = new BorrowedMaterial.Builder(student, teachingMaterial, null).build(); borrowedMaterialList.add(borrowedMaterial); teachingMaterial = new TeachingMaterial.Builder(null, "German1 - Faust", "123", null).price(22.49).toGrade(11).build(); borrowedMaterial = new BorrowedMaterial.Builder(student, teachingMaterial, null).build(); borrowedMaterialList.add(borrowedMaterial); student.setBorrowedMaterials(borrowedMaterialList); Set<List<BorrowedMaterial>> borrowedMaterials = new LinkedHashSet<List<BorrowedMaterial>>(); borrowedMaterials.add(student.getBorrowedMaterials()); PDFDunning.createSecondDunning(borrowedMaterials).savePDF("./testfiles/secondDunningPdf.pdf"); } catch (ParseException e) { e.printStackTrace(); } } }