/******************************************************************************* * Copyright (c) 2007, 2014 compeople AG and others. * 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: * compeople AG - initial API and implementation *******************************************************************************/ package org.eclipse.riena.security.ui.filter; import junit.framework.TestCase; import org.easymock.EasyMock; import org.eclipse.riena.core.test.collect.NonUITestCase; import org.eclipse.riena.navigation.IApplicationNode; import org.eclipse.riena.navigation.ISimpleNavigationNodeListener; import org.eclipse.riena.navigation.NavigationNodeId; import org.eclipse.riena.navigation.model.ApplicationNode; import org.eclipse.riena.navigation.model.ModuleGroupNode; import org.eclipse.riena.navigation.model.ModuleNode; import org.eclipse.riena.navigation.model.SubApplicationNode; import org.eclipse.riena.navigation.model.SubModuleNode; import org.eclipse.riena.security.ui.filter.NodeStructureObserver; /** * */ @NonUITestCase public class NodeStructureObserverTest extends TestCase { public void testDelegation() { final IApplicationNode app = new ApplicationNode(); final SubApplicationNode subApp1 = new SubApplicationNode(new NavigationNodeId("subapp1")); app.addChild(subApp1); final SubApplicationNode subApp2 = new SubApplicationNode(new NavigationNodeId("subapp2")); app.addChild(subApp2); final ModuleGroupNode mg1 = new ModuleGroupNode(new NavigationNodeId("mg1")); subApp1.addChild(mg1); final ModuleGroupNode mg2 = new ModuleGroupNode(new NavigationNodeId("mg2")); subApp2.addChild(mg2); final ModuleNode m1 = new ModuleNode(new NavigationNodeId("m1")); mg1.addChild(m1); final ModuleNode m2 = new ModuleNode(new NavigationNodeId("m2")); mg2.addChild(m2); final SubModuleNode sm1 = new SubModuleNode(new NavigationNodeId("sm1")); m1.addChild(sm1); final SubModuleNode sm2 = new SubModuleNode(new NavigationNodeId("sm2")); m2.addChild(sm2); app.activate(); final SubModuleNode toAdd1 = new SubModuleNode(new NavigationNodeId("fresh1")); final ISimpleNavigationNodeListener listener = EasyMock.createNiceMock(ISimpleNavigationNodeListener.class); listener.childAdded(m1, toAdd1); EasyMock.replay(listener); final NodeStructureObserver observer = new NodeStructureObserver(app, listener); observer.start(); m1.addChild(toAdd1); EasyMock.verify(listener); observer.stop(); EasyMock.reset(listener); EasyMock.replay(listener); final SubModuleNode toAdd2 = new SubModuleNode(new NavigationNodeId("fresh2")); m1.addChild(toAdd2); EasyMock.verify(listener); } }