package io.ebeaninternal.server.query; import org.jetbrains.annotations.NotNull; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class RawSqlQueryPlanKeyTest { @Test public void test_equals_same_instance() { RawSqlQueryPlanKey key = key("select foo", true, true, ""); assertThat(key).isEqualTo(key); assertThat(key.hashCode()).isEqualTo(key.hashCode()); } @Test public void test_equals_diff_instance() { assertThat(key("select foo", true, true, "")).isEqualTo(key("select foo", true, true, "")); assertThat(key("select foo", true, true, "").hashCode()).isEqualTo(key("select foo", true, true, "").hashCode()); } @Test public void test_notEquals_diff_sql() { assertThat(key("select foo", true, true, "")).isNotEqualTo(key("select bar", true, true, "")); assertThat(key("select foo", true, true, "").hashCode()).isNotEqualTo(key("select bar", true, true, "").hashCode()); } @Test public void test_notEquals_diff_rawSqlFlag() { assertThat(key("select foo", true, true, "")).isNotEqualTo(key("select foo", false, true, "")); assertThat(key("select foo", true, true, "").hashCode()).isNotEqualTo(key("select foo", false, true, "").hashCode()); } @Test public void test_notEquals_diff_rowNumberIncluded() { assertThat(key("select foo", true, true, "")).isNotEqualTo(key("select foo", true, false, "")); assertThat(key("select foo", true, true, "").hashCode()).isNotEqualTo(key("select foo", true, false, "").hashCode()); } @Test public void test_notEquals_diff_logWhereSql() { assertThat(key("select foo", true, true, "")).isNotEqualTo(key("select foo", true, true, "a")); assertThat(key("select foo", true, true, "").hashCode()).isNotEqualTo(key("select foo", true, true, "a").hashCode()); } @NotNull private RawSqlQueryPlanKey key(String sql, boolean rawSql, boolean rowNumberIncluded, String logWhereSql) { return new RawSqlQueryPlanKey(sql, rawSql, rowNumberIncluded, logWhereSql); } }