From 3ac71733c748080bcb13fd50effdae623843e80c Mon Sep 17 00:00:00 2001 From: Remi Date: Thu, 20 Jun 2019 11:05:10 +0200 Subject: [PATCH] update binary operation condition --- src/kernel/operation/BinaryOperation.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/kernel/operation/BinaryOperation.java b/src/kernel/operation/BinaryOperation.java index 6181112..c7cd7c4 100644 --- a/src/kernel/operation/BinaryOperation.java +++ b/src/kernel/operation/BinaryOperation.java @@ -42,16 +42,10 @@ abstract public class BinaryOperation implements Formula, Serializable { @Override public boolean createCycle(Cell cell) { - if (this.leftCell.containFormula() && !this.rightCell.containFormula()) - return this.leftCell.getFormula().createCycle(cell); + if (this.createCycleWith(this.leftCell, cell) || this.createCycleWith(this.rightCell, cell)) + return true; - if (!this.leftCell.containFormula() && this.rightCell.containFormula()) - return this.rightCell.getFormula().createCycle(cell); - - if (this.leftCell.containFormula() && this.rightCell.containFormula()) - return this.leftCell.getFormula().createCycle(cell) && this.rightCell.getFormula().createCycle(cell); - - return (cell.getId().equals(this.rightCell.getId()) || cell.getId().equals(this.leftCell.getId())); + return this.rightCell.equals(cell) || this.leftCell.equals(cell); } @Override @@ -62,4 +56,8 @@ abstract public class BinaryOperation implements Formula, Serializable { return cells; } + + private boolean createCycleWith(Cell cell, Cell current) { + return cell.containFormula() && cell.getFormula().createCycle(current); + } } -- libgit2 0.21.2