Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: c9101fc83871d1688b61ba8e9756227d4bcf069e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
/*******************************************************************************
 * Copyright (c) 2009 Red Hat, Inc.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Kent Sebastian <ksebasti@redhat.com> - initial API and implementation
 *******************************************************************************/
package org.eclipse.linuxtools.oprofile.ui.tests;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import org.eclipse.linuxtools.internal.oprofile.core.model.OpModelSession;
import org.eclipse.linuxtools.oprofile.tests.TestPlugin;
import org.eclipse.linuxtools.oprofile.tests.TestingOpModelRoot;
import org.eclipse.linuxtools.oprofile.ui.model.IUiModelElement;
import org.eclipse.linuxtools.oprofile.ui.model.UiModelRoot;
import org.eclipse.linuxtools.oprofile.ui.model.UiModelSample;
import org.eclipse.linuxtools.oprofile.ui.model.UiModelSession;
import org.eclipse.linuxtools.oprofile.ui.model.UiModelSymbol;
import org.junit.Before;
import org.junit.Test;

public class TestUiDataModel {

    private static class TestingUiModelRoot extends UiModelRoot {
        @Override
        protected OpModelSession[] getModelDataEvents() {
            TestingOpModelRoot modelRoot = new TestingOpModelRoot();
            modelRoot.refreshModel();
            return modelRoot.getSessions();
        }
    }

    private static class TestingUiModelRoot2 extends UiModelRoot {
        @Override
        protected OpModelSession[] getModelDataEvents() {
            return null;
        }
    }

    private TestingUiModelRoot _uiModelRoot;
    private TestingUiModelRoot2 _uiModelRoot2;


    @Before
    public void setUp() {
        _uiModelRoot = new TestingUiModelRoot();
        _uiModelRoot.refreshModel();

        _uiModelRoot2 = new TestingUiModelRoot2();
        _uiModelRoot2.refreshModel();
    }

