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