/******************************************************************************* | |
* Copyright (c) 2009 by SAP AG, Walldorf. | |
* 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: | |
* SAP AG - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.jst.ws.jaxws.dom.runtime.tests.dom.validation; | |
import java.util.HashSet; | |
import java.util.Set; | |
import org.eclipse.core.runtime.IStatus; | |
import org.eclipse.emf.ecore.EObject; | |
import org.eclipse.emf.validation.model.ConstraintSeverity; | |
import org.eclipse.emf.validation.model.IModelConstraint; | |
import org.eclipse.emf.validation.service.IConstraintDescriptor; | |
import org.eclipse.jst.ws.jaxws.dom.runtime.validation.IProblemLocation; | |
import org.eclipse.jst.ws.jaxws.dom.runtime.validation.impl.ConstraintStatusExtended; | |
import org.eclipse.jst.ws.jaxws.testutils.jmock.Mock; | |
import org.eclipse.jst.ws.jaxws.testutils.jmock.MockObjectTestCase; | |
public class ConstraintStatusExtendedTest extends MockObjectTestCase | |
{ | |
private Mock<IProblemLocation> locationMock; | |
private Mock<IModelConstraint> modelConstraint; | |
private Mock<EObject> targetObject; | |
@Override | |
protected void setUp() throws Exception | |
{ | |
locationMock = mock(IProblemLocation.class); | |
modelConstraint = mock(IModelConstraint.class); | |
targetObject = mock(EObject.class); | |
final Mock<IConstraintDescriptor> constraintDescr = mock(IConstraintDescriptor.class); | |
constraintDescr.stubs().method("getSeverity").will(returnValue(ConstraintSeverity.ERROR)); | |
constraintDescr.stubs().method("getStatusCode").will(returnValue(0)); | |
constraintDescr.stubs().method("getPluginId").will(returnValue("mytestpluginid")); | |
modelConstraint.stubs().method("getDescriptor").will(returnValue(constraintDescr.proxy())); | |
} | |
public void testCreateWithNullLocation() | |
{ | |
try | |
{ | |
new ConstraintStatusExtended(modelConstraint.proxy(), targetObject.proxy(), IStatus.OK, 0, "TEST", null); | |
fail("NPE expected"); | |
} catch (NullPointerException e) | |
{ | |
//expected | |
} | |
} | |
public void testProblemLocationInitialized() | |
{ | |
final Set<IProblemLocation> locations = new HashSet<IProblemLocation>(); | |
locations.add(locationMock.proxy()); | |
final ConstraintStatusExtended status = new ConstraintStatusExtended(modelConstraint.proxy(), targetObject.proxy(), IStatus.ERROR, 0, "TEST", locations); | |
assertTrue("Problem location not initialized properly", status.getProblemLocations().size() == 1); | |
assertTrue("Problem location not initialized properly", status.getProblemLocations().iterator().next() == locationMock.proxy()); | |
} | |
public void testProblemLocationInitialized2() | |
{ | |
final Set<IProblemLocation> locations = new HashSet<IProblemLocation>(); | |
locations.add(locationMock.proxy()); | |
final ConstraintStatusExtended status = new ConstraintStatusExtended(modelConstraint.proxy(), targetObject.proxy(), "TEST", locations); | |
assertTrue("Problem location not initialized properly", status.getProblemLocations().size() == 1); | |
assertTrue("Problem location not initialized properly", status.getProblemLocations().iterator().next() == locationMock.proxy()); | |
} | |
public void testProblemLocationIsNotModifiable() | |
{ | |
final Set<IProblemLocation> locations = new HashSet<IProblemLocation>(); | |
final ConstraintStatusExtended status = new ConstraintStatusExtended(modelConstraint.proxy(), targetObject.proxy(), IStatus.ERROR, 0, "TEST", locations); | |
try | |
{ | |
status.getProblemLocations().add(locationMock.proxy()); | |
fail("UnsupportedOperationException expected"); | |
} | |
catch(UnsupportedOperationException e) | |
{ | |
//expected | |
} | |
} | |
} |