/******************************************************************************* * 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.internal.ui.workarea.registry; import junit.framework.TestCase; import org.eclipse.riena.core.test.collect.NonUITestCase; import org.eclipse.riena.navigation.ISubModuleNode; import org.eclipse.riena.navigation.NavigationNodeId; import org.eclipse.riena.navigation.model.SubModuleNode; import org.eclipse.riena.navigation.ui.controllers.SubModuleController; import org.eclipse.riena.ui.workarea.IWorkareaDefinition; import org.eclipse.riena.ui.workarea.WorkareaDefinition; /** * Tests of the class {@link WorkareaDefinitionRegistryFacade}. */ @NonUITestCase public class WorkareaDefinitionRegistryFacadeTest extends TestCase { /** * Tests the method {@code getInstance()}. */ public void testGetInstance() { final WorkareaDefinitionRegistryFacade facade1 = WorkareaDefinitionRegistryFacade.getInstance(); assertNotNull(facade1); final WorkareaDefinitionRegistryFacade facade2 = WorkareaDefinitionRegistryFacade.getInstance(); assertNotNull(facade2); assertSame(facade1, facade2); } /** * Tests the method {@code registerDefinition}. */ public void testRegisterDefinition() { final WorkareaDefinitionRegistryFacade facade = WorkareaDefinitionRegistryFacade.getInstance(); final IWorkareaDefinition def = facade .registerDefinition("id0101", SubModuleController.class, "secondId", true); assertEquals(SubModuleController.class, def.getControllerClass()); assertEquals("secondId", def.getViewId()); assertTrue(def.isViewShared()); assertSame(def, facade.getDefinition("id0101")); } /** * Tests the method {@code register(Object,IWorkareaDefinition)}. */ public void testRegister() { final WorkareaDefinitionRegistryFacade facade = WorkareaDefinitionRegistryFacade.getInstance(); final IWorkareaDefinition def1 = new WorkareaDefinition("IdOfView"); final IWorkareaDefinition def2 = facade.register("id0201", def1); assertSame(def1, def2); final IWorkareaDefinition def3 = facade.getDefinition("id0201"); assertSame(def1, def3); } /** * Tests the method {@code getDefinition(Object)}. */ public void testGetDefinition() { final WorkareaDefinitionRegistryFacade facade = WorkareaDefinitionRegistryFacade.getInstance(); final IWorkareaDefinition def1 = new WorkareaDefinition("IdOfView01"); facade.register("id0301", def1); IWorkareaDefinition retdef = facade.getDefinition("id0301"); assertSame(def1, retdef); final Object id = new Object(); final IWorkareaDefinition def2 = new WorkareaDefinition("view2"); facade.register(id, def2); retdef = facade.getDefinition(id); assertSame(def2, retdef); final ISubModuleNode node1 = new SubModuleNode(new NavigationNodeId("id0302")); final IWorkareaDefinition def3 = new WorkareaDefinition("IdOfView02"); facade.register(node1, def3); retdef = facade.getDefinition(node1); assertSame(def3, retdef); final ISubModuleNode node2 = new SubModuleNode(new NavigationNodeId("id0303")); final IWorkareaDefinition def4 = new WorkareaDefinition("IdOfView03"); facade.register("id0303", def4); retdef = facade.getDefinition(node2); assertSame(def4, retdef); final ISubModuleNode node3 = new SubModuleNode(new NavigationNodeId("id0304")); final IWorkareaDefinition def5 = new WorkareaDefinition("IdOfView04"); facade.register(node3, def5); retdef = facade.getDefinition("id0304"); assertSame(def5, retdef); } }