Example #1
0
// Luodaan palauteolio;
$palauteolio = new Palaute();
// Luodaan parametriolio:
$parametriolio = new Parametrit($tietokantaolio);
$virheiden_lkm = 0;
/* Virhetoimintojen lkm */
// Poistetaan ensin kaikki kokonaisuudet, joiden otsikko on 'Testiotsikko':
$ilmoitus = "Testausta";
//==========================================================================
//==========================================================================
//
// Mallipohjaluokan yms. testaus:
$sisalto = "<h3>Testataan erinäisiä luokkia</h3>";
$malliluokkapohjatesti = new Malliluokkapohjatesti($tietokantaolio, $parametriolio);
$kayttajatoimintotesti = new Kayttajatestaus($tietokantaolio, $parametriolio);
$kokon_teht_ratk_testi = new KokonTehtRatkTestaus($tietokantaolio, $parametriolio);
$koostetesti = new Koostetestaus($tietokantaolio, $parametriolio);
$testipalauteoliot = array($malliluokkapohjatesti->toteuta_malliluokkapohjatestit(), $kayttajatoimintotesti->toteuta_kayttajatestit(), $kokon_teht_ratk_testi->toteuta_testit(), $koostetesti->toteuta());
$virheilmoitukset = "";
$otsikot_ja_ilmoitukset = "";
foreach ($testipalauteoliot as $testipalaute) {
    $virheilmoitukset .= $testipalaute->get_virheilmoitukset();
    $otsikot_ja_ilmoitukset .= "<h3 style='color: blue'>" . $testipalaute->get_otsikko() . "</h3>";
    $otsikot_ja_ilmoitukset .= $testipalaute->get_sisalto() . "<br/>";
    $otsikot_ja_ilmoitukset .= "===============================" . "================================<br/>";
    $virheiden_lkm += $testipalaute->get_virheilmoitusten_lkm();
}
//=============== Mallipohjaluokan yms. testaus loppuu =====================
//==========================================================================
/***************************************************************************/
$oikea_palkki = "";
Example #2
0
 /**
 * Luo testiratkaisun ja palauttaa Ratkaisu-luokan olion, tai arvon
 * Pohja::$VIRHE.
 * 
 * create table ratkaisut
     (
    id                    mediumint auto_increment not null,
    tehtava_id              mediumint not null,
    henkilo_id		smallint not null,
    luomishetki_sek       int not null,
    ed_muutos_sek         int not null,
    vastaus               varchar(1000),
    ratkaisu              varchar(10000) not null,
    primary key (id),
    index(tehtava_id),
    FOREIGN KEY (tehtava_id) REFERENCES tehtavat (id)
                    ON DELETE CASCADE
     ) ENGINE=INNODB; 
 * 
 * @param type $parametriolio
 */
 private function luo_testiratkaisu()
 {
     $jatkolupa = false;
     $palaute = Pohja::$VIRHE;
     $ratkaisukontrolleri = new Ratkaisukontrolleri($this->tietokantaolio, $this->parametriolio);
     // Luodaan ensin testikokonaisuus:
     $this->parametriolio->set_omaid($this->testihenkilo->get_id());
     $palauteolio_kokon = $this->kok_teht_ratk_testiolio->luo_testikokonaisuus("Otsikko", "Testikokonaisuus", -1);
     if (!$palauteolio_kokon->operaatio_onnistui()) {
         $this->lisaa_virheilmoitus("Testikokonaisuuden luominen epäonnistui!" . " <br/>" . $palauteolio_kokon->get_ilmoitus());
     } else {
         $this->testikokonaisuus = new Kokonaisuusolio($palauteolio_kokon->get_muokatun_id(), $this->tietokantaolio);
         if ($this->testikokonaisuus->olio_loytyi_tietokannasta) {
             $this->lisaa_kommentti("Testikokonaisuuden luominen ok ");
             // Luodaan testitehtava:
             $palauteolio_teht = $this->kok_teht_ratk_testiolio->luo_testitehtava($palauteolio_kokon->get_muokatun_id(), "TEstitehtava on tama kiva!");
             if (!$palauteolio_teht->operaatio_onnistui()) {
                 $this->lisaa_virheilmoitus("Testitehtavan luominen epäonnistui!" . " Ilmoitukset: " . $palauteolio_teht->get_ilmoitus());
             } else {
                 $this->lisaa_kommentti("Testitehtavän luominen ok");
                 $jatkolupa = true;
             }
         } else {
             $this->lisaa_virheilmoitus("Kokon_oliota ei löytynyt tietokannasta!");
         }
     }
     /************** UUDEN RATKAISUN TALLENNUS *********************************/
     if ($jatkolupa) {
         $parametriolio = $this->parametriolio;
         $palaute = Pohja::$VIRHE;
         $id_kokon = -1;
         // haetaan tietokannasta tehtävä, johon ratkaisu voidaan liittää:
         $id_teht = $palauteolio_teht->get_muokatun_id();
         $osuma = new Tehtava($id_teht, $this->tietokantaolio);
         if ($osuma->olio_loytyi_tietokannasta) {
             $this->lisaa_kommentti("Luodaan sitten testiratkaisu.");
             $parametriolio->id_teht = $id_teht;
             $parametriolio->vastaus_ratk = "Vastaus";
             $parametriolio->ratkaisu_ratk = Kayttajatestaus::$testi_ratkaisu;
             // Laitetaan ratkaisun luojaksi testiomistaja
             $parametriolio->set_omaid($this->testiomistaja->get_id());
             // Satunnainen id.
             $palauteolio = new Palaute();
             $ratkaisukontrolleri->toteuta_tallenna_uusi($palauteolio);
             $tallennettu = new Ratkaisu($palauteolio->get_muokatun_id(), $this->tietokantaolio);
             if ($tallennettu->olio_loytyi_tietokannasta) {
                 $this->lisaa_kommentti("Ratkaisun tallennus ok (omistaja testiomistaja)!! Ratkaisu = " . $tallennettu->getRatkaisu());
             } else {
                 $this->lisaa_virheilmoitus("Ratkaisun tallennus ei ok!!");
             }
             // Tarkistetaan onnistuiko:
             if (!$palauteolio->operaatio_onnistui()) {
                 $this->lisaa_virheilmoitus("<div class='virhe'>Virhe uuden ratkaisun" . " tallennuksessa (Kayttajatestaus-" . "toteuta_uuden_ratkaisun_tallennus) </div>" . $ratkaisukontrolleri->tulosta_virheilmoitukset() . $palauteolio->get_ilmoitus());
             } else {
                 // haetaan tietokannasta:
                 $id = $palauteolio->get_muokatun_id();
                 $ratk = new Ratkaisu($id, $this->tietokantaolio);
                 if ($ratk->olio_loytyi_tietokannasta) {
                     $palaute = $ratk;
                 } else {
                     $this->lisaa_virheilmoitus("Testiratkaisua ei löytynyt tietokannasta!");
                 }
             }
         } else {
             $this->lisaa_virheilmoitus("Yhtään tehtävää ei löytynyt! Luo yksi ensin!");
         }
     }
     return $palaute;
 }