package dbfit.environment;
import static dbfit.environment.SqlServerTypeNameNormaliser.normaliseTypeName;
import org.junit.Test;
import static org.junit.Assert.assertThat;
import static org.hamcrest.Matchers.*;
public class SqlServerTypeNameNormaliserTest {
@Test
public void canParseCleanParameter() {
assertThat(normaliseTypeName("INT"), is("INT"));
}
@Test
public void convertsToUpperCase() {
assertThat(normaliseTypeName("int"), is("INT"));
}
@Test
public void trimsWhitespace() {
assertThat(normaliseTypeName(" int "), is("INT"));
}
@Test
public void spacesAreDelimiters() {
assertThat(normaliseTypeName("INT Whatever"), is("INT"));
}
@Test
public void parenthesesAreDelimiters() {
assertThat(normaliseTypeName("INT(WHATEVER"), is("INT"));
}
@Test
public void firstDelimiterWins() {
assertThat(normaliseTypeName(" INT (WHATEVER"), is("INT"));
assertThat(normaliseTypeName(" INT WHAT(EVER"), is("INT"));
assertThat(normaliseTypeName(" INT WHAT ( EVER"), is("INT"));
}
@Test
public void returnsBlankWhenBeginsWithDelimiters() {
assertThat(normaliseTypeName(" ( INT"), is(""));
assertThat(normaliseTypeName("( INT"), is(""));
}
@Test(expected = Exception.class)
public void failsOnNull() {
assertThat(normaliseTypeName(null), is("SHOULDN'T GET TO HERE"));
}
}