package com.mumux.androidtesting.actions.argument; import org.json.JSONException; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.skyscreamer.jsonassert.JSONAssert; public class ActionArgumentTest { private ActionArgument argumentOnOff; private ActionArgument argumentOnOffWithValue; private ActionArgument argumentDuration; private ActionArgument argumentDurationWithValue; private ActionArgument argumentString; private ActionArgument argumentStringWithValue; @Before public void setup() { argumentOnOff = new ActionArgument("status", ArgumentType.ON_OFF); argumentOnOffWithValue = new ActionArgument("status", ArgumentType.ON_OFF); argumentDuration = new ActionArgument("duration", ArgumentType.INTEGER); argumentDurationWithValue = new ActionArgument("duration", ArgumentType.INTEGER); argumentString = new ActionArgument("description", ArgumentType.STRING); argumentStringWithValue = new ActionArgument("description", ArgumentType.STRING); argumentOnOffWithValue.setValue(true); argumentDurationWithValue.setValue(1000); argumentStringWithValue.setValue("Click"); } @Test public void testTestToJson() throws JSONException { JSONAssert.assertEquals("{\"name\":\"status\",\"type\":\"ON_OFF\"}", argumentOnOff.toJson().toString(), false); JSONAssert.assertEquals("{\"name\":\"status\",\"value\":true,\"type\":\"ON_OFF\"}", argumentOnOffWithValue.toJson().toString(), false); JSONAssert.assertEquals("{\"name\":\"duration\",\"type\":\"INTEGER\"}", argumentDuration.toJson().toString(), false); JSONAssert.assertEquals("{\"name\":\"duration\",\"value\":1000,\"type\":\"INTEGER\"}", argumentDurationWithValue.toJson().toString(), false); JSONAssert.assertEquals("{\"name\":\"description\",\"type\":\"STRING\"}", argumentString.toJson().toString(), false); JSONAssert.assertEquals("{\"name\":\"description\",\"value\":\"Click\",\"type\":\"STRING\"}", argumentStringWithValue.toJson().toString(), false); } @Test public void testStringValue() { Assert.assertNull(argumentOnOff.getStringValue()); Assert.assertEquals("on", argumentOnOffWithValue.getStringValue()); Assert.assertNull(argumentDuration.getStringValue()); Assert.assertEquals("1000", argumentDurationWithValue.getStringValue()); Assert.assertNull(argumentString.getStringValue()); Assert.assertEquals("Click", argumentStringWithValue.getStringValue()); } @Test public void testParseValue() { argumentOnOff.parseValue("on"); Assert.assertEquals("on", argumentOnOff.getStringValue()); argumentDuration.parseValue("1000"); Assert.assertEquals("1000", argumentDuration.getStringValue()); argumentString.parseValue("Click"); Assert.assertEquals("Click", argumentString.getStringValue()); } }