ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilSystemStyleIconColorSetTest.php
Go to the documentation of this file.
1<?php
2
3include_once("Services/Style/System/classes/Icons/class.ilSystemStyleIconColor.php");
4include_once("Services/Style/System/classes/Icons/class.ilSystemStyleIconColorSet.php");
5include_once("Services/Style/System/classes/Exceptions/class.ilSystemStyleColorException.php");
6include_once("Services/Style/System/classes/Exceptions/class.ilSystemStyleException.php");
7
8use PHPUnit\Framework\TestCase;
9
15class ilSystemStyleIconColorSetTest extends TestCase
16{
17 public function testConstruct()
18 {
19 $set = new ilSystemStyleIconColorSet();
20
21 $this->assertEquals([], $set->getColors());
22 }
23
24 public function testAddColor()
25 {
26 $color1 = new ilSystemStyleIconColor("id1", "name", "FF0000", "description");
27 $color2 = new ilSystemStyleIconColor("id2", "name", "FF0000", "description");
28
29 $set = new ilSystemStyleIconColorSet();
30
31 $this->assertEquals([], $set->getColors());
32
33 $set->addColor($color1);
34
35 $this->assertEquals(1, count($set->getColors()));
36 $this->assertEquals($color1, $set->getColorById("id1"));
37
38 $set->addColor($color2);
39 $this->assertEquals(2, count($set->getColors()));
40 $this->assertEquals($color1, $set->getColorById("id1"));
41 $this->assertEquals($color2, $set->getColorById("id2"));
42
43 $set->addColor($color2);
44 $this->assertEquals(2, count($set->getColors()));
45 $this->assertEquals($color1, $set->getColorById("id1"));
46 $this->assertEquals($color2, $set->getColorById("id2"));
47 }
48
49 public function testGetInvalidId()
50 {
51 $color1 = new ilSystemStyleIconColor("id1", "name", "FF0000", "description");
52 $set = new ilSystemStyleIconColorSet();
53 $set->addColor($color1);
54
55 try {
56 $set->getColorById("idXY");
57 $this->assertTrue(false);
58 } catch (ilSystemStyleException $e) {
59 $this->assertEquals(ilSystemStyleException::INVALID_ID, $e->getCode());
60 }
61 }
62
63 public function testDoesColorExist()
64 {
65 $color1 = new ilSystemStyleIconColor("id1", "name", "FF0000", "description");
66 $set = new ilSystemStyleIconColorSet();
67 $set->addColor($color1);
68
69 $this->assertTrue($set->doesColorExist("id1"));
70 $this->assertFalse($set->doesColorExist("otherId"));
71 $this->assertFalse($set->doesColorExist(""));
72 }
73
74 public function testMergeColorSet()
75 {
76 $color1 = new ilSystemStyleIconColor("id1", "name", "FF0000", "description");
77 $color2 = new ilSystemStyleIconColor("id2", "name", "FF0000", "description");
78 $color3 = new ilSystemStyleIconColor("id3", "name", "FF0000", "description");
79
80 $set1 = new ilSystemStyleIconColorSet();
81 $set2 = new ilSystemStyleIconColorSet();
82
83 $set1->addColor($color1);
84 $set1->addColor($color2);
85
86 $set2->addColor($color2);
87 $set2->addColor($color3);
88
89 $set1->mergeColorSet($set2);
90
91 $this->assertEquals(3, count($set1->getColors()));
92 $this->assertEquals($color1, $set1->getColorById("id1"));
93 $this->assertEquals($color2, $set1->getColorById("id2"));
94 $this->assertEquals($color3, $set1->getColorById("id3"));
95
96 $this->assertEquals(2, count($set2->getColors()));
97 $this->assertEquals($color2, $set2->getColorById("id2"));
98 $this->assertEquals($color3, $set2->getColorById("id3"));
99 }
100
102 {
103 $white = new ilSystemStyleIconColor("id1", "name", "FFFFFF", "description");
104 $black = new ilSystemStyleIconColor("id2", "name", "000000", "description");
105 $grey = new ilSystemStyleIconColor("id3", "name", "AAAAAA", "description");
106
107 $red = new ilSystemStyleIconColor("id4", "name", "FF0000", "description");
108 $green = new ilSystemStyleIconColor("id5", "name", "00FF00", "description");
109 $blue = new ilSystemStyleIconColor("id6", "name", "0000FF", "description");
110
111 $ordered_array = [
112 ilSystemStyleIconColor::GREY => [$black,$grey,$white],
116 ];
117
118 $set1 = new ilSystemStyleIconColorSet();
119
120 $set1->addColor($white);
121 $set1->addColor($black);
122 $set1->addColor($grey);
123 $set1->addColor($red);
124 $set1->addColor($green);
125 $set1->addColor($blue);
126
127 $this->assertEquals($ordered_array, $set1->getColorsSortedAsArray());
128 }
129
130 public function testAsArray()
131 {
132 $white = new ilSystemStyleIconColor("id1", "name", "FFFFFF", "description");
133 $black = new ilSystemStyleIconColor("id2", "name", "000000", "description");
134 $grey = new ilSystemStyleIconColor("id3", "name", "AAAAAA", "description");
135
136 $red = new ilSystemStyleIconColor("id4", "name", "FF0000", "description");
137 $green = new ilSystemStyleIconColor("id5", "name", "00FF00", "description");
138 $blue = new ilSystemStyleIconColor("id6", "name", "0000FF", "description");
139
140 $as_array = ["id1","id2","id3","id4","id5","id6"];
141
142 $set1 = new ilSystemStyleIconColorSet();
143
144 $set1->addColor($white);
145 $set1->addColor($black);
146 $set1->addColor($grey);
147 $set1->addColor($red);
148 $set1->addColor($green);
149 $set1->addColor($blue);
150
151 $this->assertEquals($as_array, $set1->asArray());
152 }
153
154 public function testAsString()
155 {
156 $white = new ilSystemStyleIconColor("id1", "name", "FFFFFF", "description");
157 $black = new ilSystemStyleIconColor("id2", "name", "000000", "description");
158 $grey = new ilSystemStyleIconColor("id3", "name", "AAAAAA", "description");
159
160 $red = new ilSystemStyleIconColor("id4", "name", "FF0000", "description");
161 $green = new ilSystemStyleIconColor("id5", "name", "00FF00", "description");
162 $blue = new ilSystemStyleIconColor("id6", "name", "0000FF", "description");
163
164 $as_string = "id1; id2; id3; id4; id5; id6; ";
165
166 $set1 = new ilSystemStyleIconColorSet();
167
168 $set1->addColor($white);
169 $set1->addColor($black);
170 $set1->addColor($grey);
171 $set1->addColor($red);
172 $set1->addColor($green);
173 $set1->addColor($blue);
174
175 $this->assertEquals($as_string, $set1->asString());
176 }
177}
An exception for terminatinating execution or to throw for unit testing.
Class for advanced editing exception handling in ILIAS.