// Path: src/com/atsebak/embeddedlinuxjvm/runner/conf/EmbeddedLinuxJVMRunConfiguration.java
// public class EmbeddedLinuxJVMRunConfiguration extends LocatableConfigurationBase implements RunProfileWithCompileBeforeLaunchOption {
//     private EmbeddedLinuxJVMRunConfigurationRunnerParameters embeddedLinuxJVMRunConfigurationRunnerParameters = new EmbeddedLinuxJVMRunConfigurationRunnerParameters();
// 
//     /**
//      * Run Configurations To Run App
//      *
//      * @param project
//      * @param factory
//      */
//     protected EmbeddedLinuxJVMRunConfiguration(final Project project, final ConfigurationFactory factory, String name) {
//         super(project, factory, name);
//     }
// 
//     /**
//      * Settings Editor
//      * @return
//      */
//     @NotNull
//     @Override
//     public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() {
//         return new RunConfigurationEditor(getProject());
//     }
// 
//     /**
//      * Creates new running paramters instance
//      * @return
//      */
//     protected EmbeddedLinuxJVMRunConfigurationRunnerParameters createRunnerParametersInstance() {
//         return new EmbeddedLinuxJVMRunConfigurationRunnerParameters();
//     }
// 
// 
//     /**
//      * Read External
//      * @param element
//      * @throws InvalidDataException
//      */
//     @Override
//     public void readExternal(Element element) throws InvalidDataException {
//         super.readExternal(element);
//         embeddedLinuxJVMRunConfigurationRunnerParameters = createRunnerParametersInstance();
//         XmlSerializer.deserializeInto(embeddedLinuxJVMRunConfigurationRunnerParameters, element);
//     }
// 
//     /**
//      * Write External
//      * @param element
//      * @throws WriteExternalException
//      */
//     @Override
//     public void writeExternal(Element element) throws WriteExternalException {
//         super.writeExternal(element);
//         if (embeddedLinuxJVMRunConfigurationRunnerParameters != null) {
//             XmlSerializer.serializeInto(embeddedLinuxJVMRunConfigurationRunnerParameters, element);
//         }
//     }
// 
//     /**
//      * Gets the state of the execution environment
//      * @param executor
//      * @param env
//      * @return
//      * @throws ExecutionException
//      */
//     @Override
//     public RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment env) throws ExecutionException {
//         return new AppCommandLineState(env, this);
//     }
// 
// 
//     /**
//      * Checks weather all the supplied paramters from the user are correct
//      * @throws RuntimeConfigurationException
//      */
//     @Override
//     public void checkConfiguration() throws RuntimeConfigurationException {
//         EmbeddedLinuxJVMRunnerValidator.checkJavaSettings(this);
//         EmbeddedLinuxJVMRunnerValidator.checkEmbeddedSettings(getRunnerParameters());
//     }
// 
//     /**
//      * Gets runner paramters instance
//      * @return
//      */
//     public EmbeddedLinuxJVMRunConfigurationRunnerParameters getRunnerParameters() {
//         return embeddedLinuxJVMRunConfigurationRunnerParameters;
//     }
// 
//     /**
//      * Gets modules
//      *
//      * @return
//      */
//     @NotNull
//     @Override
//     public Module[] getModules() {
//         return new Module[0];
//     }
// }


import com.atsebak.embeddedlinuxjvm.runner.conf.EmbeddedLinuxJVMRunConfiguration;
import com.intellij.execution.configurations.RunProfile;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
import static org.junit.Assert.*;
package com.atsebak.embeddedlinuxjvm.runner;



@RunWith(PowerMockRunner.class)
public class EmbeddedLinuxJVMDebuggerTest {
    @Test
    public void testGetRunnerId() {
        EmbeddedLinuxJVMDebugger debugger = Whitebox.newInstance(EmbeddedLinuxJVMDebugger.class);
        String runnerId = debugger.getRunnerId();
        assertEquals("RaspberryPIDebugger", runnerId);
    }


