@Test public void testExternalPropertyValueChange() throws ValidationException { assertEquals(0, listModel.getSize()); final String[] values = {"h", "i"}; property.setValue(values); assertEquals(2, listModel.getSize()); assertEquals("h", ((File)listModel.getElementAt(0)).getPath()); assertEquals("i", ((File)listModel.getElementAt(1)).getPath()); } }
@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); }
@Test public void testSetPropertyEmptyDoesNotDeleteSourceProducts() throws ValidationException { final Product product = new Product("name", "type", 1, 1); listModel.addElements(product); assertEquals(1, listModel.getSize()); final String[] elements1 = {"a", "b", "c"}; listModel.setPaths(elements1); assertEquals(4, listModel.getSize()); final String[] values1 = property.getValue(); assertArrayEquals(elements1, values1); property.setValue(null); assertEquals(1, listModel.getSize()); assertSame(product, listModel.getElementAt(0)); }
@Test public void testClear() throws Exception { listModel.addElements(new File("abc")); listModel.addElements(new File("def")); listModel.addElements(new Product("def", "producttype", 10, 10)); listModel.addElements(new Product("dummy", "producttype", 10, 10)); assertEquals(4, listModel.getSize()); listModel.clear(); assertEquals(0, listModel.getSize()); assertEquals(0, listModel.getSourceProducts().length); assertEquals(0, ((String[]) property.getValue()).length); }
@Test public void testSetElements() throws ValidationException { final String[] elements1 = {"a", "b", "c"}; listModel.setPaths(elements1); assertEquals(3, listModel.getSize()); final String[] values1 = property.getValue(); assertArrayEquals(elements1, values1); final String[] elements2 = {"f", "s", "g", "k"}; listModel.setPaths(elements2); assertEquals(4, listModel.getSize()); final String[] values2 = property.getValue(); assertArrayEquals(elements2, values2); }