ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilSystemStyleIconColorSetTest.php
Go to the documentation of this file.
1 <?php
2 
3 include_once("Services/Style/System/classes/Icons/class.ilSystemStyleIconColor.php");
4 include_once("Services/Style/System/classes/Icons/class.ilSystemStyleIconColorSet.php");
5 include_once("Services/Style/System/classes/Exceptions/class.ilSystemStyleColorException.php");
6 include_once("Services/Style/System/classes/Exceptions/class.ilSystemStyleException.php");
7 
9 
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 
101  public function testGetColorsSortedAsArray()
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],
113  ilSystemStyleIconColor::RED => [$red],
114  ilSystemStyleIconColor::GREEN => [$green],
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 }
Class for advanced editing exception handling in ILIAS.