@@ -24,7 +24,9 @@ public static void main(String[] args) {
2424 }
2525
2626 private static void testList () {
27+
2728 List my_list = new List ();
29+
2830 my_list .append ("abc" );
2931 my_list .append (23 );
3032 my_list .append (2.78 );
@@ -34,10 +36,13 @@ private static void testList() {
3436 System .out .println (my_list .get (1 ));
3537 System .out .println (my_list .get (2 ));
3638 System .out .println (my_list .get (3 ));
39+
3740 }
3841
3942 private static void testDict () {
43+
4044 Dict my_dict = new Dict ();
45+
4146 my_dict .add ("key1" , "value1" );
4247 my_dict .add ("key2" , 42 );
4348 my_dict .add ("key3" , 3.14 );
@@ -47,9 +52,11 @@ private static void testDict() {
4752 System .out .println (my_dict .get ("key2" ));
4853 System .out .println (my_dict .get ("key3" ));
4954 System .out .println (my_dict .get ("key4" ));
55+
5056 }
5157
5258 private static void testNestedDict () {
59+
5360 Dict inner_dict = new Dict ();
5461 inner_dict .add ("innerKey1" , "innerValue1" );
5562 inner_dict .add ("innerKey2" , 99 );
@@ -63,64 +70,92 @@ private static void testNestedDict() {
6370 System .out .println (retrieved_inner_dict .get ("innerKey1" ));
6471 System .out .println (retrieved_inner_dict .get ("innerKey2" ));
6572 System .out .println (outer_dict .get ("outerKey2" ));
73+
6674 }
6775
6876 private static void testListSorting () {
77+
6978 List my_list = new List ();
79+
7080 my_list .append (5 );
7181 my_list .append (2 );
7282 my_list .append (8 );
7383 my_list .append (1 );
7484
7585 my_list .sort (true );
86+
7687 for (int i = 0 ; i < my_list .len (); i ++) {
88+
7789 System .out .println (my_list .get (i ));
90+
7891 }
7992
8093 List my_list2 = new List ();
94+
8195 my_list2 .append (5 );
8296 my_list2 .append (2 );
8397 my_list2 .append (8 );
8498 my_list2 .append (1 );
8599
86100 my_list2 .sort (false );
101+
87102 for (int i = 0 ; i < my_list2 .len (); i ++) {
103+
88104 System .out .println (my_list2 .get (i ));
105+
89106 }
107+
90108 }
91109
92110 private static void testListMethods () {
111+
93112 List my_list = new List ();
113+
94114 my_list .append ("item1" );
95115 my_list .append ("item2" );
96116 my_list .append ("item3" );
97117
98118 System .out .println ("Initial list:" );
119+
99120 for (int i = 0 ; i < my_list .len (); i ++) {
121+
100122 System .out .println (my_list .get (i ));
123+
101124 }
102125
103126 my_list .remove (1 );
127+
104128 System .out .println ("After removing index 1:" );
129+
105130 for (int i = 0 ; i < my_list .len (); i ++) {
131+
106132 System .out .println (my_list .get (i ));
133+
107134 }
108135
109136 my_list .insert (1 , "newItem" );
137+
110138 System .out .println ("After inserting at index 1:" );
139+
111140 for (int i = 0 ; i < my_list .len (); i ++) {
141+
112142 System .out .println (my_list .get (i ));
143+
113144 }
114145
115146 System .out .println ("List contains 'item1': " + my_list .contains ("item1" ));
116147 System .out .println ("List contains 'itemX': " + my_list .contains ("itemX" ));
117148
118149 my_list .clear ();
150+
119151 System .out .println ("After clearing the list, length: " + my_list .len ());
152+
120153 }
121154
122155 private static void testDictMethods () {
156+
123157 Dict my_dict = new Dict ();
158+
124159 my_dict .add ("key1" , "value1" );
125160 my_dict .add ("key2" , "value2" );
126161 my_dict .add ("key3" , "value3" );
@@ -131,6 +166,7 @@ private static void testDictMethods() {
131166 System .out .println (my_dict .get ("key3" ));
132167
133168 my_dict .remove ("key2" );
169+
134170 System .out .println ("After removing 'key2':" );
135171 System .out .println (my_dict .get ("key1" ));
136172 System .out .println (my_dict .get ("key3" ));
@@ -142,12 +178,15 @@ private static void testDictMethods() {
142178 System .out .println ("Dictionary contains value 'valueX': " + String .valueOf (my_dict .containsValue ("valueX" )));
143179
144180 my_dict .clear ();
181+
145182 System .out .println ("After clearing the dictionary, size: " + String .valueOf (my_dict .size ()));
183+
146184 }
147185
148186 private static void testListWithDifferentDataTypes () {
149187
150188 List my_list = new List ();
189+
151190 my_list .append ("string" );
152191 my_list .append (123 );
153192 my_list .append (45.67 );
@@ -165,20 +204,24 @@ private static void testListWithDifferentDataTypes() {
165204 }
166205
167206 private static void testDictWithComplexValues () {
207+
168208 Dict my_dict = new Dict ();
169209 List listValue = new List ();
210+
170211 listValue .append (1 );
171212 listValue .append (2 );
172213 listValue .append (3 );
173214
174215 Dict nestedDict = new Dict ();
216+
175217 nestedDict .add ("nestedKey1" , "nestedValue1" );
176218 nestedDict .add ("nestedKey2" , 100 );
177219
178220 my_dict .add ("listKey" , listValue );
179221 my_dict .add ("dictKey" , nestedDict );
180222
181223 System .out .println ("Testing dictionary with complex values:" );
224+
182225 List retrievedList = (List ) my_dict .get ("listKey" );
183226
184227 for (int i = 0 ; i < retrievedList .len (); i ++) {
@@ -188,92 +231,117 @@ private static void testDictWithComplexValues() {
188231 }
189232
190233 Dict retrievedDict = (Dict ) my_dict .get ("dictKey" );
234+
191235 System .out .println (retrievedDict .get ("nestedKey1" ));
192236 System .out .println (retrievedDict .get ("nestedKey2" ));
193237 }
194238
195239 private static void testListEdgeCases () {
240+
196241 List my_list = new List ();
197242
198243 System .out .println ("Testing edge cases for list:" );
199244 System .out .println ("Initial length: " + my_list .len ());
200245
201246 try {
247+
202248 my_list .get (0 );
249+
203250 } catch (Exception e ) {
251+
204252 System .out .println ("Caught exception when accessing empty list: " + e .getMessage ());
253+
205254 }
206255
207256 my_list .append ("onlyItem" );
208257 System .out .println ("After adding one item: " + my_list .get (0 ));
209258
210259 my_list .remove (0 );
211260 System .out .println ("After removing the only item, length: " + my_list .len ());
261+
212262 }
213263
214264 private static void testDictEdgeCases () {
265+
215266 Dict my_dict = new Dict ();
216267
217268 System .out .println ("Testing edge cases for dictionary:" );
218269 System .out .println ("Initial size: " + my_dict .size ());
219270
220271 try {
272+
221273 my_dict .get ("nonExistentKey" );
274+
222275 } catch (Exception e ) {
276+
223277 System .out .println ("Caught exception when accessing non-existent key: " + e .getMessage ());
278+
224279 }
225280
226281 my_dict .add ("key1" , "value1" );
227282 System .out .println ("After adding one key-value pair: " + my_dict .get ("key1" ));
228283
229284 my_dict .remove ("key1" );
230285 System .out .println ("After removing the only key, size: " + my_dict .size ());
286+
231287 }
232288
233289 private static void testListEquality () {
290+
234291 List list1 = new List ();
292+
235293 list1 .append (1 );
236294 list1 .append (2 );
237295 list1 .append (3 );
238296
239297 List list2 = new List ();
298+
240299 list2 .append (1 );
241300 list2 .append (2 );
242301 list2 .append (3 );
243302
244303 List list3 = new List ();
304+
245305 list3 .append (3 );
246306 list3 .append (2 );
247307 list3 .append (1 );
248308
249309 System .out .println ("Testing list equality:" );
250310 System .out .println ("list1 equals list2: " + list1 .isEqualTo (list2 ));
251311 System .out .println ("list1 equals list3: " + list1 .isEqualTo (list3 ));
312+
252313 }
253314
254315 private static void testDictEquality () {
316+
255317 Dict dict1 = new Dict ();
318+
256319 dict1 .add ("key1" , "value1" );
257320 dict1 .add ("key2" , "value2" );
258321
259322 Dict dict2 = new Dict ();
323+
260324 dict2 .add ("key1" , "value1" );
261325 dict2 .add ("key2" , "value2" );
262326
263327 Dict dict3 = new Dict ();
328+
264329 dict3 .add ("key2" , "value2" );
265330 dict3 .add ("key1" , "value1" );
266331
267332 System .out .println ("Testing dictionary equality:" );
268333 System .out .println ("dict1 equals dict2: " + dict1 .isEqualTo (dict2 ));
269334 System .out .println ("dict1 equals dict3: " + dict1 .isEqualTo (dict3 ));
335+
270336 }
271337
272338 private static void finalTests () {
339+
273340 System .out .println ("Running final tests to ensure readiness:" );
274341
275342 // Test List with mixed data types
276343 List mixedList = new List ();
344+
277345 mixedList .append ("text" );
278346 mixedList .append (42 );
279347 mixedList .append (3.14 );
@@ -291,10 +359,12 @@ private static void finalTests() {
291359 // Test Dict with nested structures
292360 Dict complexDict = new Dict ();
293361 List innerList = new List ();
362+
294363 innerList .append ("inner1" );
295364 innerList .append ("inner2" );
296365
297366 Dict innerDict = new Dict ();
367+
298368 innerDict .add ("innerKey" , "innerValue" );
299369
300370 complexDict .add ("listKey" , innerList );
@@ -314,6 +384,7 @@ private static void finalTests() {
314384
315385 // Test List sorting with edge cases
316386 List edgeCaseList = new List ();
387+
317388 edgeCaseList .append (10 );
318389 edgeCaseList .append (5 );
319390 edgeCaseList .append (10 );
@@ -330,6 +401,7 @@ private static void finalTests() {
330401
331402 // Test Dict with overwriting keys
332403 Dict overwriteDict = new Dict ();
404+
333405 overwriteDict .add ("key" , "initialValue" );
334406 overwriteDict .add ("key" , "newValue" );
335407
@@ -347,10 +419,12 @@ private static void finalTests() {
347419 // Test List and Dict equality with edge cases
348420 List listA = new List ();
349421 List listB = new List ();
422+
350423 System .out .println ("Final test - Empty list equality: " + listA .isEqualTo (listB ));
351424
352425 Dict dictA = new Dict ();
353426 Dict dictB = new Dict ();
427+
354428 System .out .println ("Final test - Empty dict equality: " + dictA .isEqualTo (dictB ));
355429
356430 listA .append (1 );
@@ -360,5 +434,8 @@ private static void finalTests() {
360434
361435 System .out .println ("Final test - Non-empty list equality: " + listA .isEqualTo (listB ));
362436 System .out .println ("Final test - Non-empty dict equality: " + dictA .isEqualTo (dictB ));
437+
363438 }
439+
440+
364441}
0 commit comments