Tests für die Beispiele verschachtelter pureQuery-Beans

Die Testmethode ruft pureQuery-Methoden zum Instanziieren und Füllen der Beans auf. Die Testmethode listet den Inhalt der Beans auf.

Die vollständige JUnit-Testklassen finden Sie in JUnit-Testklasse für das Beispiel verschachtelter pureQuery-Beans.

Über eine die SQL-Abfrage enthaltende Schnittstelle definierte Testmethode für verschachtelte Beans

In diesem Test befindet sich die SQL-Anweisung in der Schnittstelle SimpleQueryInterface. Die folgenden verschachtelten Beans werden getestet:
  • Die Bean Dept1 ist die Bean der höchsten Ebene.
  • Die Bean Emp ist die untergeordnete Bean.
    public void test_joinTest1() throws Exception {
        System.out.println("==Test1 nested beans with interface==");
        SimpleQueryInterface data = null;
        data = DataFactory.getData(SimpleQueryInterface.class, jdbcCon);

        System.out.println("==Get Dept data ==");
        List<Dept1> depts = data.joinTest();

        System.out.println("Employees by Dept:");
        for (Dept1 d : depts) {
            System.out.println(d.getDeptCode() + " - " + d.getDeptNameEn());
            List<Emp> employees = d.getDeptEmployees();
            if (!employees.isEmpty()) {
                for (Emp e : employees) {
                    System.out.println("  " + e.getLastName() + ", "
                            + e.getFirstName() + ",  " + e.toString());
                }
            } else {
                System.out.println(" -- No Employees-- ");
            }
        }
    }
Die folgende Liste ist ein Beispiel für eine einzelne Abteilung:
7810 - Production and Distribution
  Agostini, Massimo,  ID: 10481
  Boscolo, Gabriella,  ID: 10480
  Ferrari, Arabela,  ID: 10304
  Gallo, Feliti,  ID: 10632
  Lombardi, Isabella,  ID: 10482
  Marino, Gualtier,  ID: 10793
  Medina, Benicio,  ID: 10483
  Morales, Ada,  ID: 10306

Für eine Inline-SQL-Abfrage definierte Testmethode für verschachtelte Beans

Dieser Test listet die Mitarbeiter für jede Abteilung auf. Die folgenden verschachtelten Beans werden getestet:
  • Die Bean Dept2 ist die Bean der höchsten Ebene.
  • Die Bean Emp ist die untergeordnete Bean.
public void test_joinTest2() throws Exception {
        System.out.println("==Test2 nested bean with Inline SQL==");
        Data data = null;
        String myDeptNo = "6820";
        data = DataFactory.getData(jdbcCon);

        List<Dept2> depts = data
            queryList(
               "SELECT E.EMPLOYEE_CODE, E.FIRST_NAME, E.LAST_NAME, E.DATE_HIRED, "
                  + " ORG.ORGANIZATION_CODE, ORG.ORGANIZATION_NAME_EN"
                  + " FROM EMPLOYEE AS E, EMPLOYEE_HISTORY AS EH, ORGANIZATION AS ORG"
                  + " WHERE EH.EMPLOYEE_CODE = E.EMPLOYEE_CODE "
                  + "   AND EH.ORGANIZATION_CODE = ORG.ORGANIZATION_CODE"
                  + "   AND EH.RECORD_END_DATE IS NULL "
                  + " ORDER BY EH.ORGANIZATION_CODE, E.LAST_NAME ",
               Dept2.class);

        System.out.println("Employees by Dept:");
        for (Dept2 d : depts) {
            System.out.println(d.deptCode + " - " + d.deptNameEn);
            List<Emp> employees = d.deptEmployees;
            if (!employees.isEmpty()) {
                for (Emp e : employees) {
                    System.out.println("  " + e.getLastName() + ", "
                            + e.getFirstName() + ",  " + e.toString());
                }
            } else {
                System.out.println(" -- No Employees-- ");
            }
        }
    }
Anmerkung: Im Test mit der Inline-SQL können Sie die Verweise auf Dept2 durch Verweise auf Dept1 ersetzen. Für die Klasse Dept2 werden die Bean-Eigenschaften über get- und set-Methoden definiert. Für die Klasse Dept1 werden die Bean-Eigenschaften über öffentliche Felder definiert.
Die folgende Liste ist ein Beispiel für eine einzelne Abteilung:
7810 - Production and Distribution
  Agostini, Massimo,  ID: 10481
  Boscolo, Gabriella,  ID: 10480
  Ferrari, Arabela,  ID: 10304
  Gallo, Feliti,  ID: 10632
  Lombardi, Isabella,  ID: 10482
  Marino, Gualtier,  ID: 10793
  Medina, Benicio,  ID: 10483
  Morales, Ada,  ID: 10306

Feedback