ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.test_010_ComplexGateway.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'Services/WorkflowEngine/test/ilWorkflowEngineBaseTest.php';
5 
13 {
14  #region Helper
15  public $base_path = './Services/WorkflowEngine/test/parser/';
16  public $suite_path = '010_ComplexGateway/';
17 
18  public function getTestInputFilename($test_name)
19  {
20  return $this->base_path . $this->suite_path . $test_name . '.bpmn2';
21  }
22 
23  public function getTestOutputFilename($test_name)
24  {
25  return $this->base_path . $this->suite_path . $test_name . '_output.php';
26  }
27 
28  public function getTestGoldsampleFilename($test_name)
29  {
30  return $this->base_path . $this->suite_path . $test_name . '_goldsample.php';
31  }
32 
33  public function setUp()
34  {
35  chdir(dirname(__FILE__));
36  chdir('../../../../../');
37 
38  parent::setUp();
39 
40  require_once './Services/WorkflowEngine/classes/parser/class.ilBPMN2Parser.php';
41  }
42 
44  {
45  $this->markTestIncomplete('The complex gateway has conceptual issues. Proper modeling of a default outgoing
46  sequence flows seems to be impossible with available modelling tools. Once this is resolved, testing makes
47  sense, not before.');
48  // TODO: Resolve conceptual issues.
49 
50  $test_name = 'ComplexGateway_Blanko_Simple';
51  $xml = file_get_contents($this->getTestInputFilename($test_name));
52  $parser = new ilBPMN2Parser();
53  $parse_result = $parser->parseBPMN2XML($xml);
54 
55  file_put_contents($this->getTestOutputFilename($test_name), $parse_result);
56  $return = exec('php -l ' . $this->getTestOutputFilename($test_name));
57 
58  $this->assertTrue(substr($return, 0, 25) == 'No syntax errors detected', 'Lint of output code failed.');
59 
60  $goldsample = file_get_contents($this->getTestGoldsampleFilename($test_name));
61  $this->assertEquals($goldsample, $parse_result, 'Output does not match goldsample.');
62 
63  require_once $this->getTestOutputFilename($test_name);
64  $process = new $test_name;
65  $this->assertFalse($process->isActive());
66 
67  unlink($this->getTestOutputFilename($test_name));
68  }
69 }
Class ilWorkflowEngineBaseTest.
$parse_result
Definition: BPMN2Parser.php:25
$xml
Definition: metadata.php:240
$parser
Definition: BPMN2Parser.php:23
Class ilBPMN2Parser.