package kernel.test; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.List; import kernel.Cell; import kernel.function.Sum; import kernel.operation.Addition; public class Test { @org.junit.Test public void CreateCellValueTest() { Cell A1= new Cell("A",1,25.); assertEquals(A1.getValue(),25.,0); assertEquals(A1.containFormula(),false); assertEquals(A1.getUsedIn().size(),0); assertEquals(A1.getId(),"A1"); } @org.junit.Test public void CreateCellBinaryOperationTest() { Cell A1= new Cell("A",1,25.); Cell A2= new Cell("A",2,35.); Cell A3= new Cell("A",3,new Addition(A1,A2)); assertEquals(A3.getValue(),60.,0); assertEquals(A3.containFormula(),true); assertEquals(A3.getUsedIn().size(),0); assertEquals(A3.getId(),"A3"); assertEquals(A3.toString(),"A1 + A2"); assertEquals(A1.getUsedIn().size(),1); assertEquals(A2.getUsedIn().size(),1); } @org.junit.Test public void CreateCellFunctionTest() { Cell A1= new Cell("A",1,25.); Cell A2= new Cell("A",2,35.); Cell A3= new Cell("A",3,new Addition(A1,A2)); Cell A5= new Cell("A",5,45.); List sumList = new ArrayList<>(); sumList.add(A1); sumList.add(A2); sumList.add(A3); sumList.add(A5); Cell A4= new Cell("A",4,new Sum(sumList)); assertEquals(A4.getValue(),165.,0); assertEquals(A4.containFormula(),true); assertEquals(A4.getUsedIn().size(),0); assertEquals(A4.toString(),"SOMME(A1,A2,A3,A5)"); assertEquals(A4.getDevelopedFormula(),"SOMME(A1,A2,A1 + A2,A5)"); assertEquals(A1.getUsedIn().size(),2); assertEquals(A2.getUsedIn().size(),2); assertEquals(A3.getUsedIn().size(),1); assertEquals(A5.getUsedIn().size(),1); } @org.junit.Test public void ModifyCellValueTest() { Cell A1= new Cell("A",1,25.); Cell A2= new Cell("A",2,35.); Cell A3= new Cell("A",3,new Addition(A1,A2)); assertEquals(A1.getValue(),25.,0); assertEquals(A2.getValue(),35.,0); assertEquals(A3.getValue(),60.,0); A1.setValue(45.); assertEquals(A1.getValue(),45.,0); assertEquals(A3.getValue(),80.,0); } @org.junit.Test public void ModifyCellFormulaTest() { Cell A1= new Cell("A",1,25.); Cell A2= new Cell("A",2,35.); Cell A3= new Cell("A",3,new Addition(A1,A2)); Cell A5= new Cell("A",5,45.); List sumList = new ArrayList<>(); sumList.add(A1); sumList.add(A2); sumList.add(A3); sumList.add(A5); Cell A4= new Cell("A",4,new Sum(sumList)); assertEquals(A4.getValue(),165.,0); assertEquals(A4.containFormula(),true); assertEquals(A4.getUsedIn().size(),0); assertEquals(A1.containFormula(),false); A1.setFormula(new Addition(A2,A5)); assertEquals(A1.containFormula(),true); assertEquals(A1.getValue(),80.,0); assertEquals(A3.getValue(),115.,0); assertEquals(A4.getValue(),275.,0); assertEquals(A1.getUsedIn().size(),2); assertEquals(A2.getUsedIn().size(),2); assertEquals(A3.getUsedIn().size(),1); assertEquals(A5.getUsedIn().size(),1); assertEquals(A1.toString(),"A2 + A5"); assertEquals(A4.getDevelopedFormula(),"SOMME(A2 + A5,A2,A1 + A2,A5)"); assertEquals(A1.getUsedIn().size(),2); assertEquals(A2.getUsedIn().size(),3); assertEquals(A3.getUsedIn().size(),1); assertEquals(A5.getUsedIn().size(),2); } }