public function test_makeBehaviours_cas2()
 {
     // morpheme;type;case;number;perPoss;numbPoss;V-form;V-action1;V-action2;t-form;t-action1;t-action2;k-form;k-action1;k-action2;q-form;q-action1;q-action2;condPrec;sources
     // k;tn;nom;d;;;;allV;x;;iallV(i);;;sallV;x;;sallV;x;;H2
     $context = 'V';
     $forms = 'k';
     $actions = 'n-n-allV';
     // pas d'action1 ; pas d'action2 si radical en 2 voyelles ; allV si radical en 1 voyelle
     $behaviours = Behaviour::makeBehaviours($context, $actions, $forms);
     $att = 1;
     $this->assertEquals($att, count($behaviours), "");
     $comp1 = $behaviours[0];
     $this->assertEquals(Action::NEUTRAL, $comp1->actionOnStem()->type(), "");
     $this->assertEquals(Action::NEUTRAL, $comp1->actionVV()->type(), "");
     $this->assertEquals(Action::VOWELLENGTHENING, $comp1->actionNotVV()->type(), "");
     //		$context = 't';
     //		$forms = 'k';
     //		$actions = 'i(i)-n-allV'; // insérer 'i' ; pas d'action2 si radical en 2 voyelles ; allV si radical en 1 voyelle
     //
     //		$context = 'k';
     //		$forms = 'k';
     //		$actions = 's-n-allV'; // supprimer le 'k' ; par d'action2 si radical en 2 voyelles ; allV si radical en 1 voyelle
 }
Example #2
0
 /**
  * @return bool
  */
 private function nextIsActive()
 {
     return $this->next && $this->next->isActive();
 }
Example #3
0
 public function makeBehaviours($context, $actions, $forms)
 {
     return Behaviour::makeBehaviours($context, $actions, $forms);
 }
Example #4
0
 protected final function addBehaviour(Behaviour &$behaviour)
 {
     $this->behaviours['behaviour_' . $this->getNextComponentId()] = $behaviour;
     if ($this->isInitialized()) {
         $behaviour->bind($this);
     }
 }