package nl.uva.softwcons.ql.util; import static org.assertj.core.api.Assertions.assertThat; import nl.uva.softwcons.ql.util.Utils; import org.junit.Test; public class UtilsTest { @Test public void testUnquoteWithUnquotedString() { String notQuoted = "South Park"; assertThat(Utils.unquote(notQuoted)).isEqualTo(notQuoted); } @Test public void testUnquoteWithPartiallyDoubleQuotedString() { String partiallyQuoted = "South Park\""; String partiallyQuoted2 = "\"Family Guy"; assertThat(Utils.unquote(partiallyQuoted)).isEqualTo(partiallyQuoted); assertThat(Utils.unquote(partiallyQuoted2)).isEqualTo(partiallyQuoted2); } @Test public void testUnquoteWithPartiallySingleQuotedString() { String partiallyQuoted = "Star Wars'"; String partiallyQuoted2 = "'Star Trek"; assertThat(Utils.unquote(partiallyQuoted)).isEqualTo(partiallyQuoted); assertThat(Utils.unquote(partiallyQuoted2)).isEqualTo(partiallyQuoted2); } @Test public void testUnquoteWithSingleQuotedString() { String quoted = "'Star Wars'"; assertThat(Utils.unquote(quoted)).isEqualTo("Star Wars"); } @Test public void testUnquoteWithDoubleQuotedString() { String quoted = "\"Star Wars\""; assertThat(Utils.unquote(quoted)).isEqualTo("Star Wars"); } @Test public void remotesOnlyFirstPairOfQuotes() { String tooQuoted = "\"\"Star Wars\"\""; String tooQuoted2 = "''Star Wars''"; assertThat(Utils.unquote(tooQuoted)).isEqualTo("\"Star Wars\""); assertThat(Utils.unquote(tooQuoted2)).isEqualTo("'Star Wars'"); } @Test(expected = NullPointerException.class) public void unquoteRaisesExceptionWhenStringIsNull() { Utils.unquote(null); } }