package models.formulas;
import lombok.Getter;
import models.terms.EvaluatableTerm;
@Getter
public class EquationFormula extends Formula {
private EvaluatableTerm leftHandSide;
private EvaluatableTerm rightHandSide;
public EquationFormula(EvaluatableTerm leftTerm, EvaluatableTerm rightTerm) {
this.leftHandSide = leftTerm;
this.rightHandSide = rightTerm;
}
public EquationFormula linearRightNormalized() {
return new EquationFormula(leftHandSide.linearRightNormalize(), rightHandSide.linearRightNormalize());
}
@Override
public String toString() {
return leftHandSide.toString() + " = " + rightHandSide.toString();
}
@Override
public boolean equals(Object another) {
if (! (another instanceof EquationFormula)) {
return false;
}
EquationFormula anotherFormula = (EquationFormula) another;
return leftHandSide.equals(anotherFormula.getLeftHandSide()) && rightHandSide.equals(anotherFormula.getRightHandSide());
}
@Override
public int hashCode() {
return toString().hashCode();
}
}