@Test public void testDataValidation() { SBook book = SBooks.createBook("book1"); SSheet sheet1 = initialDataGrid(book.createSheet("Sheet1")); sheet1.getCell(0, 0).setValue(1D); sheet1.getCell(0, 1).setValue(2D); sheet1.getCell(0, 2).setValue(3D); SDataValidation dv1 = sheet1.addDataValidation(new CellRegion(1, 1)); SDataValidation dv2 = sheet1.addDataValidation(new CellRegion(1, 2)); SDataValidation dv3 = sheet1.addDataValidation(new CellRegion(1, 3)); // LIST dv1.setValidationType(ValidationType.LIST); dv1.setFormula("A1:C1"); Assert.assertEquals(3, dv1.getNumOfValue1()); Assert.assertEquals(0, dv1.getNumOfValue2()); Assert.assertEquals(1D, dv1.getValue1(0)); Assert.assertEquals(2D, dv1.getValue1(1)); Assert.assertEquals(3D, dv1.getValue1(2)); dv2.setValidationType(ValidationType.INTEGER); dv2.setFormula("A1", "C1"); Assert.assertEquals(1, dv2.getNumOfValue1()); Assert.assertEquals(1, dv2.getNumOfValue2()); Assert.assertEquals(1D, dv2.getValue1(0)); Assert.assertEquals(3D, dv2.getValue2(0)); dv3.setValidationType(ValidationType.INTEGER); dv3.setFormula("AVERAGE(A1:C1)", "SUM(A1:C1)"); Assert.assertEquals(1, dv3.getNumOfValue1()); Assert.assertEquals(1, dv3.getNumOfValue2()); Assert.assertEquals(2D, dv3.getValue1(0)); Assert.assertEquals(6D, dv3.getValue2(0)); SRanges.range(sheet1, 0, 0).setEditText("2"); SRanges.range(sheet1, 0, 1).setEditText("4"); SRanges.range(sheet1, 0, 2).setEditText("6"); Assert.assertEquals(3, dv1.getNumOfValue1()); Assert.assertEquals(0, dv1.getNumOfValue2()); Assert.assertEquals(2D, dv1.getValue1(0)); Assert.assertEquals(4D, dv1.getValue1(1)); Assert.assertEquals(6D, dv1.getValue1(2)); Assert.assertEquals(1, dv2.getNumOfValue1()); Assert.assertEquals(1, dv2.getNumOfValue2()); Assert.assertEquals(2D, dv2.getValue1(0)); Assert.assertEquals(6D, dv2.getValue2(0)); Assert.assertEquals(1, dv3.getNumOfValue1()); Assert.assertEquals(1, dv3.getNumOfValue2()); Assert.assertEquals(4D, dv3.getValue1(0)); Assert.assertEquals(12D, dv3.getValue2(0)); DependencyTable table = ((AbstractBookSeriesAdv) book.getBookSeries()).getDependencyTable(); Set<Ref> refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 0))); Assert.assertEquals(3, refs.size()); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 1))); Assert.assertEquals(2, refs.size()); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 2))); Assert.assertEquals(3, refs.size()); sheet1.deleteDataValidation(dv1); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 0))); Assert.assertEquals(2, refs.size()); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 1))); Assert.assertEquals(1, refs.size()); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 2))); Assert.assertEquals(2, refs.size()); sheet1.deleteDataValidation(dv2); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 0))); Assert.assertEquals(1, refs.size()); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 1))); Assert.assertEquals(1, refs.size()); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 2))); Assert.assertEquals(1, refs.size()); sheet1.deleteDataValidation(dv3); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 0))); Assert.assertEquals(0, refs.size()); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 1))); Assert.assertEquals(0, refs.size()); refs = table.getDependents(new RefImpl((AbstractCellAdv) sheet1.getCell(0, 2))); Assert.assertEquals(0, refs.size()); }