ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilLearningSequenceActivationTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21use PHPUnit\Framework\TestCase;
22
24{
25 public function testCreateObjectMinimal(): void
26 {
27 $obj = new ilLearningSequenceActivation(22);
28
29 $this->assertInstanceOf(ilLearningSequenceActivation::class, $obj);
30 $this->assertEquals(22, $obj->getRefId());
31 $this->assertFalse($obj->getIsOnline());
32 $this->assertFalse($obj->getEffectiveOnlineStatus());
33 $this->assertNull($obj->getActivationStart());
34 $this->assertNull($obj->getActivationEnd());
35 }
36
37 public function testCreateObjectMaximal(): void
38 {
39 $start_date = new DateTime('2021-07-21 07:30');
40 $end_date = new DateTime('2021-07-21 07:35');
41
43 44,
44 true,
45 true,
46 $start_date,
47 $end_date
48 );
49
50 $this->assertInstanceOf(ilLearningSequenceActivation::class, $obj);
51 $this->assertEquals(44, $obj->getRefId());
52 $this->assertTrue($obj->getIsOnline());
53 $this->assertTrue($obj->getEffectiveOnlineStatus());
54 $this->assertEquals($start_date, $obj->getActivationStart());
55 $this->assertEquals($end_date, $obj->getActivationEnd());
56 }
57
58 public function testWithOnline(): void
59 {
60 $start_date = new DateTime('2021-07-21 07:44');
61 $end_date = new DateTime('2021-07-21 07:50');
62
64 555,
65 true,
66 true,
67 $start_date,
68 $end_date
69 );
70
71 $new_obj = $obj->withIsOnline(false);
72
73 $this->assertInstanceOf(ilLearningSequenceActivation::class, $obj);
74 $this->assertEquals(555, $obj->getRefId());
75 $this->assertTrue($obj->getIsOnline());
76 $this->assertTrue($obj->getEffectiveOnlineStatus());
77 $this->assertEquals($start_date, $obj->getActivationStart());
78 $this->assertEquals($end_date, $obj->getActivationEnd());
79
80
81 $this->assertInstanceOf(ilLearningSequenceActivation::class, $new_obj);
82 $this->assertEquals(555, $new_obj->getRefId());
83 $this->assertFalse($new_obj->getIsOnline());
84 $this->assertTrue($new_obj->getEffectiveOnlineStatus());
85 $this->assertEquals($start_date, $new_obj->getActivationStart());
86 $this->assertEquals($end_date, $new_obj->getActivationEnd());
87 }
88
89 public function testWithActivationStart(): void
90 {
91 $start_date = new DateTime('2021-07-21 07:44');
92 $end_date = new DateTime('2021-07-21 07:50');
93 $new_date = new DateTime('2021-07-20 08:50');
94
96 555,
97 true,
98 true,
99 $start_date,
100 $end_date
101 );
102
103 $new_obj = $obj->withActivationStart($new_date);
104
105 $this->assertInstanceOf(ilLearningSequenceActivation::class, $obj);
106 $this->assertEquals(555, $obj->getRefId());
107 $this->assertTrue($obj->getIsOnline());
108 $this->assertTrue($obj->getEffectiveOnlineStatus());
109 $this->assertEquals($start_date, $obj->getActivationStart());
110 $this->assertEquals($end_date, $obj->getActivationEnd());
111
112
113 $this->assertInstanceOf(ilLearningSequenceActivation::class, $new_obj);
114 $this->assertEquals(555, $new_obj->getRefId());
115 $this->assertTrue($new_obj->getIsOnline());
116 $this->assertTrue($new_obj->getEffectiveOnlineStatus());
117 $this->assertEquals($new_date, $new_obj->getActivationStart());
118 $this->assertEquals($end_date, $new_obj->getActivationEnd());
119 }
120
121 public function testWithActivationEnd(): void
122 {
123 $start_date = new DateTime('2021-07-21 07:44');
124 $end_date = new DateTime('2021-07-21 07:50');
125 $new_date = new DateTime('2021-07-17 19:50');
126
128 555,
129 true,
130 true,
131 $start_date,
132 $end_date
133 );
134
135 $new_obj = $obj->withActivationEnd($new_date);
136
137 $this->assertInstanceOf(ilLearningSequenceActivation::class, $obj);
138 $this->assertEquals(555, $obj->getRefId());
139 $this->assertTrue($obj->getIsOnline());
140 $this->assertTrue($obj->getEffectiveOnlineStatus());
141 $this->assertEquals($start_date, $obj->getActivationStart());
142 $this->assertEquals($end_date, $obj->getActivationEnd());
143
144
145 $this->assertInstanceOf(ilLearningSequenceActivation::class, $new_obj);
146 $this->assertEquals(555, $new_obj->getRefId());
147 $this->assertTrue($new_obj->getIsOnline());
148 $this->assertTrue($new_obj->getEffectiveOnlineStatus());
149 $this->assertEquals($start_date, $new_obj->getActivationStart());
150 $this->assertEquals($new_date, $new_obj->getActivationEnd());
151 }
152}