import static org.junit.Assert.*; import java.io.File; import java.io.IOException; import org.junit.Test; import sk.tomsik68.mclauncher.api.common.IObservable; import sk.tomsik68.mclauncher.api.common.IObserver; import sk.tomsik68.mclauncher.api.common.mc.MinecraftInstance; import sk.tomsik68.mclauncher.api.ui.IProgressMonitor; import sk.tomsik68.mclauncher.api.versions.IVersion; import sk.tomsik68.mclauncher.impl.versions.mcassets.MCAssetsVersionList; public class TestMCAssetsInstall { @Test public void test() { final MinecraftInstance mc = new MinecraftInstance(new File("testmc")); mc.getLocation().mkdirs(); final MCAssetsVersionList list = new MCAssetsVersionList(); list.addObserver(new IObserver<String>() { private boolean installed = false; @Override public void onUpdate(IObservable<String> observable, String id) { IVersion changed = null; try { changed = list.retrieveVersionInfo(id); } catch (Exception e) { e.printStackTrace(); } if (!installed) { installed = true; System.out.println("Found version: " + changed.getDisplayName() + " installing"); try { changed.getInstaller().install(changed, mc, null); } catch (Exception e) { e.printStackTrace(); fail(e.getMessage()); } } } }); try { list.startDownload(); } catch (Exception e) { e.printStackTrace(); fail(e.getMessage()); } } }