### Question:
Cell { int interact(Cell c, CellPool pool, Cell[][] cellMatrix) { if (this.candy.getType().equals(Type.REWARD_FRUIT) || c.candy.getType() .equals(Type.REWARD_FRUIT)) { return 0; } else { if (this.candy.name.equals(c.candy.name)) { var pointsWon = this.candy.getPoints() + c.candy.getPoints(); handleCrush(c, pool, cellMatrix); return pointsWon; } else { return 0; } } } Cell(Candy candy, int positionX, int positionY);   Cell();   }### Answer:
@Test void interactTest() { var c1 = new Candy("green jelly", "jelly", Type.CRUSHABLE_CANDY, 5); var c2 = new Candy("green apple", "apple", Type.REWARD_FRUIT, 10); var matrix = new Cell[4][4]; matrix[0][0] = new Cell(c1, 0, 0); matrix[0][1] = new Cell(c1, 1, 0); matrix[0][2] = new Cell(c2, 2, 0); matrix[0][3] = new Cell(c1, 3, 0); var cp = new CellPool(5); var points1 = matrix[0][0].interact(matrix[0][1], cp, matrix); var points2 = matrix[0][2].interact(matrix[0][3], cp, matrix); assertTrue(points1 > 0 && points2 == 0); }