Ejemplo n.º 1
0
 public function testZiskavanieZnamok()
 {
     $a = Znamka::fromString('A');
     $this->assertEquals(1.0, $a->getNumerickaHodnota());
     $b = Znamka::fromString('b');
     $this->assertEquals(1.5, $b->getNumerickaHodnota());
     $fx = Znamka::fromString('Fx');
     $this->assertEquals(4, $fx->getNumerickaHodnota());
     $nic = Znamka::fromString('nieco divne');
     $this->assertEquals(null, $nic);
 }
Ejemplo n.º 2
0
 /**
  * Prida predmet s danou znamkou, zarata do neohodnotenych ak
  * sa znamku nepodarilo rozpoznat alebo nie je vyplnena
  * @param string $castRoka do ktorej casti roka sa ma znamka zaratat
  * @param string $znamkaText nazov znamky (A, B, ...)
  * @param int $kredity pocet kreditov pre danu znamku
  */
 public function add($castRoka, $znamkaText, $kredity)
 {
     Preconditions::check(in_array($castRoka, array(self::SEMESTER_LETNY, self::SEMESTER_ZIMNY, self::AKADEMICKY_ROK)), "Neplatná časť študijného roka.");
     $znamka = null;
     if ($znamkaText !== '') {
         $znamka = Znamka::fromString($znamkaText);
     }
     $this->obdobia[$castRoka]->add($kredity, $znamka);
     // Ak pridavame do akademickeho roka, tak hodnotu nechceme zaratat dvakrat
     if ($castRoka !== self::AKADEMICKY_ROK) {
         $this->obdobia[self::AKADEMICKY_ROK]->add($kredity, $znamka);
     }
 }
Ejemplo n.º 3
0
 /**
  * Vypocita vazeny priemer, vaha sa berie z kreditov
  * @param boolean $neohodnotene true ak sa maju zapocitat aj neohodnotene
  *                              predmety so znamkou Fx
  * @returns float hodnota vazeneho priemeru
  */
 public function vazenyPriemer($neohodnotene = true)
 {
     $suma = $this->sucetVah;
     $pocet = $this->pocetKreditovOhodnotenych;
     if ($neohodnotene) {
         $hodnotaFx = Znamka::fromString('Fx')->getNumerickaHodnota();
         $suma += $this->pocetKreditovNeohodnotenych * $hodnotaFx;
         $pocet += $this->pocetKreditovNeohodnotenych;
     }
     if ($pocet == 0) {
         return null;
     }
     return $suma / $pocet;
 }