Example #1
0
 /**
  * {@inheritdoc}
  *
  * @param string $context
  *    A context, explaining what kind of data this is. Possible contexts:
  *    - PerCurriculum::CURRICULUM_API: This means the $data param will be
  *      treated as a URL to the official BDPER API endpoint.
  */
 public static function createFromData($data, $context = self::CURRICULUM_API)
 {
     switch ($context) {
         case self::CURRICULUM_API:
             $data = self::fetchCurriculumData($data);
             $curriculum = new PerCurriculum($data->curriculum);
             $curriculum->setCurriculumDictionary($data->dictionary);
             return $curriculum;
     }
     // @codeCoverageIgnoreStart
     throw new CurriculumInvalidContextException();
     // @codeCoverageIgnoreEnd
 }
Example #2
0
 /**
  * Test treating a taxonomy tree.
  */
 public function testTaxonomyTreeHandling()
 {
     $trees = json_decode(file_get_contents(FIXTURES_DIR . '/curriculum-data/per_taxonomy_tree.json'), true);
     // Create a new curriculum element.
     $curriculum = PerCurriculum::createFromData(FIXTURES_DIR . '/curriculum-data/per-api', PerCurriculum::CURRICULUM_API);
     $curriculum->setTreeBasedOnTaxonTree($trees);
     // Load the expected competency ASCII tree.
     $expectedAsciiTree = file_get_contents(FIXTURES_DIR . '/curriculum-data/per_taxonomy_path.competency.ascii');
     $this->assertEquals(trim($expectedAsciiTree), $curriculum->asciiDump(), "The ASCII representation of the competency curriculum tree, based on the taxonomy tree, is as expected.");
 }