From 28531fe66123aaa338b056daa7537b691586836a Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Thu, 16 Apr 2009 22:19:07 +0000 Subject: [PATCH] tests --- .../engine/model/AbstractModelTests.java | 56 ++++++++++++++++--- 1 file changed, 47 insertions(+), 9 deletions(-) diff --git a/spring-webflow/src/test/java/org/springframework/webflow/engine/model/AbstractModelTests.java b/spring-webflow/src/test/java/org/springframework/webflow/engine/model/AbstractModelTests.java index 74985aeb..b046829b 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/engine/model/AbstractModelTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/engine/model/AbstractModelTests.java @@ -53,21 +53,58 @@ public class AbstractModelTests extends TestCase { } public void testMergeModel() { - AttributeModel child = new AttributeModel("foo", "bar"); - AttributeModel parent = new AttributeModel("foo", "baz"); - + AttributeModel parent = new AttributeModel("foo", "bar"); + AttributeModel child = new AttributeModel("foo", null); + FlowModel model = new FlowModel(); + model.merge(child, parent); + assertEquals("bar", child.getValue()); } - public void testListMerge() { - AbstractModel obj = new PersistenceContextModel(); + public void testMergeParentCreateCopy() { + AttributeModel parent = new AttributeModel("foo", "bar"); + AttributeModel child = null; + FlowModel model = new FlowModel(); + child = (AttributeModel) model.merge(child, parent); + assertEquals("bar", child.getValue()); + assertNotSame(parent, child); + } + + public void testListMergeAddAtEndFalse() { LinkedList child = new LinkedList(); child.add(new SecuredModel("1")); + child.add(new SecuredModel("3")); LinkedList parent = new LinkedList(); parent.add(new SecuredModel("2")); - LinkedList result = obj.merge(child, parent); - assertEquals(2, result.size()); + SecuredModel match = new SecuredModel("3"); + match.setMatch("foo"); + parent.add(match); + AbstractModel obj = new PersistenceContextModel(); + LinkedList result = obj.merge(child, parent, false); + assertEquals(3, result.size()); + assertEquals("2", ((SecuredModel) result.get(0)).getAttributes()); + assertEquals("1", ((SecuredModel) result.get(1)).getAttributes()); + assertEquals("3", ((SecuredModel) result.get(2)).getAttributes()); + assertNotSame(parent.get(0), result.get(1)); + assertEquals("foo", ((SecuredModel) result.get(2)).getMatch()); + } + + public void testListMergeAddAtEndTrue() { + LinkedList child = new LinkedList(); + child.add(new SecuredModel("1")); + child.add(new SecuredModel("3")); + LinkedList parent = new LinkedList(); + parent.add(new SecuredModel("2")); + SecuredModel match = new SecuredModel("3"); + match.setMatch("foo"); + parent.add(match); + AbstractModel obj = new PersistenceContextModel(); + LinkedList result = obj.merge(child, parent, true); + assertEquals(3, result.size()); assertEquals("1", ((SecuredModel) result.get(0)).getAttributes()); - assertEquals("2", ((SecuredModel) result.get(1)).getAttributes()); + assertEquals("3", ((SecuredModel) result.get(1)).getAttributes()); + assertEquals("2", ((SecuredModel) result.get(2)).getAttributes()); + assertNotSame(parent.get(0), result.get(1)); + assertEquals("foo", ((SecuredModel) result.get(1)).getMatch()); } public void testListMergeNullParent() { @@ -81,13 +118,14 @@ public class AbstractModelTests extends TestCase { } public void testListMergeNullChild() { - AbstractModel obj = new PersistenceContextModel(); LinkedList child = null; LinkedList parent = new LinkedList(); parent.add(new SecuredModel("2")); + AbstractModel obj = new PersistenceContextModel(); LinkedList result = obj.merge(child, parent); assertEquals(1, result.size()); assertEquals("2", ((SecuredModel) result.get(0)).getAttributes()); + assertNotSame(parent.get(0), result.get(0)); } public void testListMergeNulls() {