blob: 05e196ad21c758c41564f6283ee87942636efb9a [file] [log] [blame]
/*******************************************************************************
* 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.persistence.annotation.impl;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.jdt.core.IType;
import org.eclipse.jst.ws.jaxws.testutils.jmock.Mock;
import org.eclipse.jst.ws.jaxws.testutils.jmock.MockObjectTestCase;
import org.eclipse.jst.ws.jaxws.utils.annotations.IAnnotation;
import org.eclipse.jst.ws.jaxws.utils.annotations.ILocator;
import org.eclipse.jst.ws.jaxws.utils.annotations.IParamValuePair;
import org.eclipse.jst.ws.jaxws.utils.annotations.IValue;
public class AbstractLocatorsTest extends MockObjectTestCase
{
protected static final int VALUE_OFFSET = 10;
protected Mock<IAnnotation<IType>> annotation;
protected IParamValuePair param1;
protected IParamValuePair param2;
@Override
public void setUp()
{
annotation = mock(IAnnotation.class);
annotation.stubs().method("getLocator").will(returnValue(createLocator(1, 11)));
param1 = createParamValue("param1", 21, 31);
param2 = createParamValue("param2", 22, 32);
Set<IParamValuePair> pairs = new HashSet<IParamValuePair>();
pairs.add(param1);
pairs.add(param2);
annotation.stubs().method("getParamValuePairs").will(returnValue(pairs));
}
protected IParamValuePair createParamValue(String name, int startPos, int lenght)
{
Mock<IParamValuePair> param = mock(IParamValuePair.class);
param.stubs().method("getParam").will(returnValue(name));
param.stubs().method("getLocator").will(returnValue(createLocator(startPos, lenght)));
Mock<IValue> value = mock(IValue.class);
value.stubs().method("getLocator").will(returnValue(createLocator(startPos + VALUE_OFFSET, lenght + VALUE_OFFSET)));
param.stubs().method("getValue").will(returnValue(value.proxy()));
return param.proxy();
}
protected ILocator createLocator(int startPos, int length)
{
Mock<ILocator> locator = mock(ILocator.class);
locator.stubs().method("getLength").will(returnValue(length));
locator.stubs().method("getStartPosition").will(returnValue(startPos));
return locator.proxy();
}
}