    @Test
    public void testCanRun() {
// Path: src/com/atsebak/embeddedlinuxjvm/runner/conf/EmbeddedLinuxJVMRunConfiguration.java
// public class EmbeddedLinuxJVMRunConfiguration extends LocatableConfigurationBase implements RunProfileWithCompileBeforeLaunchOption {
//     private EmbeddedLinuxJVMRunConfigurationRunnerParameters embeddedLinuxJVMRunConfigurationRunnerParameters = new EmbeddedLinuxJVMRunConfigurationRunnerParameters();
// 
//     /**
//      * Run Configurations To Run App
//      *
//      * @param project
//      * @param factory
//      */
//     protected EmbeddedLinuxJVMRunConfiguration(final Project project, final ConfigurationFactory factory, String name) {
//         super(project, factory, name);
//     }
// 
//     /**
//      * Settings Editor
//      * @return
//      */
//     @NotNull
//     @Override
//     public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() {
//         return new RunConfigurationEditor(getProject());
//     }
// 
//     /**
//      * Creates new running paramters instance
//      * @return
//      */
//     protected EmbeddedLinuxJVMRunConfigurationRunnerParameters createRunnerParametersInstance() {
//         return new EmbeddedLinuxJVMRunConfigurationRunnerParameters();
//     }
// 
// 
//     /**
//      * Read External
//      * @param element
//      * @throws InvalidDataException
//      */
//     @Override
//     public void readExternal(Element element) throws InvalidDataException {
//         super.readExternal(element);
//         embeddedLinuxJVMRunConfigurationRunnerParameters = createRunnerParametersInstance();
//         XmlSerializer.deserializeInto(embeddedLinuxJVMRunConfigurationRunnerParameters, element);
//     }
// 
//     /**
//      * Write External
//      * @param element
//      * @throws WriteExternalException
//      */
//     @Override
//     public void writeExternal(Element element) throws WriteExternalException {
//         super.writeExternal(element);
//         if (embeddedLinuxJVMRunConfigurationRunnerParameters != null) {
//             XmlSerializer.serializeInto(embeddedLinuxJVMRunConfigurationRunnerParameters, element);
//         }
//     }
// 
//     /**
//      * Gets the state of the execution environment
//      * @param executor
//      * @param env
//      * @return
//      * @throws ExecutionException
//      */
//     @Override
//     public RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment env) throws ExecutionException {
//         return new AppCommandLineState(env, this);
//     }
// 
// 
//     /**
//      * Checks weather all the supplied paramters from the user are correct
//      * @throws RuntimeConfigurationException
//      */
//     @Override
//     public void checkConfiguration() throws RuntimeConfigurationException {
//         EmbeddedLinuxJVMRunnerValidator.checkJavaSettings(this);
//         EmbeddedLinuxJVMRunnerValidator.checkEmbeddedSettings(getRunnerParameters());
//     }
// 
//     /**
//      * Gets runner paramters instance
//      * @return
//      */
//     public EmbeddedLinuxJVMRunConfigurationRunnerParameters getRunnerParameters() {
//         return embeddedLinuxJVMRunConfigurationRunnerParameters;
//     }
// 
//     /**
//      * Gets modules
//      *
//      * @return
//      */
//     @NotNull
//     @Override
//     public Module[] getModules() {
//         return new Module[0];
//     }
// }


// Path: test/com/atsebak/embeddedlinuxjvm/runner/EmbeddedLinuxJVMDebuggerTest.java
import com.atsebak.embeddedlinuxjvm.runner.conf.EmbeddedLinuxJVMRunConfiguration;
import com.intellij.execution.configurations.RunProfile;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
import static org.junit.Assert.*;

package com.atsebak.embeddedlinuxjvm.runner;



@RunWith(PowerMockRunner.class)
public class EmbeddedLinuxJVMDebuggerTest {
    @Test
    public void testGetRunnerId() {
        EmbeddedLinuxJVMDebugger debugger = Whitebox.newInstance(EmbeddedLinuxJVMDebugger.class);
        String runnerId = debugger.getRunnerId();
        assertEquals("RaspberryPIDebugger", runnerId);
    }


    @Test
    public void testCanRun() {
        RunProfile profile = Mockito.mock(EmbeddedLinuxJVMRunConfiguration.class);