package com.wesabe.servlet.normalizers.tests;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;
import com.wesabe.servlet.normalizers.PortNormalizer;
import com.wesabe.servlet.normalizers.ValidationException;
@RunWith(Enclosed.class)
public class PortNormalizerTest {
public static class Normalizing_A_Valid_Port {
private final PortNormalizer normalizer = new PortNormalizer();
@Test
public void itReturnsThePort() throws Exception {
assertThat(normalizer.normalize(30), is(30));
assertThat(normalizer.normalize(Integer.valueOf(30)), is(Integer.valueOf(30)));
}
}
public static class Normalizing_An_Invalid_Port {
private final PortNormalizer normalizer = new PortNormalizer();
@Test
public void itThrowsAValidationException() throws Exception {
try {
normalizer.normalize(139000);
} catch (ValidationException e) {
assertThat((Integer) e.getValue(), is(139000));
assertThat(e.getMessage(), is("Invalid value: 139000 (not a valid port number)"));
}
}
}
public static class Normalizing_A_Negative_Port {
private final PortNormalizer normalizer = new PortNormalizer();
@Test
public void itThrowsAValidationException() throws Exception {
try {
normalizer.normalize(-139000);
} catch (ValidationException e) {
assertThat((Integer) e.getValue(), is(-139000));
assertThat(e.getMessage(), is("Invalid value: -139000 (not a valid port number)"));
}
}
}
}