示例#1
0
 public function testaa_havainnon_muokkaus()
 {
     $this->lisaa_testikommentti("<h4>Havainnon muokkaustesti alkaa</h4>", false);
     $this->lisaa_testikommentti("Muokataan ekaa valmista havaintota (Linnut)", false);
     $this->muokattava = $this->havainto1;
     //======================================================================
     // Testataan ennen muutoksia onTallennuskelpoinen-metodi, jonka
     // pitäisi valittaa:
     $this->lisaa_testikommentti("Kokeillaan tallentaa ennen muutoksia,\n            minka ei pitaisi onnistua:", false);
     if ($this->muokattava->tallenna_muutokset() == Havainto::$OPERAATIO_ONNISTUI) {
         $this->lisaa_testikommentti("Virhe: muuttumattomia tietoja ei\n                ole tarkoitus antaa tallentaa!", true);
     } else {
         $this->lisaa_testikommentti("Oikein: muuttumattomia tietoja ei\n                tallenneta!", false);
     }
     //======================================================================
     // ASetetaan kuvaukselle tahallaan vääriä arvoja (paikaksi tyhjä):
     $this->muokattava->set_paikka("");
     $this->lisaa_testikommentti("Testataan tahallaan tallennus,\n            jonka pitaisi valittaa:", false);
     // tyhjennetään vielä aiemmat virheilmoitukset:
     $this->muokattava->tyhjenna_virheilmoitukset();
     // Virheilmoitus pitäisi tulla:
     if ($this->muokattava->tallenna_muutokset() == Havainto::$OPERAATIO_ONNISTUI) {
         $this->lisaa_testikommentti("Virhe: tyhjä paikka-muuttuja livahti ohi\n                        tarkastuksen!", true);
     } else {
         if ($this->muokattava->virheilmoitusten_lkm() == 1) {
             $this->lisaa_testikommentti("Oikein:  Tiedoissa virheita:<br/>" . $this->muokattava->tulosta_virheilmoitukset(), false);
         } else {
             $this->lisaa_testikommentti("Virhe: virheilmoituksia (" . $this->muokattava->virheilmoitusten_lkm() . " kpl):<br/>" . $this->muokattava->tulosta_virheilmoitukset(), true);
         }
     }
     // tyhjennetään vielä aiemmat virheilmoitukset:
     $this->muokattava->tyhjenna_virheilmoitukset();
     //======================================================================
     // ASetetaan havainnolle hyviä arvoja:
     $muokattu_paikka = "Naapurin pihallla";
     $muokattu_vuosi = 1999;
     $this->muokattava->set_paikka($muokattu_paikka);
     $this->muokattava->set_vuosi($muokattu_vuosi);
     $this->lisaa_testikommentti("Testataan hyvien muutosten tallennus, \n            jonka ei pitaisi valittaa:", false);
     // tyhjennetään vielä aiemmat virheilmoitukset:
     $this->muokattava->tyhjenna_virheilmoitukset();
     // Virheilmoituksia ei pitäisi tulla:
     if ($this->muokattava->tallenna_muutokset() === Havainto::$OPERAATIO_ONNISTUI) {
         $this->lisaa_testikommentti("Oikein! Tallennus ok!", false);
         // Kokeillaan hakea sama tietokannasta ja varmistetaan, että
         // muutettu kommentti on todella muuttunut:
         // Huom! Alla vuoden vertailussa pitää olla merkit noin. Täysi
         // identtisyys ei mene läpi. Menisi, jos vuosi olisi
         // määritelty $muokattu_vuosi = "1999". Liittyy ilmeisesti
         // tapaan, jolla numeroarvot jossakin vaiheessa muuttuvat merkkijonoiksi.
         $testi = new Havainto($this->tietokantaolio, $this->muokattava->get_id());
         if ($testi->get_paikka() === $muokattu_paikka && $testi->get_vuosi() == $muokattu_vuosi) {
             $this->lisaa_testikommentti("Muutokset oikein tietokannassa!\n                     Paikka on nykyaan: '" . $testi->get_paikka() . "' ja " . "vuosi '" . $testi->get_vuosi() . "'", false);
         } else {
             $this->lisaa_testikommentti("Muutokset vaarin tietokannassa!\n                     Paikka on nykyaan: '" . $testi->get_paikka() . "' ja " . "vuosi '" . $testi->get_vuosi() . "'", true);
         }
     } else {
         $this->lisaa_testikommentti("Virhe:  Tallennus ei ok:<br/>" . $this->muokattava->tulosta_virheilmoitukset(), true);
         $testi = new Havainto($this->tietokantaolio, $this->muokattava->get_id());
         $this->lisaa_testikommentti(" Tietokannassa seuraavat tiedot:\n                     Paikka on nykyaan: '" . $testi->get_paikka() . "' ja " . "vuosi '" . $testi->get_vuosi() . "'", true);
     }
     //======================================================================
     $this->lisaa_testikommentti("<h4>Havainnon muokkaustesti loppui</h4>", false);
     // Tyhjennetään virheilmoitukset:
     $this->tyhjenna_virheilmoitukset();
     //======================================================================
     //======================================================================
 }