/******************************************************************************* * Copyright (c) 2010 SAP AG. * 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: * Emil Simeonov - initial API and implementation. * Dimitar Donchev - initial API and implementation. * Dimitar Tenev - initial API and implementation. * Nevena Manova - initial API and implementation. * Georgi Konstantinov - initial API and implementation. *******************************************************************************/ package org.eclipse.wst.sse.sieditor.test.ui.v2.newtypedialog; import static org.junit.Assert.assertEquals; import java.text.MessageFormat; import org.eclipse.wst.sse.sieditor.ui.v2.dt.IDataTypesFormPageController; import org.eclipse.wst.sse.sieditor.ui.v2.newtypedialog.AbstractTypeDialogStrategy; import org.eclipse.wst.sse.sieditor.ui.v2.newtypedialog.NewTypeDialog; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.eclipse.wst.sse.sieditor.model.xsd.api.ISchema; import org.eclipse.wst.sse.sieditor.ui.i18n.Messages; /** * * */ public class AbstractTypeDialogStrategyTest { private static final String STRUCTURE_TYPE_NAME = "structureTypeName"; private static final String SIMPLE_TYPE_NAME = "simpleTypeName"; private static final String ELEMENT_NAME = "elementName"; /** * @throws java.lang.Exception */ @BeforeClass public static void setUpBeforeClass() throws Exception { } /** * @throws java.lang.Exception */ @AfterClass public static void tearDownAfterClass() throws Exception { } /** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { } /** * @throws java.lang.Exception */ @After public void tearDown() throws Exception { } private static class AbstractTypeDialogStrategyInheritor extends AbstractTypeDialogStrategy { public IDataTypesFormPageController controllerMock; @Override protected IDataTypesFormPageController getDTController() { return controllerMock; } @Override public String getDefaultName(final String type) { // TODO Auto-generated method stub return null; } @Override public boolean isDuplicateName(final String name, final String type) { // TODO Auto-generated method stub return false; } @Override public ISchema getSchema() { // TODO Auto-generated method stub return null; } } // /** // * Test method for // * {@link org.eclipse.wst.sse.sieditor.ui.v2.newtypedialog.AbstractTypeDialogStrategy#createGlobalType(java.lang.String, java.lang.String, org.eclipse.wst.sse.sieditor.model.xsd.api.ISchema)} // * . // */ // @Test // public final void testCreateGlobalType() { // final AbstractTypeDialogStrategyInheritor strategy = new AbstractTypeDialogStrategyInheritor(); // strategy.controllerMock = createMock(IDataTypesFormPageController.class); // final ISchema schemaMock = createMock(ISchema.class); // final IStructureType newElementMock = createMock(IStructureType.class); // expect(strategy.controllerMock.addNewElement(schemaMock, ELEMENT_NAME)).andReturn(newElementMock); // final IStructureType newStructureTypeMock = createMock(IStructureType.class); // expect(strategy.controllerMock.addNewStructureType(schemaMock, STRUCTURE_TYPE_NAME)).andReturn(newStructureTypeMock); // final ISimpleType newSimpleTypeMock = createMock(ISimpleType.class); // expect(strategy.controllerMock.addNewSimpleType(schemaMock, SIMPLE_TYPE_NAME)).andReturn(newSimpleTypeMock); // // and for ne Status.CancelStatus result : // expect(strategy.controllerMock.addNewSimpleType(schemaMock, SIMPLE_TYPE_NAME)).andReturn(null); // // replay(strategy.controllerMock); // // assertEquals(Status.OK_STATUS, strategy.createGlobalType(NewTypeDialog.RADIO_SELECTION_ELEMENT, ELEMENT_NAME, schemaMock)); // assertEquals(Status.OK_STATUS, strategy.createGlobalType(NewTypeDialog.RADIO_SELECTION_STRUCTURE_TYPE, // STRUCTURE_TYPE_NAME, schemaMock)); // assertEquals(Status.OK_STATUS, strategy.createGlobalType(NewTypeDialog.RADIO_SELECTION_SIMPLE_TYPE, SIMPLE_TYPE_NAME, // schemaMock)); // // the expected cancel status result // assertEquals(Status.CANCEL_STATUS, strategy.createGlobalType(NewTypeDialog.RADIO_SELECTION_SIMPLE_TYPE, SIMPLE_TYPE_NAME, // schemaMock)); // // verify(strategy.controllerMock); // } /** * Test method for * {@link org.eclipse.wst.sse.sieditor.ui.v2.newtypedialog.AbstractTypeDialogStrategy#getDuplicateNameErrorMessage(java.lang.String)} * . */ @Test public final void testGetDuplicateNameErrorMessage() { // String elementType = UIConstants.EMPTY_STRING; // if (NewTypeDialog.RADIO_SELECTION_ELEMENT.equals(type)) { // elementType = Messages.AbstractTypeDialogStrategy_msg_error_element; // } else if (NewTypeDialog.RADIO_SELECTION_SIMPLE_TYPE.equals(type)) { // elementType = // Messages.AbstractTypeDialogStrategy_msg_error_simple_type; // } else if (NewTypeDialog.RADIO_SELECTION_STRUCTURE_TYPE.equals(type)) // { // elementType = // Messages.AbstractTypeDialogStrategy_msg_error_structure_type; // } else { // return // Messages.AbstractTypeDialogStrategy_msg_error_duplicate_element; // } // return // MessageFormat.format(Messages.AbstractTypeDialogStrategy_msg_error_duplicate_X, // elementType); final AbstractTypeDialogStrategyInheritor strategy = new AbstractTypeDialogStrategyInheritor(); assertEquals(MessageFormat.format(Messages.AbstractTypeDialogStrategy_msg_error_duplicate_X, Messages.AbstractTypeDialogStrategy_msg_error_element), strategy .getDuplicateNameErrorMessage(NewTypeDialog.RADIO_SELECTION_ELEMENT)); assertEquals(MessageFormat.format(Messages.AbstractTypeDialogStrategy_msg_error_duplicate_X, Messages.AbstractTypeDialogStrategy_msg_error_structure_type), strategy .getDuplicateNameErrorMessage(NewTypeDialog.RADIO_SELECTION_STRUCTURE_TYPE)); assertEquals(MessageFormat.format(Messages.AbstractTypeDialogStrategy_msg_error_duplicate_X, Messages.AbstractTypeDialogStrategy_msg_error_simple_type), strategy .getDuplicateNameErrorMessage(NewTypeDialog.RADIO_SELECTION_SIMPLE_TYPE)); assertEquals(Messages.AbstractTypeDialogStrategy_msg_error_duplicate_element, strategy .getDuplicateNameErrorMessage(NewTypeDialog.RADIO_SELECTION_NONE)); } }