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


import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertThat;
import java.lang.reflect.Field;
import java.util.*;
import org.junit.*;
import com.google.brazenhead.gson.*;
import com.leandog.brazenhead.commands.*;
import com.leandog.brazenhead.commands.Command.Target;
    }

    @Test
    public void itCanGetABooleanArgument() {
        Command actualCommand = deserialize("{arguments: [true]}");
        assertThat(actualCommand.getArguments(), is(new Object[] { true }));
    }

    @Test
    public void itCanGetAFloatArgument() {
        Command actualCommand = deserialize("{arguments: [3.0]}");
        assertThat(actualCommand.getArguments(), is(new Object[] { 3.0f }));
    }

    @Test
    public void itCanGetADoubleArgument() {
        Double maxDouble = Double.MAX_VALUE;
        Command actualCommand = deserialize("{arguments: [" + maxDouble.toString() + "]}");
        assertThat(actualCommand.getArguments(), is(new Object[] { maxDouble }));
    }

    @Test
    public void itCanGetAStringArgument() {
        Command actualCommand = deserialize("{arguments: [\"some string\"]}");
        assertThat(actualCommand.getArguments(), is(new Object[] { "some string" }));
    }
    
    @Test
    public void itCanParseOutTheDesiredTarget() {
        Command actualCommand = deserialize("{target: 'Robotium'}");
// Path: driver/src/com/leandog/brazenhead/commands/Command.java
// public enum Target {
//     LastResultOrRobotium, Robotium, Brazenhead,
// }


// Path: units/src/com/leandog/brazenhead/json/CommandDeserializerTest.java
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertThat;
import java.lang.reflect.Field;
import java.util.*;
import org.junit.*;
import com.google.brazenhead.gson.*;
import com.leandog.brazenhead.commands.*;
import com.leandog.brazenhead.commands.Command.Target;

    }

    @Test
    public void itCanGetABooleanArgument() {
        Command actualCommand = deserialize("{arguments: [true]}");
        assertThat(actualCommand.getArguments(), is(new Object[] { true }));
    }

    @Test
    public void itCanGetAFloatArgument() {
        Command actualCommand = deserialize("{arguments: [3.0]}");
        assertThat(actualCommand.getArguments(), is(new Object[] { 3.0f }));
    }

    @Test
    public void itCanGetADoubleArgument() {
        Double maxDouble = Double.MAX_VALUE;
        Command actualCommand = deserialize("{arguments: [" + maxDouble.toString() + "]}");
        assertThat(actualCommand.getArguments(), is(new Object[] { maxDouble }));
    }

    @Test
    public void itCanGetAStringArgument() {
        Command actualCommand = deserialize("{arguments: [\"some string\"]}");
        assertThat(actualCommand.getArguments(), is(new Object[] { "some string" }));
    }
    
    @Test
    public void itCanParseOutTheDesiredTarget() {
        Command actualCommand = deserialize("{target: 'Robotium'}");
        assertThat(actualCommand.getTarget(), is(Target.Robotium));