// Path: plugins/brjs-plugins/src/main/java/org/bladerunnerjs/plugin/bundlers/aliasing/AliasingUtility.java
// public static AliasDefinitionsFile aliasDefinitionsFile(AssetContainer assetContainer, String path) {
// 	return getNodeProperty(assetContainer, AliasDefinitionsFile.class.getSimpleName()+"_"+path, AliasDefinitionsFile.class, 
// 			() -> { return new AliasDefinitionsFile(assetContainer, assetContainer.file(path)); });
// }
// 
// Path: plugins/brjs-plugins/src/main/java/org/bladerunnerjs/plugin/bundlers/aliasing/AliasingUtility.java
// public static AliasesFile aliasesFile(AssetContainer assetContainer) {
// 	return getNodeProperty(assetContainer, AliasesFile.class.getSimpleName(), AliasesFile.class, 
// 			() -> { return new AliasesFile(assetContainer); });
// }


import static org.bladerunnerjs.plugin.bundlers.aliasing.AliasingUtility.aliasDefinitionsFile;
import static org.bladerunnerjs.plugin.bundlers.aliasing.AliasingUtility.aliasesFile;
import org.bladerunnerjs.api.App;
import org.bladerunnerjs.api.Aspect;
import org.bladerunnerjs.api.Blade;
import org.bladerunnerjs.api.JsLib;
import org.bladerunnerjs.api.model.exception.command.ArgumentParsingException;
import org.bladerunnerjs.api.model.exception.command.CommandArgumentsException;
import org.bladerunnerjs.api.model.exception.command.NodeDoesNotExistException;
import org.bladerunnerjs.api.spec.engine.SpecTest;
import org.bladerunnerjs.model.SdkJsLib;
import org.bladerunnerjs.plugin.commands.standard.ApplicationDepsCommand;
import org.bladerunnerjs.plugin.plugins.require.AliasDataSourceModule;
import org.bladerunnerjs.spec.aliasing.AliasDefinitionsFileBuilder;
import org.bladerunnerjs.spec.aliasing.AliasesFileBuilder;
import org.junit.Before;
import org.junit.Test;
package org.bladerunnerjs.spec.command;




public class ApplicationDepsCommandTest extends SpecTest {
	App app;
	Aspect aspect;
	SdkJsLib brLib;
	private Blade bladeInDefaultBladeset;
	private Aspect defaultAspect;
	private AliasesFileBuilder aspectAliasesFileBuilder;
	private AliasDefinitionsFileBuilder bladeAliasDefinitionsFileBuilder;
	private Blade blade;
	
	@Before
	public void initTestObjects() throws Exception
	{
		given(brjs).hasCommandPlugins(new ApplicationDepsCommand())
			.and(brjs).automaticallyFindsAssetPlugins()
			.and(brjs).automaticallyFindsRequirePlugins()
			.and(brjs).hasBeenCreated();
			app = brjs.app("app");
			aspect = app.aspect("default");
			defaultAspect = app.defaultAspect();
			blade = app.bladeset("bs").blade("b1");
			brLib = brjs.sdkLib("br");
			bladeInDefaultBladeset = app.defaultBladeset().blade("b1");
			
			aspectAliasesFileBuilder = new AliasesFileBuilder(this, aliasesFile(aspect));
// Path: plugins/brjs-plugins/src/main/java/org/bladerunnerjs/plugin/bundlers/aliasing/AliasingUtility.java
// public static AliasDefinitionsFile aliasDefinitionsFile(AssetContainer assetContainer, String path) {
// 	return getNodeProperty(assetContainer, AliasDefinitionsFile.class.getSimpleName()+"_"+path, AliasDefinitionsFile.class, 
// 			() -> { return new AliasDefinitionsFile(assetContainer, assetContainer.file(path)); });
// }
// 
// Path: plugins/brjs-plugins/src/main/java/org/bladerunnerjs/plugin/bundlers/aliasing/AliasingUtility.java
// public static AliasesFile aliasesFile(AssetContainer assetContainer) {
// 	return getNodeProperty(assetContainer, AliasesFile.class.getSimpleName(), AliasesFile.class, 
// 			() -> { return new AliasesFile(assetContainer); });
// }


// Path: plugins/brjs-plugins/src/test/java/org/bladerunnerjs/spec/command/ApplicationDepsCommandTest.java
import static org.bladerunnerjs.plugin.bundlers.aliasing.AliasingUtility.aliasDefinitionsFile;
import static org.bladerunnerjs.plugin.bundlers.aliasing.AliasingUtility.aliasesFile;
import org.bladerunnerjs.api.App;
import org.bladerunnerjs.api.Aspect;
import org.bladerunnerjs.api.Blade;
import org.bladerunnerjs.api.JsLib;
import org.bladerunnerjs.api.model.exception.command.ArgumentParsingException;
import org.bladerunnerjs.api.model.exception.command.CommandArgumentsException;
import org.bladerunnerjs.api.model.exception.command.NodeDoesNotExistException;
import org.bladerunnerjs.api.spec.engine.SpecTest;
import org.bladerunnerjs.model.SdkJsLib;
import org.bladerunnerjs.plugin.commands.standard.ApplicationDepsCommand;
import org.bladerunnerjs.plugin.plugins.require.AliasDataSourceModule;
import org.bladerunnerjs.spec.aliasing.AliasDefinitionsFileBuilder;
import org.bladerunnerjs.spec.aliasing.AliasesFileBuilder;
import org.junit.Before;
import org.junit.Test;

package org.bladerunnerjs.spec.command;




public class ApplicationDepsCommandTest extends SpecTest {
	App app;
	Aspect aspect;
	SdkJsLib brLib;
	private Blade bladeInDefaultBladeset;
	private Aspect defaultAspect;
	private AliasesFileBuilder aspectAliasesFileBuilder;
	private AliasDefinitionsFileBuilder bladeAliasDefinitionsFileBuilder;
	private Blade blade;
	
	@Before
	public void initTestObjects() throws Exception
	{
		given(brjs).hasCommandPlugins(new ApplicationDepsCommand())
			.and(brjs).automaticallyFindsAssetPlugins()
			.and(brjs).automaticallyFindsRequirePlugins()
			.and(brjs).hasBeenCreated();
			app = brjs.app("app");
			aspect = app.aspect("default");
			defaultAspect = app.defaultAspect();
			blade = app.bladeset("bs").blade("b1");
			brLib = brjs.sdkLib("br");
			bladeInDefaultBladeset = app.defaultBladeset().blade("b1");
			
			aspectAliasesFileBuilder = new AliasesFileBuilder(this, aliasesFile(aspect));
			bladeAliasDefinitionsFileBuilder = new AliasDefinitionsFileBuilder(this, aliasDefinitionsFile(blade, "src"));