// Path: driver/src/com/leandog/brazenhead/commands/Command.java
// public enum Target {
//     LastResultOrRobotium, Robotium, Brazenhead,
// }


import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.*;
import java.util.ArrayList;
import org.junit.*;
import org.mockito.*;
import com.leandog.brazenhead.*;
import com.leandog.brazenhead.commands.Command.Target;
import com.robotium.solo.Solo;
        verify(solo).clickLongOnScreen(1.0f, 2.0f);
    }

    @Test
    public void itCanInvokeMethodsTakingAString() throws Exception {
        commandRunner.execute(new Command("clickLongOnText", "someText"));
        verify(solo).clickLongOnText("someText");
    }
    
    @Test
    public void itCanChainMethodCallsFromTheLastResult() throws Exception {
        commandRunner.execute(new Command("getClass"), new Command("getName"));
        assertThat(commandRunner.theLastResult(), equalTo((Object)solo.getClass().getName()));
    }

    @Test
    public void itCanInvokeMethodsTakingABoolean() throws Exception {
        commandRunner.execute(new Command("clickOnText", "someText", 123, true));
        verify(solo).clickOnText("someText", 123, true);
    }
    
    @Test
    public void itClearsTheLastResultBeforeExecutingAgain() throws Exception {
        commandRunner.execute(new Command("clickInList", 0));
        commandRunner.execute(new Command("clickInList", 0));
        verify(solo, times(2)).clickInList(0);
    }
    
    @Test
    public void itCanDesignateTheRobotiumTarget() throws Exception {
// Path: driver/src/com/leandog/brazenhead/commands/Command.java
// public enum Target {
//     LastResultOrRobotium, Robotium, Brazenhead,
// }


// Path: units/src/com/leandog/brazenhead/commands/CommandRunnerTest.java
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.*;
import java.util.ArrayList;
import org.junit.*;
import org.mockito.*;
import com.leandog.brazenhead.*;
import com.leandog.brazenhead.commands.Command.Target;
import com.robotium.solo.Solo;

        verify(solo).clickLongOnScreen(1.0f, 2.0f);
    }

    @Test
    public void itCanInvokeMethodsTakingAString() throws Exception {
        commandRunner.execute(new Command("clickLongOnText", "someText"));
        verify(solo).clickLongOnText("someText");
    }
    
    @Test
    public void itCanChainMethodCallsFromTheLastResult() throws Exception {
        commandRunner.execute(new Command("getClass"), new Command("getName"));
        assertThat(commandRunner.theLastResult(), equalTo((Object)solo.getClass().getName()));
    }

    @Test
    public void itCanInvokeMethodsTakingABoolean() throws Exception {
        commandRunner.execute(new Command("clickOnText", "someText", 123, true));
        verify(solo).clickOnText("someText", 123, true);
    }
    
    @Test
    public void itClearsTheLastResultBeforeExecutingAgain() throws Exception {
        commandRunner.execute(new Command("clickInList", 0));
        commandRunner.execute(new Command("clickInList", 0));
        verify(solo, times(2)).clickInList(0);
    }
    
    @Test
    public void itCanDesignateTheRobotiumTarget() throws Exception {
        commandRunner.execute(new Command("clickInList", Target.Robotium, 0), new Command("clickInList", Target.Robotium, 0));