@Test
public void testAddAndRemove() throws ValidationException {
listModel.addElements(new File("."));
listModel.addElements(new File("."));
assertEquals(1, listModel.getSize());
listModel.removeElementsAt(new int[]{0});
assertEquals(0, listModel.getSize());
List<File> files = new ArrayList<>();
files.add(new File("abc"));
files.add(new File("def"));
files.add(new File("ghi"));
listModel.addElements(files.toArray());
assertEquals(3, listModel.getSize());
assertEquals(3, ((String[]) property.getValue()).length);
List<Product> products = new ArrayList<>();
products.add(new Product("abc", "meris", 10, 120));
products.add(new Product("def", "meris", 10, 120));
products.add(new Product("ghi", "meris", 10, 120));
listModel.addElements(products.toArray());
assertEquals(6, listModel.getSize());
assertEquals(3, listModel.getSourceProducts().length);
listModel.removeElementsAt(new int[]{0, 5});
assertEquals(4, listModel.getSize());
assertEquals(2, ((String[]) property.getValue()).length);
assertEquals(2, listModel.getSourceProducts().length);
}