From e968734dfa87136d7a488156789edf77cac1d7f6 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Thu, 8 Dec 2011 13:04:33 +0000 Subject: #6603 Added IllegalArgumentException to javadoc and added test svn changeset:22320/svn branch:6.7 --- .../com/vaadin/data/util/BeanContainerTest.java | 34 +++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'tests/server-side/com/vaadin') diff --git a/tests/server-side/com/vaadin/data/util/BeanContainerTest.java b/tests/server-side/com/vaadin/data/util/BeanContainerTest.java index 5a753e19d0..d9fa8d896e 100644 --- a/tests/server-side/com/vaadin/data/util/BeanContainerTest.java +++ b/tests/server-side/com/vaadin/data/util/BeanContainerTest.java @@ -1,7 +1,9 @@ package com.vaadin.data.util; +import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -10,7 +12,6 @@ import junit.framework.Assert; import com.vaadin.data.Container; import com.vaadin.data.Item; import com.vaadin.data.util.AbstractBeanContainer.BeanIdResolver; -import com.vaadin.data.util.BeanContainer; public class BeanContainerTest extends AbstractBeanContainerTest { @@ -324,6 +325,37 @@ public class BeanContainerTest extends AbstractBeanContainerTest { assertEquals(0, container.size()); } + public void testAddAllWithNullItemId() { + BeanContainer container = new BeanContainer( + Person.class); + // resolver that returns null as item id + container + .setBeanIdResolver(new BeanIdResolver() { + + public String getIdForBean(Person bean) { + return bean.getName(); + } + }); + + List persons = new ArrayList(); + persons.add(new Person("John")); + persons.add(new Person("Marc")); + persons.add(new Person(null)); + persons.add(new Person("foo")); + + try { + container.addAll(persons); + fail(); + } catch (IllegalArgumentException e) { + // should get exception + } + + container.removeAllItems(); + persons.remove(2); + container.addAll(persons); + assertEquals(3, container.size()); + } + public void testAddBeanWithNullResolver() { BeanContainer container = new BeanContainer( Person.class); -- cgit v1.2.3