blob: 39f3efbdc6dd59c9baba6a8f4a28384fe3039b7d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008, 2017 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.pde.internal.ds.tests;
import org.eclipse.pde.internal.ds.core.IDSComponent;
import org.eclipse.pde.internal.ds.core.IDSDocumentFactory;
import org.eclipse.pde.internal.ds.core.IDSProvide;
import org.eclipse.pde.internal.ds.core.IDSService;
public class DSProvideTestCase extends AbstractDSModelTestCase {
public void testAddCompleteProvidedService() {
StringBuilder buffer = new StringBuilder();
buffer.append("<service servicefactory=\"true\" >");
buffer.append(LF);
buffer.append("<provide interface=\"");
buffer.append("java.lang.Runnable\">");
buffer.append("</provide>");
buffer.append(LF);
buffer.append("</service>");
setXMLContents(buffer, LF);
load();
IDSComponent component = fModel.getDSComponent();
assertNotNull(component);
IDSService service = fModel.getDSComponent().getService();
assertNotNull(service);
IDSProvide[] providedServices = service.getProvidedServices();
assertTrue(providedServices.length == 1);
IDSProvide provide = providedServices[0];
assertTrue(provide.getInterface().equals("java.lang.Runnable"));
String interfaceName = "java.lang.String";
provide.setInterface(interfaceName);
String content = fModel.getDSComponent().toString();
assertTrue(content.contains(interfaceName));
assertEquals(provide.getName(), interfaceName);
}
/**
* Tests to add a provided service by DSDocumentFactory
*/
public void testAddProvidedServicebyFactory() {
StringBuilder buffer = new StringBuilder();
setXMLContents(buffer , LF);
load();
IDSDocumentFactory factory = fModel.getFactory();
IDSService service = factory.createService();
service.setServiceFactory(true);
IDSComponent component = fModel.getDSComponent();
component.setService(service);
IDSProvide provide = factory.createProvide();
provide.setInterface("java.lang.Runnable");
service.addProvidedService(provide);
String content = component.toString();
assertTrue(content.contains("interface=\"java.lang.Runnable\""));
IDSService service0 = component.getService();
assertNotNull(service0);
assertTrue(service0.getServiceFactory());
IDSProvide[] providedServices = service.getProvidedServices();
IDSProvide provide0 = providedServices[0];
assertNotNull(provide0);
assertTrue(provide0.getInterface().equals("java.lang.Runnable"));
}
}