package com.alibaba.druid.bvt.sql;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.druid.sql.ast.expr.SQLCaseExpr;
import com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser;
public class EqualTest_case extends TestCase {
public void test_exits() throws Exception {
String sql = "case x when 1 then 0 else 2 end";
String sql_c = "case x when 2 then 0 else 2 end";
SQLCaseExpr exprA, exprB, exprC;
{
OracleExprParser parser = new OracleExprParser(sql);
exprA = (SQLCaseExpr) parser.expr();
}
{
OracleExprParser parser = new OracleExprParser(sql);
exprB = (SQLCaseExpr) parser.expr();
}
{
OracleExprParser parser = new OracleExprParser(sql_c);
exprC = (SQLCaseExpr) parser.expr();
}
Assert.assertEquals(exprA, exprB);
Assert.assertNotEquals(exprA, exprC);
Assert.assertTrue(exprA.equals(exprA));
Assert.assertFalse(exprA.equals(new Object()));
Assert.assertEquals(exprA.hashCode(), exprB.hashCode());
Assert.assertEquals(new SQLCaseExpr(), new SQLCaseExpr());
Assert.assertEquals(new SQLCaseExpr().hashCode(), new SQLCaseExpr().hashCode());
}
}