Boolsche Funktionen

Boolsche Funktionen sind für Testbefehle das, was Methoden für Befehle sind. Sie fassen sich wiederholende Testbefehle in einem neuen Testbefehl zusammen.

Aus dem Syntax-Diagramm kann man entnehmen, dass Boolsche Funktionen sehr ähnlich wie Methoden aufgebaut sind. Sie beginnen lediglich mit dem Schlüsselwort bool anstatt void und haben dann genau wie Methoden einen Methodenkopf und einen Methodenkörper. Nur kommt hier beim Methodenkörper ein neues Sprachelement hinzu, die Return-Anweisung:

Die Return-Anweisung liefert so zu sagen einen Ja/Nein-Zustand zurück, wie die Bedingungen bei Verzweigungen oder Wiederholungen.

Wie Methoden auch weiteren Befehl für den Hamster definieren, so definieren Boolsche Funktionen neue Testbefehle. Somit könnt ihr dem Hamster neue "Gefülsorgane" beibringen, die er eigentlich gar nicht von sich aus gar nicht hat. So kann der Hamster mit seinen eigenen Testbefehlen ja eigentlich nur feststellen, ob er vor einer Mauer steht, ob er auf einem Korn steht oder ob er Körner im Maul hat. Aber mit der Methode unten könnt ihr ihm einen Testbefehl beibringen, mit dem er feststellen kann, ob er sowohl vorn frei hat als auch gleichzeitig Körner im Maul:

boolean mauerDa() {
  return !vornFrei();
}

Nun könnt ihr den neuen Testbefehl wie die bereits vorhandenen Testbefehle verwenden:

void main() {
    // Der Hamster legt ein Korn ab,
    // wenn er vor einer Wand steht
    if (mauerDa()) {
      gib();
    }
}