    @Test
    public void testParse() {
        /* test UiModelRoot */
        assertNull(_uiModelRoot2.getLabelImage());
        assertNull(_uiModelRoot2.getParent());
        assertNull(_uiModelRoot2.getLabelText());
        assertTrue(_uiModelRoot2.hasChildren());
        IUiModelElement r2_events[] = _uiModelRoot2.getChildren();
        assertNotNull(r2_events);
        assertEquals(1, r2_events.length);
        IUiModelElement r2_event1 = r2_events[0];
        assertFalse(r2_event1.hasChildren());
        assertNull(r2_event1.getChildren());
        assertNull(r2_event1.getParent());
        assertNotNull(r2_event1.getLabelImage());
        assertNotNull(r2_event1.getLabelText());

        assertNull(_uiModelRoot.getLabelImage());
        assertNull(_uiModelRoot.getParent());
        assertNull(_uiModelRoot.getLabelText());
        assertTrue(_uiModelRoot.hasChildren());

        /* test UiModelSession*/
        IUiModelElement sessions[] = _uiModelRoot.getChildren();
        assertNotNull(sessions);
        assertEquals(3, sessions.length);
        assertNotNull(sessions[0]);
        assertNotNull(sessions[1]);
        assertNotNull(sessions[2]);

        assertEquals(TestingOpModelRoot.NAME_E1, sessions[0].toString());
        assertEquals(TestingOpModelRoot.NAME_E1, sessions[0].getLabelText());
        assertTrue(sessions[0].hasChildren());
        assertNull(sessions[0].getParent());        //events are top level tree elements
        assertNotNull(sessions[0].getLabelImage());

        assertEquals(TestingOpModelRoot.NAME_E2, sessions[1].toString());
        assertEquals(TestingOpModelRoot.NAME_E2, sessions[1].getLabelText());
        assertTrue(sessions[1].hasChildren());
        assertNull(sessions[1].getParent());        //events are top level tree elements
        assertNotNull(sessions[1].getLabelImage());


        /* test UiModelEvent */
        IUiModelElement[] e1_events = sessions[0].getChildren(), e2_events = sessions[1].getChildren();
        assertNotNull(e1_events);
        assertNotNull(e2_events);
        assertEquals(1, e1_events.length);
        assertEquals(4, e2_events.length);
        assertNotNull(e1_events[0]);
        assertNotNull(e2_events[0]);
        assertNotNull(e2_events[1]);
        assertNotNull(e2_events[2]);
        assertNotNull(e2_events[3]);

        assertEquals(TestingOpModelRoot.NAME_E1_S1, e1_events[0].toString());
        assertEquals(TestingOpModelRoot.NAME_E1_S1, e1_events[0].getLabelText());
        assertFalse(((UiModelSession)e1_events[0].getParent()).isDefaultSession());
        assertTrue(e1_events[0].hasChildren());
        assertEquals(sessions[0], e1_events[0].getParent());
        assertNotNull(e1_events[0].getLabelImage());

        assertEquals(TestingOpModelRoot.NAME_E2_S1, e2_events[0].toString());
        assertEquals(TestingOpModelRoot.NAME_E2_S1, e2_events[0].getLabelText());
        assertFalse(((UiModelSession)e2_events[0].getParent()).isDefaultSession());
        assertTrue(e2_events[0].hasChildren());
        assertEquals(sessions[1], e2_events[0].getParent());
        assertNotNull(e2_events[0].getLabelImage());

        assertEquals(TestingOpModelRoot.NAME_E2_S2, e2_events[1].toString());
        assertEquals(TestingOpModelRoot.NAME_E2_S2, e2_events[1].getLabelText());
        assertFalse(((UiModelSession)e2_events[1].getParent()).isDefaultSession());
        assertTrue(e2_events[1].hasChildren());
        assertEquals(sessions[1], e2_events[1].getParent());
        assertNotNull(e2_events[1].getLabelImage());

        assertEquals(TestingOpModelRoot.NAME_E2_S3, e2_events[2].toString());
        assertEquals(TestingOpModelRoot.NAME_E2_S3, e2_events[2].getLabelText());
        assertFalse(((UiModelSession)e2_events[2].getParent()).isDefaultSession());
        assertTrue(e2_events[2].hasChildren());
        assertEquals(sessions[1], e2_events[2].getParent());
        assertNotNull(e2_events[2].getLabelImage());

        assertEquals(TestingOpModelRoot.NAME_E2_S4, e2_events[3].toString());
        assertEquals(TestingOpModelRoot.NAME_E2_S4, e2_events[3].getLabelText());
        assertFalse(((UiModelSession)e2_events[3].getParent()).isDefaultSession());
        assertFalse(e2_events[3].hasChildren());
        assertEquals(sessions[1], e2_events[3].getParent());
        assertNotNull(e2_events[3].getLabelImage());

        /* test UiModelImage and UiModelDependent */
        IUiModelElement[] e1_s1_images = e1_events[0].getChildren(),
                            e2_s1_images = e2_events[0].getChildren(),
                            e2_s2_images = e2_events[1].getChildren(),
                            e2_s3_images = e2_events[2].getChildren(),
                            e2_s4_images = e2_events[3].getChildren();

        assertNotNull(e1_s1_images);
        assertNotNull(e2_s1_images);
        assertNotNull(e2_s2_images);
        assertNotNull(e2_s3_images);
        assertNotNull(e2_s4_images);
        assertEquals(2, e1_s1_images.length);    //#2 is a dep image
        assertEquals(2, e2_s1_images.length);    //#2 is a dep image
        assertEquals(1, e2_s2_images.length);
        assertEquals(1, e2_s3_images.length);
        assertEquals(1, e2_s4_images.length);
        assertNotNull(e1_s1_images[0]);
        assertNotNull(e1_s1_images[1]);
        assertNotNull(e2_s1_images[0]);
        assertNotNull(e2_s1_images[1]);
        assertNotNull(e2_s2_images[0]);
        assertNotNull(e2_s3_images[0]);
        assertNull(e2_s4_images[0]);

        //dont test string output -- strings are i18n'd and L10n'd
        assertNotNull(e1_s1_images[0].toString());
        assertNotNull(e1_s1_images[0].getLabelText());
        assertTrue(e1_s1_images[0].hasChildren());
        assertEquals(e1_events[0], e1_s1_images[0].getParent());
        assertNotNull(e1_s1_images[0].getLabelImage());

        assertNotNull(e1_s1_images[1].toString());
        assertNotNull(e1_s1_images[1].getLabelText());
        assertTrue(e1_s1_images[1].hasChildren());
        assertEquals(e1_events[0], e1_s1_images[1].getParent());
        assertNotNull(e1_s1_images[1].getLabelImage());

        assertNotNull(e2_s1_images[0].toString());
        assertNotNull(e2_s1_images[0].getLabelText());
        assertTrue(e2_s1_images[0].hasChildren());
        assertEquals(e2_events[0], e2_s1_images[0].getParent());
        assertNotNull(e2_s1_images[0].getLabelImage());

        assertNotNull(e2_s1_images[1].toString());
        assertNotNull(e2_s1_images[1].getLabelText());
        assertTrue(e2_s1_images[1].hasChildren());
        assertEquals(e2_events[0], e2_s1_images[1].getParent());
        assertNotNull(e2_s1_images[1].getLabelImage());

        assertNotNull(e2_s2_images[0].toString());
        assertNotNull(e2_s2_images[0].getLabelText());
        assertTrue(e2_s2_images[0].hasChildren());
        assertEquals(e2_events[1], e2_s2_images[0].getParent());
        assertNotNull(e2_s2_images[0].getLabelImage());

        assertNotNull(e2_s3_images[0].toString());
        assertNotNull(e2_s3_images[0].getLabelText());
        assertFalse(e2_s3_images[0].hasChildren());
        assertEquals(e2_events[2], e2_s3_images[0].getParent());
        assertNotNull(e2_s3_images[0].getLabelImage());

        /* test UiModelSymbol */
        IUiModelElement[] e1_s1_i1_symbols = e1_s1_images[0].getChildren(),
                            e1_s1_i2_depimages = e1_s1_images[1].getChildren(),
                            e2_s1_i1_symbols = e2_s1_images[0].getChildren(),
                            e2_s1_i2_depimages = e2_s1_images[1].getChildren(),
                            e2_s2_i1_symbols = e2_s2_images[0].getChildren();

        assertNotNull(e1_s1_i1_symbols);
        assertNotNull(e1_s1_i2_depimages);
        assertNotNull(e2_s1_i1_symbols);
        assertNotNull(e2_s1_i2_depimages);
        assertNotNull(e2_s2_i1_symbols);
        assertEquals(2, e1_s1_i1_symbols.length);
        assertEquals(4, e1_s1_i2_depimages.length);
        assertEquals(2, e2_s1_i1_symbols.length);
        assertEquals(4, e2_s1_i2_depimages.length);
        assertEquals(2, e2_s2_i1_symbols.length);
        assertNotNull(e1_s1_i1_symbols[0]);
        assertNotNull(e1_s1_i1_symbols[1]);
        assertNotNull(e1_s1_i2_depimages[0]);
        assertNotNull(e1_s1_i2_depimages[1]);
        assertNotNull(e1_s1_i2_depimages[2]);
        assertNotNull(e1_s1_i2_depimages[3]);
        assertNotNull(e2_s1_i1_symbols[0]);
        assertNotNull(e2_s1_i1_symbols[1]);
        assertNotNull(e2_s1_i2_depimages[0]);
        assertNotNull(e2_s1_i2_depimages[1]);
        assertNotNull(e2_s1_i2_depimages[2]);
        assertNotNull(e2_s1_i2_depimages[3]);
        assertNotNull(e2_s2_i1_symbols[0]);
        assertNotNull(e2_s2_i1_symbols[1]);

        assertNotNull(e1_s1_i1_symbols[0].toString());
        assertNotNull(e1_s1_i1_symbols[0].getLabelText());
        assertEquals(TestPlugin.SYMBOL1_FILENAME, ((UiModelSymbol)e1_s1_i1_symbols[0]).getFileName());
        assertTrue(e1_s1_i1_symbols[0].hasChildren());
        assertEquals(e1_s1_images[0], e1_s1_i1_symbols[0].getParent());
        assertNotNull(e1_s1_i1_symbols[0].getLabelImage());

        assertNotNull(e1_s1_i1_symbols[1].toString());
        assertNotNull(e1_s1_i1_symbols[1].getLabelText());
        assertEquals(TestPlugin.SYMBOL2_FILENAME, ((UiModelSymbol)e1_s1_i1_symbols[1]).getFileName());
        assertTrue(e1_s1_i1_symbols[1].hasChildren());
        assertEquals(e1_s1_images[0], e1_s1_i1_symbols[1].getParent());
        assertNotNull(e1_s1_i1_symbols[1].getLabelImage());

        assertNotNull(e1_s1_i2_depimages[0].toString());
        assertNotNull(e1_s1_i2_depimages[0].getLabelText());
        assertFalse(e1_s1_i2_depimages[0].hasChildren());
        assertEquals(e1_s1_images[1], e1_s1_i2_depimages[0].getParent());
        assertNotNull(e1_s1_i2_depimages[0].getLabelImage());

        assertNotNull(e1_s1_i2_depimages[1].toString());
        assertNotNull(e1_s1_i2_depimages[1].getLabelText());
        assertTrue(e1_s1_i2_depimages[1].hasChildren());
        assertEquals(e1_s1_images[1], e1_s1_i2_depimages[1].getParent());
        assertNotNull(e1_s1_i2_depimages[1].getLabelImage());

        assertNotNull(e1_s1_i2_depimages[2].toString());
        assertNotNull(e1_s1_i2_depimages[2].getLabelText());
        assertFalse(e1_s1_i2_depimages[2].hasChildren());
        assertEquals(e1_s1_images[1], e1_s1_i2_depimages[2].getParent());
        assertNotNull(e1_s1_i2_depimages[2].getLabelImage());

        assertNotNull(e1_s1_i2_depimages[3].toString());
        assertNotNull(e1_s1_i2_depimages[3].getLabelText());
        assertTrue(e1_s1_i2_depimages[3].hasChildren());
        assertEquals(e1_s1_images[1], e1_s1_i2_depimages[3].getParent());
        assertNotNull(e1_s1_i2_depimages[3].getLabelImage());

        assertNotNull(e2_s1_i1_symbols[0].toString());
        assertNotNull(e2_s1_i1_symbols[0].getLabelText());
        assertEquals(TestPlugin.SYMBOL1_FILENAME, ((UiModelSymbol)e2_s1_i1_symbols[0]).getFileName());
        assertTrue(e2_s1_i1_symbols[0].hasChildren());
        assertEquals(e2_s1_images[0], e2_s1_i1_symbols[0].getParent());
        assertNotNull(e2_s1_i1_symbols[0].getLabelImage());

        assertNotNull(e2_s1_i1_symbols[1].toString());
        assertNotNull(e2_s1_i1_symbols[1].getLabelText());
        assertEquals(TestPlugin.SYMBOL2_FILENAME, ((UiModelSymbol)e2_s1_i1_symbols[1]).getFileName());
        assertTrue(e2_s1_i1_symbols[1].hasChildren());
        assertEquals(e2_s1_images[0], e2_s1_i1_symbols[1].getParent());
        assertNotNull(e2_s1_i1_symbols[1].getLabelImage());

        assertNotNull(e2_s1_i2_depimages[0].toString());
        assertNotNull(e2_s1_i2_depimages[0].getLabelText());
        assertFalse(e2_s1_i2_depimages[0].hasChildren());
        assertEquals(e2_s1_images[1], e2_s1_i2_depimages[0].getParent());
        assertNotNull(e2_s1_i2_depimages[0].getLabelImage());

        assertNotNull(e2_s1_i2_depimages[1].toString());
        assertNotNull(e2_s1_i2_depimages[1].getLabelText());
        assertTrue(e2_s1_i2_depimages[1].hasChildren());
        assertEquals(e2_s1_images[1], e2_s1_i2_depimages[1].getParent());
        assertNotNull(e2_s1_i2_depimages[1].getLabelImage());

        assertNotNull(e2_s1_i2_depimages[2].toString());
        assertNotNull(e2_s1_i2_depimages[2].getLabelText());
        assertFalse(e2_s1_i2_depimages[2].hasChildren());
        assertEquals(e2_s1_images[1], e2_s1_i2_depimages[2].getParent());
        assertNotNull(e2_s1_i2_depimages[2].getLabelImage());

        assertNotNull(e2_s1_i2_depimages[3].toString());
        assertNotNull(e2_s1_i2_depimages[3].getLabelText());
        assertTrue(e2_s1_i2_depimages[3].hasChildren());
        assertEquals(e2_s1_images[1], e2_s1_i2_depimages[3].getParent());
        assertNotNull(e2_s1_i2_depimages[3].getLabelImage());

        assertNotNull(e2_s2_i1_symbols[0].toString());
        assertNotNull(e2_s2_i1_symbols[0].getLabelText());
        assertEquals(TestPlugin.SYMBOL1_FILENAME, ((UiModelSymbol)e2_s2_i1_symbols[0]).getFileName());
        assertTrue(e2_s2_i1_symbols[0].hasChildren());
        assertEquals(e2_s2_images[0], e2_s2_i1_symbols[0].getParent());
        assertNotNull(e2_s2_i1_symbols[0].getLabelImage());

        assertNotNull(e2_s2_i1_symbols[1].toString());
        assertNotNull(e2_s2_i1_symbols[1].getLabelText());
        assertEquals(TestPlugin.SYMBOL2_FILENAME, ((UiModelSymbol)e2_s2_i1_symbols[1]).getFileName());
        assertTrue(e2_s2_i1_symbols[1].hasChildren());
        assertEquals(e2_s2_images[0], e2_s2_i1_symbols[1].getParent());
        assertNotNull(e2_s2_i1_symbols[1].getLabelImage());

        /* test the symbols from the dep images */
        IUiModelElement[] e1_s1_i2_dep1_symbols = e1_s1_i2_depimages[0].getChildren(),
                            e1_s1_i2_dep2_symbols = e1_s1_i2_depimages[1].getChildren(),
                            e1_s1_i2_dep3_symbols = e1_s1_i2_depimages[2].getChildren(),
                            e1_s1_i2_dep4_symbols = e1_s1_i2_depimages[3].getChildren(),
                            e2_s1_i2_dep1_symbols = e2_s1_i2_depimages[0].getChildren(),
                            e2_s1_i2_dep2_symbols = e2_s1_i2_depimages[1].getChildren(),
                            e2_s1_i2_dep3_symbols = e2_s1_i2_depimages[2].getChildren(),
                            e2_s1_i2_dep4_symbols = e2_s1_i2_depimages[3].getChildren();

        assertNull(e1_s1_i2_dep1_symbols);
        assertNotNull(e1_s1_i2_dep2_symbols);
        assertNull(e1_s1_i2_dep3_symbols);
        assertNotNull(e1_s1_i2_dep4_symbols);
        assertNull(e2_s1_i2_dep1_symbols);
        assertNotNull(e2_s1_i2_dep2_symbols);
        assertNull(e2_s1_i2_dep3_symbols);
        assertNotNull(e2_s1_i2_dep4_symbols);
        assertEquals(2, e1_s1_i2_dep2_symbols.length);
        assertEquals(2, e1_s1_i2_dep4_symbols.length);
        assertEquals(2, e2_s1_i2_dep2_symbols.length);
        assertEquals(2, e2_s1_i2_dep4_symbols.length);
        assertNotNull(e1_s1_i2_dep2_symbols[0]);
        assertNotNull(e1_s1_i2_dep2_symbols[1]);
        assertNotNull(e1_s1_i2_dep4_symbols[0]);
        assertNotNull(e1_s1_i2_dep4_symbols[1]);
        assertNotNull(e2_s1_i2_dep2_symbols[0]);
        assertNotNull(e2_s1_i2_dep2_symbols[1]);
        assertNotNull(e2_s1_i2_dep4_symbols[0]);
        assertNotNull(e2_s1_i2_dep4_symbols[1]);

        assertNotNull(e1_s1_i2_dep2_symbols[0].toString());
        assertNotNull(e1_s1_i2_dep2_symbols[0].getLabelText());
        assertEquals(TestPlugin.DEP2_SYMBOL1_FILENAME, ((UiModelSymbol)e1_s1_i2_dep2_symbols[0]).getFileName());
        assertFalse(e1_s1_i2_dep2_symbols[0].hasChildren());
        assertEquals(e1_s1_i2_depimages[1], e1_s1_i2_dep2_symbols[0].getParent());
        assertNotNull(e1_s1_i2_dep2_symbols[0].getLabelImage());

        assertNotNull(e1_s1_i2_dep2_symbols[1].toString());
        assertNotNull(e1_s1_i2_dep2_symbols[1].getLabelText());
        assertEquals(TestPlugin.DEP2_SYMBOL2_FILENAME, ((UiModelSymbol)e1_s1_i2_dep2_symbols[1]).getFileName());
        assertFalse(e1_s1_i2_dep2_symbols[1].hasChildren());
        assertEquals(e1_s1_i2_depimages[1], e1_s1_i2_dep2_symbols[1].getParent());
        assertNotNull(e1_s1_i2_dep2_symbols[1].getLabelImage());

        assertNotNull(e1_s1_i2_dep4_symbols[0].toString());
        assertNotNull(e1_s1_i2_dep4_symbols[0].getLabelText());
        assertEquals(TestPlugin.DEP4_SYMBOL_FILENAME, ((UiModelSymbol)e1_s1_i2_dep4_symbols[0]).getFileName());
        assertFalse(e1_s1_i2_dep4_symbols[0].hasChildren());
        assertEquals(e1_s1_i2_depimages[3], e1_s1_i2_dep4_symbols[0].getParent());
        assertNotNull(e1_s1_i2_dep4_symbols[0].getLabelImage());

        assertNotNull(e1_s1_i2_dep4_symbols[1].toString());
        assertNotNull(e1_s1_i2_dep4_symbols[1].getLabelText());
        assertEquals(TestPlugin.DEP4_SYMBOL_FILENAME, ((UiModelSymbol)e1_s1_i2_dep4_symbols[1]).getFileName());
        assertFalse(e1_s1_i2_dep4_symbols[1].hasChildren());
        assertEquals(e1_s1_i2_depimages[3], e1_s1_i2_dep4_symbols[1].getParent());
        assertNotNull(e1_s1_i2_dep4_symbols[1].getLabelImage());

        assertNotNull(e2_s1_i2_dep2_symbols[0].toString());
        assertNotNull(e2_s1_i2_dep2_symbols[0].getLabelText());
        assertEquals(TestPlugin.DEP2_SYMBOL1_FILENAME, ((UiModelSymbol)e2_s1_i2_dep2_symbols[0]).getFileName());
        assertFalse(e2_s1_i2_dep2_symbols[0].hasChildren());
        assertEquals(e2_s1_i2_depimages[1], e2_s1_i2_dep2_symbols[0].getParent());
        assertNotNull(e2_s1_i2_dep2_symbols[0].getLabelImage());

        assertNotNull(e2_s1_i2_dep2_symbols[1].toString());
        assertNotNull(e2_s1_i2_dep2_symbols[1].getLabelText());
        assertEquals(TestPlugin.DEP2_SYMBOL2_FILENAME, ((UiModelSymbol)e2_s1_i2_dep2_symbols[1]).getFileName());
        assertFalse(e2_s1_i2_dep2_symbols[1].hasChildren());
        assertEquals(e2_s1_i2_depimages[1], e2_s1_i2_dep2_symbols[1].getParent());
        assertNotNull(e2_s1_i2_dep2_symbols[1].getLabelImage());

        assertNotNull(e2_s1_i2_dep4_symbols[0].toString());
        assertNotNull(e2_s1_i2_dep4_symbols[0].getLabelText());
        assertEquals(TestPlugin.DEP4_SYMBOL_FILENAME, ((UiModelSymbol)e2_s1_i2_dep4_symbols[0]).getFileName());
        assertFalse(e2_s1_i2_dep4_symbols[0].hasChildren());
        assertEquals(e2_s1_i2_depimages[3], e2_s1_i2_dep4_symbols[0].getParent());
        assertNotNull(e2_s1_i2_dep4_symbols[0].getLabelImage());

        assertNotNull(e2_s1_i2_dep4_symbols[1].toString());
        assertNotNull(e2_s1_i2_dep4_symbols[1].getLabelText());
        assertEquals(TestPlugin.DEP4_SYMBOL_FILENAME, ((UiModelSymbol)e2_s1_i2_dep4_symbols[1]).getFileName());
        assertFalse(e2_s1_i2_dep4_symbols[1].hasChildren());
        assertEquals(e2_s1_i2_depimages[3], e2_s1_i2_dep4_symbols[1].getParent());
        assertNotNull(e2_s1_i2_dep4_symbols[1].getLabelImage());

        /* test UiModelSample */
        IUiModelElement[] e1_s1_i1_s1_samples = e1_s1_i1_symbols[0].getChildren(),
                            e1_s1_i1_s2_samples = e1_s1_i1_symbols[1].getChildren(),
                            e1_s1_d2_s1_samples = e1_s1_i2_dep2_symbols[0].getChildren(),
                            e1_s1_d2_s2_samples = e1_s1_i2_dep2_symbols[1].getChildren(),
                            e1_s1_d4_s1_samples = e1_s1_i2_dep4_symbols[0].getChildren(),
                            e1_s1_d4_s2_samples = e1_s1_i2_dep4_symbols[1].getChildren(),
                            e2_s1_i1_s1_samples = e2_s1_i1_symbols[0].getChildren(),
                            e2_s1_i1_s2_samples = e2_s1_i1_symbols[1].getChildren(),
                            e2_s1_d2_s1_samples = e2_s1_i2_dep2_symbols[0].getChildren(),
                            e2_s1_d2_s2_samples = e2_s1_i2_dep2_symbols[1].getChildren(),
                            e2_s1_d4_s1_samples = e2_s1_i2_dep4_symbols[0].getChildren(),
                            e2_s1_d4_s2_samples = e2_s1_i2_dep4_symbols[1].getChildren(),
                            e2_s2_i1_s1_samples = e2_s2_i1_symbols[0].getChildren(),
                            e2_s2_i1_s2_samples = e2_s2_i1_symbols[1].getChildren();

        assertNotNull(e1_s1_i1_s1_samples);
        assertNotNull(e1_s1_i1_s2_samples);
        assertNotNull(e1_s1_d2_s1_samples);
        assertNotNull(e1_s1_d2_s2_samples);
        assertNotNull(e1_s1_d4_s1_samples);
        assertNotNull(e1_s1_d4_s2_samples);
        assertNotNull(e2_s1_i1_s1_samples);
        assertNotNull(e2_s1_i1_s2_samples);
        assertNotNull(e2_s1_d2_s1_samples);
        assertNotNull(e2_s1_d2_s2_samples);
        assertNotNull(e2_s1_d4_s1_samples);
        assertNotNull(e2_s1_d4_s2_samples);
        assertNotNull(e2_s2_i1_s1_samples);
        assertNotNull(e2_s2_i1_s2_samples);
        assertEquals(4, e1_s1_i1_s1_samples.length);
        assertEquals(3, e1_s1_i1_s2_samples.length);
        //0 but not null for dep images due to samples with no line #
        assertEquals(0, e1_s1_d2_s1_samples.length);
        assertEquals(0, e1_s1_d2_s2_samples.length);
        assertEquals(0, e1_s1_d4_s1_samples.length);
        assertEquals(0, e1_s1_d4_s2_samples.length);
        assertEquals(4, e2_s1_i1_s1_samples.length);
        assertEquals(3, e2_s1_i1_s2_samples.length);
        assertEquals(0, e2_s1_d2_s1_samples.length);
        assertEquals(0, e2_s1_d2_s2_samples.length);
        assertEquals(0, e2_s1_d4_s1_samples.length);
        assertEquals(0, e2_s1_d4_s2_samples.length);
        assertEquals(4, e2_s2_i1_s1_samples.length);
        assertEquals(3, e2_s2_i1_s2_samples.length);
        assertNotNull(e1_s1_i1_s1_samples[0]);
        assertNotNull(e1_s1_i1_s1_samples[1]);
        assertNotNull(e1_s1_i1_s1_samples[2]);
        assertNotNull(e1_s1_i1_s1_samples[3]);
        assertNotNull(e1_s1_i1_s2_samples[0]);
        assertNotNull(e1_s1_i1_s2_samples[1]);
        assertNotNull(e1_s1_i1_s2_samples[2]);

        assertNotNull(e2_s1_i1_s1_samples[0]);
        assertNotNull(e2_s1_i1_s1_samples[1]);
        assertNotNull(e2_s1_i1_s1_samples[2]);
        assertNotNull(e2_s1_i1_s1_samples[3]);
        assertNotNull(e2_s1_i1_s2_samples[0]);
        assertNotNull(e2_s1_i1_s2_samples[1]);
        assertNotNull(e2_s1_i1_s2_samples[2]);
        assertNotNull(e2_s2_i1_s1_samples[0]);
        assertNotNull(e2_s2_i1_s1_samples[1]);
        assertNotNull(e2_s2_i1_s1_samples[2]);
        assertNotNull(e2_s2_i1_s1_samples[3]);
        assertNotNull(e2_s2_i1_s2_samples[0]);
        assertNotNull(e2_s2_i1_s2_samples[1]);
        assertNotNull(e2_s2_i1_s2_samples[2]);

        assertNotNull(e1_s1_i1_s1_samples[0].toString());
        assertNotNull(e1_s1_i1_s1_samples[0].getLabelText());
        assertEquals(42, ((UiModelSample)e1_s1_i1_s1_samples[0]).getLine());
        assertEquals(0.6190, ((UiModelSample)e1_s1_i1_s1_samples[0]).getCountPercentage(), 0.0001);
        assertNull(e1_s1_i1_s1_samples[0].getChildren());
        assertFalse(e1_s1_i1_s1_samples[0].hasChildren());
        assertEquals(e1_s1_i1_symbols[0], e1_s1_i1_s1_samples[0].getParent());
        assertNotNull(e1_s1_i1_s1_samples[0].getLabelImage());

        assertNotNull(e1_s1_i1_s1_samples[1].toString());
        assertNotNull(e1_s1_i1_s1_samples[1].getLabelText());
        assertEquals(36, ((UiModelSample)e1_s1_i1_s1_samples[1]).getLine());
        assertEquals(0.1904, ((UiModelSample)e1_s1_i1_s1_samples[1]).getCountPercentage(), 0.0001);
        assertNull(e1_s1_i1_s1_samples[1].getChildren());
        assertFalse(e1_s1_i1_s1_samples[1].hasChildren());
        assertEquals(e1_s1_i1_symbols[0], e1_s1_i1_s1_samples[1].getParent());
        assertNotNull(e1_s1_i1_s1_samples[1].getLabelImage());

        assertNotNull(e1_s1_i1_s1_samples[2].toString());
        assertNotNull(e1_s1_i1_s1_samples[2].getLabelText());
        assertEquals(31, ((UiModelSample)e1_s1_i1_s1_samples[2]).getLine());
        assertEquals(0.0476, ((UiModelSample)e1_s1_i1_s1_samples[2]).getCountPercentage(), 0.0001);
        assertNull(e1_s1_i1_s1_samples[2].getChildren());
        assertFalse(e1_s1_i1_s1_samples[2].hasChildren());
        assertEquals(e1_s1_i1_symbols[0], e1_s1_i1_s1_samples[2].getParent());
        assertNotNull(e1_s1_i1_s1_samples[2].getLabelImage());

        assertNotNull(e1_s1_i1_s1_samples[3].toString());
        assertNotNull(e1_s1_i1_s1_samples[3].getLabelText());
        assertEquals(39, ((UiModelSample)e1_s1_i1_s1_samples[3]).getLine());
        assertEquals(0.0, ((UiModelSample)e1_s1_i1_s1_samples[3]).getCountPercentage(), 0.0001);
        assertNull(e1_s1_i1_s1_samples[3].getChildren());
        assertFalse(e1_s1_i1_s1_samples[3].hasChildren());
        assertEquals(e1_s1_i1_symbols[0], e1_s1_i1_s1_samples[3].getParent());
        assertNotNull(e1_s1_i1_s1_samples[3].getLabelImage());

        assertNotNull(e1_s1_i1_s2_samples[0].toString());
        assertNotNull(e1_s1_i1_s2_samples[0].getLabelText());
        assertEquals(94, ((UiModelSample)e1_s1_i1_s2_samples[0]).getLine());
        assertEquals(0.0952, ((UiModelSample)e1_s1_i1_s2_samples[0]).getCountPercentage(), 0.0001);
        assertNull(e1_s1_i1_s2_samples[0].getChildren());
        assertFalse(e1_s1_i1_s2_samples[0].hasChildren());
        assertEquals(e1_s1_i1_symbols[1], e1_s1_i1_s2_samples[0].getParent());
        assertNotNull(e1_s1_i1_s2_samples[0].getLabelImage());

        assertNotNull(e1_s1_i1_s2_samples[1].toString());
        assertNotNull(e1_s1_i1_s2_samples[1].getLabelText());
        assertEquals(12, ((UiModelSample)e1_s1_i1_s2_samples[1]).getLine());
        assertEquals(0.0, ((UiModelSample)e1_s1_i1_s2_samples[1]).getCountPercentage(), 0.0001);
        assertNull(e1_s1_i1_s2_samples[1].getChildren());
        assertFalse(e1_s1_i1_s2_samples[1].hasChildren());
        assertEquals(e1_s1_i1_symbols[1], e1_s1_i1_s2_samples[1].getParent());
        assertNotNull(e1_s1_i1_s2_samples[1].getLabelImage());

        assertNotNull(e1_s1_i1_s2_samples[2].toString());
        assertNotNull(e1_s1_i1_s2_samples[2].getLabelText());
        assertEquals(55, ((UiModelSample)e1_s1_i1_s2_samples[2]).getLine());
        assertEquals(0.0, ((UiModelSample)e1_s1_i1_s2_samples[2]).getCountPercentage(), 0.0001);
        assertNull(e1_s1_i1_s2_samples[2].getChildren());
        assertFalse(e1_s1_i1_s2_samples[2].hasChildren());
        assertEquals(e1_s1_i1_symbols[1], e1_s1_i1_s2_samples[2].getParent());
        assertNotNull(e1_s1_i1_s2_samples[2].getLabelImage());

        assertNotNull(e2_s1_i1_s1_samples[0].toString());
        assertNotNull(e2_s1_i1_s1_samples[0].getLabelText());
        assertEquals(42, ((UiModelSample)e2_s1_i1_s1_samples[0]).getLine());
        assertEquals(0.6190, ((UiModelSample)e2_s1_i1_s1_samples[0]).getCountPercentage(), 0.0001);
        assertNull(e2_s1_i1_s1_samples[0].getChildren());
        assertFalse(e2_s1_i1_s1_samples[0].hasChildren());
        assertEquals(e2_s1_i1_symbols[0], e2_s1_i1_s1_samples[0].getParent());
        assertNotNull(e2_s1_i1_s1_samples[0].getLabelImage());

        assertNotNull(e2_s1_i1_s1_samples[1].toString());
        assertNotNull(e2_s1_i1_s1_samples[1].getLabelText());
        assertEquals(36, ((UiModelSample)e2_s1_i1_s1_samples[1]).getLine());
        assertEquals(0.1904, ((UiModelSample)e2_s1_i1_s1_samples[1]).getCountPercentage(), 0.0001);
        assertNull(e2_s1_i1_s1_samples[1].getChildren());
        assertFalse(e2_s1_i1_s1_samples[1].hasChildren());
        assertEquals(e2_s1_i1_symbols[0], e2_s1_i1_s1_samples[1].getParent());
        assertNotNull(e2_s1_i1_s1_samples[1].getLabelImage());

        assertNotNull(e2_s1_i1_s1_samples[2].toString());
        assertNotNull(e2_s1_i1_s1_samples[2].getLabelText());
        assertEquals(31, ((UiModelSample)e2_s1_i1_s1_samples[2]).getLine());
        assertEquals(0.0476, ((UiModelSample)e2_s1_i1_s1_samples[2]).getCountPercentage(), 0.0001);
        assertNull(e2_s1_i1_s1_samples[2].getChildren());
        assertFalse(e2_s1_i1_s1_samples[2].hasChildren());
        assertEquals(e2_s1_i1_symbols[0], e2_s1_i1_s1_samples[2].getParent());
        assertNotNull(e2_s1_i1_s1_samples[2].getLabelImage());

        assertNotNull(e2_s1_i1_s1_samples[3].toString());
        assertNotNull(e2_s1_i1_s1_samples[3].getLabelText());
        assertEquals(39, ((UiModelSample)e2_s1_i1_s1_samples[3]).getLine());
        assertEquals(0.0, ((UiModelSample)e2_s1_i1_s1_samples[3]).getCountPercentage(), 0.0001);
        assertNull(e2_s1_i1_s1_samples[3].getChildren());
        assertFalse(e2_s1_i1_s1_samples[3].hasChildren());
        assertEquals(e2_s1_i1_symbols[0], e2_s1_i1_s1_samples[3].getParent());
        assertNotNull(e2_s1_i1_s1_samples[3].getLabelImage());

        assertNotNull(e2_s1_i1_s2_samples[0].toString());
        assertNotNull(e2_s1_i1_s2_samples[0].getLabelText());
        assertEquals(94, ((UiModelSample)e2_s1_i1_s2_samples[0]).getLine());
        assertEquals(0.0952, ((UiModelSample)e2_s1_i1_s2_samples[0]).getCountPercentage(), 0.0001);
        assertNull(e2_s1_i1_s2_samples[0].getChildren());
        assertFalse(e2_s1_i1_s2_samples[0].hasChildren());
        assertEquals(e2_s1_i1_symbols[1], e2_s1_i1_s2_samples[0].getParent());
        assertNotNull(e2_s1_i1_s2_samples[0].getLabelImage());

        assertNotNull(e2_s1_i1_s2_samples[1].toString());
        assertNotNull(e2_s1_i1_s2_samples[1].getLabelText());
        assertEquals(12, ((UiModelSample)e2_s1_i1_s2_samples[1]).getLine());
        assertEquals(0.0, ((UiModelSample)e2_s1_i1_s2_samples[1]).getCountPercentage(), 0.0001);
        assertNull(e2_s1_i1_s2_samples[1].getChildren());
        assertFalse(e2_s1_i1_s2_samples[1].hasChildren());
        assertEquals(e2_s1_i1_symbols[1], e2_s1_i1_s2_samples[1].getParent());
        assertNotNull(e2_s1_i1_s2_samples[1].getLabelImage());

        assertNotNull(e2_s1_i1_s2_samples[2].toString());
        assertNotNull(e2_s1_i1_s2_samples[2].getLabelText());
        assertEquals(55, ((UiModelSample)e2_s1_i1_s2_samples[2]).getLine());
        assertEquals(0.0, ((UiModelSample)e2_s1_i1_s2_samples[2]).getCountPercentage(), 0.0001);
        assertNull(e2_s1_i1_s2_samples[2].getChildren());
        assertFalse(e2_s1_i1_s2_samples[2].hasChildren());
        assertEquals(e2_s1_i1_symbols[1], e2_s1_i1_s2_samples[2].getParent());
        assertNotNull(e2_s1_i1_s2_samples[2].getLabelImage());

        assertNotNull(e2_s2_i1_s1_samples[0].toString());
        assertNotNull(e2_s2_i1_s1_samples[0].getLabelText());
        assertEquals(42, ((UiModelSample)e2_s2_i1_s1_samples[0]).getLine());
        assertEquals(0.65, ((UiModelSample)e2_s2_i1_s1_samples[0]).getCountPercentage(), 0.0001);
        assertNull(e2_s2_i1_s1_samples[0].getChildren());
        assertFalse(e2_s2_i1_s1_samples[0].hasChildren());
        assertEquals(e2_s2_i1_symbols[0], e2_s2_i1_s1_samples[0].getParent());
        assertNotNull(e2_s2_i1_s1_samples[0].getLabelImage());

        assertNotNull(e2_s2_i1_s1_samples[1].toString());
        assertNotNull(e2_s2_i1_s1_samples[1].getLabelText());
        assertEquals(36, ((UiModelSample)e2_s2_i1_s1_samples[1]).getLine());
        assertEquals(0.2, ((UiModelSample)e2_s2_i1_s1_samples[1]).getCountPercentage(), 0.0001);
        assertNull(e2_s2_i1_s1_samples[1].getChildren());
        assertFalse(e2_s2_i1_s1_samples[1].hasChildren());
        assertEquals(e2_s2_i1_symbols[0], e2_s2_i1_s1_samples[1].getParent());
        assertNotNull(e2_s2_i1_s1_samples[1].getLabelImage());

        assertNotNull(e2_s2_i1_s1_samples[2].toString());
        assertNotNull(e2_s2_i1_s1_samples[2].getLabelText());
        assertEquals(31, ((UiModelSample)e2_s2_i1_s1_samples[2]).getLine());
        assertEquals(0.05, ((UiModelSample)e2_s2_i1_s1_samples[2]).getCountPercentage(), 0.0001);
        assertNull(e2_s2_i1_s1_samples[2].getChildren());
        assertFalse(e2_s2_i1_s1_samples[2].hasChildren());
        assertEquals(e2_s2_i1_symbols[0], e2_s2_i1_s1_samples[2].getParent());
        assertNotNull(e2_s2_i1_s1_samples[2].getLabelImage());

        assertNotNull(e2_s2_i1_s1_samples[3].toString());
        assertNotNull(e2_s2_i1_s1_samples[3].getLabelText());
        assertEquals(39, ((UiModelSample)e2_s2_i1_s1_samples[3]).getLine());
        assertEquals(0.0, ((UiModelSample)e2_s2_i1_s1_samples[3]).getCountPercentage(), 0.0001);
        assertNull(e2_s2_i1_s1_samples[3].getChildren());
        assertFalse(e2_s2_i1_s1_samples[3].hasChildren());
        assertEquals(e2_s2_i1_symbols[0], e2_s2_i1_s1_samples[3].getParent());
        assertNotNull(e2_s2_i1_s1_samples[3].getLabelImage());

        assertNotNull(e2_s2_i1_s2_samples[0].toString());
        assertNotNull(e2_s2_i1_s2_samples[0].getLabelText());
        assertEquals(94, ((UiModelSample)e2_s2_i1_s2_samples[0]).getLine());
        assertEquals(0.1, ((UiModelSample)e2_s2_i1_s2_samples[0]).getCountPercentage(), 0.0001);
        assertNull(e2_s2_i1_s2_samples[0].getChildren());
        assertFalse(e2_s2_i1_s2_samples[0].hasChildren());
        assertEquals(e2_s2_i1_symbols[1], e2_s2_i1_s2_samples[0].getParent());
        assertNotNull(e2_s2_i1_s2_samples[0].getLabelImage());

        assertNotNull(e2_s2_i1_s2_samples[1].toString());
        assertNotNull(e2_s2_i1_s2_samples[1].getLabelText());
        assertEquals(12, ((UiModelSample)e2_s2_i1_s2_samples[1]).getLine());
        assertEquals(0.0, ((UiModelSample)e2_s2_i1_s2_samples[1]).getCountPercentage(), 0.0001);
        assertNull(e2_s2_i1_s2_samples[1].getChildren());
        assertFalse(e2_s2_i1_s2_samples[1].hasChildren());
        assertEquals(e2_s2_i1_symbols[1], e2_s2_i1_s2_samples[1].getParent());
        assertNotNull(e2_s2_i1_s2_samples[1].getLabelImage());

        assertNotNull(e2_s2_i1_s2_samples[2].toString());
        assertNotNull(e2_s2_i1_s2_samples[2].getLabelText());
        assertEquals(55, ((UiModelSample)e2_s2_i1_s2_samples[2]).getLine());
        assertEquals(0.0, ((UiModelSample)e2_s2_i1_s2_samples[2]).getCountPercentage(), 0.0001);
        assertNull(e2_s2_i1_s2_samples[2].getChildren());
        assertFalse(e2_s2_i1_s2_samples[2].hasChildren());
        assertEquals(e2_s2_i1_symbols[1], e2_s2_i1_s2_samples[2].getParent());
        assertNotNull(e2_s2_i1_s2_samples[2].getLabelImage());
     }
}

Back to the top