package io.ebeaninternal.server.expression; import io.ebean.Expression; import org.junit.Test; import static io.ebean.Expr.eq; import static org.assertj.core.api.StrictAssertions.assertThat; public class NotExpressionTest { NotExpression not(Expression expression) { return new NotExpression(expression); } @Test public void isSameByPlan_when_same() { assertThat(not(eq("a", 10)) .isSameByPlan(not(eq("a", 10)))).isTrue(); } @Test public void isSameByPlan_when_sameByPlan() { assertThat(not(eq("a", 10)) .isSameByPlan(not(eq("a", 20)))).isTrue(); } @Test public void isSameByPlan_when_different() { assertThat(not(eq("a", 10)) .isSameByPlan(not(eq("b", 10)))).isFalse(); } @Test public void isSameByPlan_when_differentExpressionType() { assertThat(not(eq("a", 10)) .isSameByPlan(new NoopExpression())).isFalse(); } @Test public void isSameByBind_when_same() { assertThat(not(eq("a", 10)) .isSameByBind(not(eq("b", 10)))).isTrue(); } @Test public void isSameByBind_when_different() { assertThat(not(eq("a", 10)) .isSameByBind(not(eq("a", 20)))).isFalse(); } }