/* * Copyright (c) 2006 Borland Software Corporation * * 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: * Michael Golubev (Borland) - initial API and implementation */ package org.eclipse.gmf.tests.gen; import junit.framework.TestCase; import org.eclipse.gmf.gmfgraph.RealFigure; import org.eclipse.gmf.gmfgraph.GMFGraphFactory; import org.eclipse.gmf.gmfgraph.RoundedRectangle; import org.eclipse.gmf.graphdef.codegen.FigureGenerator; import org.eclipse.gmf.graphdef.codegen.MapModeCodeGenStrategy; import org.eclipse.gmf.tests.setup.figures.FigureGeneratorUtil; public class MapModeStrategyTest extends TestCase { public MapModeStrategyTest(String name) { super(name); } public void testPreferredSize(){ checkAllStrategies(createFigureWithPreferredSize()); } public void testRoundedRectangleCorners(){ RoundedRectangle rounded = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); rounded.setName("RoundedRectangleWithCorners"); rounded.setCornerWidth(23); rounded.setCornerHeight(14); checkAllStrategies(rounded); } private void checkAllStrategies(RealFigure figure){ String baseName = figure.getName(); try { figure.setName(baseName + "_StaticIdentity"); FigureGeneratorUtil.generateAndParse(figure, createGenerator(MapModeCodeGenStrategy.STATIC, null)); figure.setName(baseName + "_DefaultMapMode"); FigureGeneratorUtil.generateAndParse(figure, createGenerator(MapModeCodeGenStrategy.DYNAMIC, null)); figure.setName(baseName + "_StandaloneMapMode"); FigureGeneratorUtil.generateAndParse(figure, createGenerator(MapModeCodeGenStrategy.DYNAMIC, FigureGeneratorUtil.DEFAULT_PLUGIN_ACTIVATOR + ".getDefault().")); } finally { figure.setName(baseName); } } private RealFigure createFigureWithPreferredSize(){ RealFigure figure = GMFGraphFactory.eINSTANCE.createRectangle(); figure.setName("Figure2WithPreferredSize"); figure.setPreferredSize(FigureGeneratorUtil.createDimension(234, 567)); return figure; } private FigureGenerator createGenerator(MapModeCodeGenStrategy strategy, String accessor) { return new FigureGenerator(null, "org.some.pkg", strategy, accessor, false); } }