package monolipse.ui.tests;
import monolipse.core.BooCore;
import monolipse.core.IAssemblyReference;
import monolipse.core.IAssemblySource;
import monolipse.core.IAssemblySourceReference;
import monolipse.core.ILocalAssemblyReference;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.Platform;
public class BooCoreTestCase extends AbstractBooTestCase {
public void testCreateAssemblyReference() throws Exception {
IAssemblySource bar = addAssemblySource("src/Bar");
IAssemblySourceReference barReference = (IAssemblySourceReference) BooCore.createAssemblyReference(bar);
assertNotNull(barReference);
assertSame(bar, barReference.getAssemblySource());
assertSame(barReference, BooCore.createAssemblyReference(bar));
}
public void testFileAdapters() throws Exception {
assertNull(getAdapter(getFile("lib/TestClass.dll"), IAssemblyReference.class));
final IFile resource = copyResourceTo("TestClass.dll", "lib");
ILocalAssemblyReference reference = (ILocalAssemblyReference)getAdapter(resource, IAssemblyReference.class);
assertNotNull(reference);
assertSame(resource, reference.getFile());
assertSame(reference, getAdapter(resource, IAssemblyReference.class));
}
public void testAssemblySourceAdapters() throws Exception {
final String path = "src/Bar";
final IFolder folder = getFolder(path);
assertNull(getAdapter(folder, IAssemblyReference.class));
final IAssemblySource source = addAssemblySource(path);
IAssemblySourceReference reference = (IAssemblySourceReference) getAdapter(folder, IAssemblyReference.class);
assertNotNull(reference);
assertSame(source, reference.getAssemblySource());
assertSame(reference, getAdapter(folder, IAssemblyReference.class));
}
private Object getAdapter(Object adaptable, Class<?> adapterClass) {
return Platform.getAdapterManager().getAdapter(adaptable, adapterClass);
}
}