ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilSimpleEmitterTest.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
16 {
17  public function setUp()
18  {
19  include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
20  //ilUnitUtil::performInitialisation();
21 
22  // Empty workflow.
23  require_once './Services/WorkflowEngine/classes/workflows/class.ilEmptyWorkflow.php';
24  $this->workflow = new ilEmptyWorkflow();
25 
26  // Basic node
27  require_once './Services/WorkflowEngine/classes/nodes/class.ilBasicNode.php';
28  $this->node = new ilBasicNode($this->workflow);
29 
30  // Wiring up so the node is attached to the workflow.
31  $this->workflow->addNode($this->node);
32 
33  require_once './Services/WorkflowEngine/classes/emitters/class.ilSimpleEmitter.php';
34  }
35 
36  public function tearDown()
37  {
38  global $ilSetting;
39  if ($ilSetting != null) {
40  $ilSetting->delete('IL_PHPUNIT_TEST_TIME');
41  $ilSetting->delete('IL_PHPUNIT_TEST_MICROTIME');
42  }
43  }
44 
45  public function testConstructorValidContext()
46  {
47  // Act
48  $emitter = new ilSimpleEmitter($this->node);
49 
50  // Assert
51  // No exception - good
52  $this->assertTrue(
53  true,
54  'Construction failed with valid context passed to constructor.'
55  );
56  }
57 
58  public function testGetContext()
59  {
60  // Arrange
61  $emitter = new ilSimpleEmitter($this->node);
62 
63  // Act
64  $actual = $emitter->getContext();
65 
66  // Assert
67  if ($actual === $this->node) {
68  $this->assertEquals($actual, $this->node);
69  } else {
70  $this->assertTrue(false, 'Context not identical.');
71  }
72  }
73 
74  public function testSetGetTargetDetector()
75  {
76  // Arrange
77  require_once './Services/WorkflowEngine/classes/detectors/class.ilSimpleDetector.php';
78  $target_node = new ilBasicNode($this->workflow);
79  $target_detector = new ilSimpleDetector($target_node);
80  $target_node->addDetector($target_detector);
81 
82  $emitter = new ilSimpleEmitter($this->node);
83 
84  // Act
85  $emitter->setTargetDetector($target_detector);
86 
87  // Assert
88  $actual = $emitter->getTargetDetector();
89  $this->assertEquals($target_detector, $actual);
90  }
91 
92  public function testEmitValidState()
93  {
94  // Arrange
95  require_once './Services/WorkflowEngine/classes/detectors/class.ilSimpleDetector.php';
96  $target_node = new ilBasicNode($this->workflow);
97  $target_detector = new ilSimpleDetector($target_node);
98  $target_node->addDetector($target_detector);
99 
100  $emitter = new ilSimpleEmitter($this->node);
101  $emitter->setTargetDetector($target_detector);
102 
103  // Act
104  $emitter->emit();
105  // Assert
106  $actual = $target_detector->getDetectorState();
107  $this->assertTrue($actual);
108  }
109 }
ilSimpleEmitterTest is part of the petri net based workflow engine.
PhpIncludeInspection
PhpIncludeInspection
global $ilSetting
Definition: privfeed.php:17
PhpIncludeInspection
PhpIncludeInspection