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