package org.quaere.expressions;
import org.junit.Test;
import junit.framework.Assert;
public abstract class ExpressionTest {
abstract Expression createInstance();
@Test
public void expressionBecomesLeftHandSideExpressionWhenApplyingAndOperator() {
Expression subject = createInstance();
BinaryExpression logicalAnd = subject.and(new UnimplementExpression());
Assert.assertSame(subject, logicalAnd.leftExpression);
}
@Test
public void expresionBecomesLeftHandSideExpressionWhenApplyingOrOperator() {
Expression subject = createInstance();
BinaryExpression logicalOr = subject.or(new UnimplementExpression());
Assert.assertSame(subject, logicalOr.leftExpression);
}
}