/******************************************************************************* * 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()); } }