Hallo 1unitedpower,
// squareRoot.php function squareRoot($x) { return sqrt($x); }
Nun, wollen wir wissen, ob die Funktion das tut, was wir von ihr erwarten. Wir definieren dafür Unit-Tests:
// test.php require "squareRoot.php"; $in = 4; $expected = [2,-2];
Dieser Test schlägt bereits fehl, weil wir bei der Implementierung vergessen haben, dass die Wurzel einer positiven Zahl, mehrere Lösungen hat.
Nein, die Quadratwurzel einer Zahl x ist diejenige nicht negative Zahl, die mit sich selbst multipliziert x ergibt.
function ($x) { return [sqrt($x), -sqrt($x)]; }
Die Gleichung x² = a hat für postives a zwei Lösungen, nämlich die von dir oben genannten. sqrt(x) ist dabei die positive Zahl, die man mit plus bzw. minus eins multiplizieren muss, um die beiden Lösungen zu erhalten.
Bis demnächst
Matthias