package test.com.xceptance.xlt.common.util.action.data;
import java.util.ArrayList;
import java.util.List;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.xceptance.xlt.api.data.GeneralDataProvider;
import com.xceptance.xlt.api.util.XltProperties;
import com.xceptance.xlt.common.util.action.data.URLActionDataValidation;
import com.xceptance.xlt.common.util.bsh.ParameterInterpreter;
public class URLActionDataValidationTest
{
ParameterInterpreter interpreter;
private XltProperties properties;
private GeneralDataProvider dataProvider;
List<String> selectionModes;
List<String> validationModes;
List<URLActionDataValidation> validations;
@Before
public void setup()
{
properties = XltProperties.getInstance();
dataProvider = GeneralDataProvider.getInstance();
interpreter = new ParameterInterpreter(properties, dataProvider);
selectionModes = new ArrayList<String>();
validationModes = new ArrayList<String>();
selectionModes.addAll(URLActionDataValidation.PERMITTEDSELECTIONMODE);
validationModes.addAll(URLActionDataValidation.PERMITTEDVALIDATIONMODE);
}
@Test
public void constructorTest()
{
for (final String selectionMode : selectionModes)
{
for (final String validationMode : validationModes)
{
final URLActionDataValidation validation = new URLActionDataValidation("name", selectionMode, "content", validationMode,
"content", interpreter);
Assert.assertEquals(validation.getName(), "name");
Assert.assertEquals(validation.getSelectionMode(), selectionMode);
Assert.assertEquals(validation.getSelectionContent(), "content");
Assert.assertEquals(validation.getValidationMode(), validationMode);
Assert.assertEquals(validation.getValidationContent(), "content");
}
}
}
@Test(expected = IllegalArgumentException.class)
public void illegalSetupName()
{
@SuppressWarnings(
{
"unused"
})
final URLActionDataValidation validation = new URLActionDataValidation(null, null, null, null, null, null);
}
@Test(expected = IllegalArgumentException.class)
public void illegalSetupSelectionMode()
{
@SuppressWarnings(
{
"unused"
})
final URLActionDataValidation validation = new URLActionDataValidation("name", null, "something", URLActionDataValidation.EXISTS,
null, interpreter);
}
@Test(expected = IllegalArgumentException.class)
public void illegalSetupValidationMode()
{
@SuppressWarnings(
{
"unused"
})
final URLActionDataValidation validation = new URLActionDataValidation("name", URLActionDataValidation.XPATH, "something", null,
null, interpreter);
}
@Test(expected = IllegalArgumentException.class)
public void illegalInterpreter()
{
@SuppressWarnings(
{
"unused"
})
final URLActionDataValidation validation = new URLActionDataValidation("name", URLActionDataValidation.XPATH, "something",
URLActionDataValidation.MATCHES, null, null);
}
@Test(expected = IllegalArgumentException.class)
public void illegalSelectionMode()
{
final URLActionDataValidation validation = new URLActionDataValidation("name", "x", "something", URLActionDataValidation.MATCHES,
null, interpreter);
@SuppressWarnings("unused")
final String selectionMode = validation.getSelectionMode();
}
@Test(expected = IllegalArgumentException.class)
public void illegalValidationMode()
{
final URLActionDataValidation validation = new URLActionDataValidation("name", URLActionDataValidation.XPATH, "something", "x",
null, interpreter);
@SuppressWarnings("unused")
final String validationMode = validation.getValidationMode();
}
}