package org.netbeans.gradle.project.query;
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import org.netbeans.api.java.queries.BinaryForSourceQuery;
import org.netbeans.api.java.queries.SourceForBinaryQuery;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
import static org.junit.Assert.*;
public final class TestSourceQueryUtils {
public static void expectSameArchive(String name, File expected, FileObject actual) {
URI expectedUri;
try {
expectedUri = FileUtil.urlForArchiveOrDir(expected).toURI();
} catch (URISyntaxException ex) {
throw new RuntimeException(ex);
}
URI actualUri = actual.toURI();
assertEquals(name, expectedUri, actualUri);
}
public static File expectedSingleFile(BinaryForSourceQuery.Result result) {
return expectedSingleFile(result.getRoots());
}
public static FileObject expectedSingleFile(SourceForBinaryQuery.Result result) {
return expectedSingleFile(result.getRoots());
}
public static File expectedSingleFile(URL[] urls) {
assertEquals("Expected exactly one url", 1, urls.length);
return FileUtil.archiveOrDirForURL(urls[0]);
}
public static FileObject expectedSingleFile(FileObject[] fileObjs) {
assertEquals("Expected exactly one file object", 1, fileObjs.length);
return fileObjs[0];
}
private TestSourceQueryUtils() {
throw new AssertionError();
}
}