Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/ListAspectAdapterTests.java')
-rw-r--r--jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/ListAspectAdapterTests.java470
1 files changed, 0 insertions, 470 deletions
diff --git a/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/ListAspectAdapterTests.java b/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/ListAspectAdapterTests.java
deleted file mode 100644
index 53a5615ed8..0000000000
--- a/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/ListAspectAdapterTests.java
+++ /dev/null
@@ -1,470 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0, which accompanies this distribution
- * and is available at http://www.eclipse.org/legal/epl-v10.html.
- *
- * Contributors:
- * Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.utility.tests.internal.model.value;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.ReadOnlyListIterator;
-import org.eclipse.jpt.utility.internal.model.AbstractModel;
-import org.eclipse.jpt.utility.internal.model.event.ListChangeEvent;
-import org.eclipse.jpt.utility.internal.model.listener.ListChangeListener;
-import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.PropertyValueModel;
-import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.utility.internal.model.value.ValueModel;
-import org.eclipse.jpt.utility.tests.internal.TestTools;
-
-import junit.framework.TestCase;
-
-public class ListAspectAdapterTests extends TestCase {
- private TestSubject subject1;
- private PropertyValueModel subjectHolder1;
- private ListAspectAdapter aa1;
- private ListChangeEvent event1;
- private ListChangeListener listener1;
-
- private TestSubject subject2;
-
- public ListAspectAdapterTests(String name) {
- super(name);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- this.subject1 = new TestSubject();
- this.subject1.addNames(this.subject1Names());
- this.subject1.addDescriptions(this.subject1Descriptions());
- this.subjectHolder1 = new SimplePropertyValueModel(this.subject1);
- this.aa1 = this.buildAspectAdapter(this.subjectHolder1);
- this.listener1 = this.buildValueChangeListener1();
- this.aa1.addListChangeListener(ValueModel.VALUE, this.listener1);
- this.event1 = null;
-
- this.subject2 = new TestSubject();
- this.subject2.addNames(this.subject2Names());
- this.subject2.addDescriptions(this.subject2Descriptions());
- }
-
- private List subject1Names() {
- List result = new ArrayList();
- result.add("foo");
- result.add("bar");
- result.add("baz");
- result.add("bam");
- return result;
- }
-
- private List subject1Descriptions() {
- List result = new ArrayList();
- result.add("this.subject1 description1");
- result.add("this.subject1 description2");
- return result;
- }
-
- private List subject2Names() {
- List result = new ArrayList();
- result.add("joo");
- result.add("jar");
- result.add("jaz");
- result.add("jam");
- return result;
- }
-
- private List subject2Descriptions() {
- List result = new ArrayList();
- result.add("this.subject2 description1");
- result.add("this.subject2 description2");
- return result;
- }
-
- private ListAspectAdapter buildAspectAdapter(ValueModel subjectHolder) {
- return new ListAspectAdapter(subjectHolder, TestSubject.NAMES_LIST) {
- // this is not a typical aspect adapter - the value is determined by the aspect name
- protected ListIterator getValueFromSubject() {
- if (this.listName == TestSubject.NAMES_LIST) {
- return ((TestSubject) this.subject).names();
- } else if (this.listName == TestSubject.DESCRIPTIONS_LIST) {
- return ((TestSubject) this.subject).descriptions();
- } else {
- throw new IllegalStateException("invalid aspect name: " + this.listName);
- }
- }
- public void addItem(int index, Object item) {
- if (this.listName == TestSubject.NAMES_LIST) {
- ((TestSubject) this.subject).addName(index, (String) item);
- } else if (this.listName == TestSubject.DESCRIPTIONS_LIST) {
- ((TestSubject) this.subject).addDescription(index, (String) item);
- } else {
- throw new IllegalStateException("invalid aspect name: " + this.listName);
- }
- }
- public Object removeItem(int index) {
- if (this.listName == TestSubject.NAMES_LIST) {
- return ((TestSubject) this.subject).removeName(index);
- } else if (this.listName == TestSubject.DESCRIPTIONS_LIST) {
- return ((TestSubject) this.subject).removeDescription(index);
- } else {
- throw new IllegalStateException("invalid aspect name: " + this.listName);
- }
- }
- public Object replaceItem(int index, Object item) {
- if (this.listName == TestSubject.NAMES_LIST) {
- return ((TestSubject) this.subject).setName(index, (String) item);
- } else if (this.listName == TestSubject.DESCRIPTIONS_LIST) {
- return ((TestSubject) this.subject).setDescription(index, (String) item);
- } else {
- throw new IllegalStateException("invalid aspect name: " + this.listName);
- }
- }
- };
- }
-
- private ListChangeListener buildValueChangeListener1() {
- return new ListChangeListener() {
- public void itemsAdded(ListChangeEvent e) {
- ListAspectAdapterTests.this.value1Changed(e);
- }
- public void itemsRemoved(ListChangeEvent e) {
- ListAspectAdapterTests.this.value1Changed(e);
- }
- public void itemsReplaced(ListChangeEvent e) {
- ListAspectAdapterTests.this.value1Changed(e);
- }
- public void itemsMoved(ListChangeEvent e) {
- ListAspectAdapterTests.this.value1Changed(e);
- }
- public void listCleared(ListChangeEvent e) {
- ListAspectAdapterTests.this.value1Changed(e);
- }
- public void listChanged(ListChangeEvent e) {
- ListAspectAdapterTests.this.value1Changed(e);
- }
- };
- }
-
- void value1Changed(ListChangeEvent e) {
- this.event1 = e;
- }
-
- @Override
- protected void tearDown() throws Exception {
- TestTools.clear(this);
- super.tearDown();
- }
-
- public void testSubjectHolder() {
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- assertNull(this.event1);
-
- this.subjectHolder1.setValue(this.subject2);
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(-1, this.event1.index());
- assertFalse(this.event1.items().hasNext());
- assertEquals(this.subject2Names(), CollectionTools.list((ListIterator) this.aa1.value()));
-
- this.event1 = null;
- this.subjectHolder1.setValue(null);
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(-1, this.event1.index());
- assertFalse(this.event1.items().hasNext());
- assertFalse(((Iterator) this.aa1.value()).hasNext());
-
- this.event1 = null;
- this.subjectHolder1.setValue(this.subject1);
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(-1, this.event1.index());
- assertFalse(this.event1.items().hasNext());
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- }
-
- public void testAddItem() {
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- assertNull(this.event1);
-
- this.subject1.addName("jam");
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(this.subject1Names().size(), this.event1.index());
- assertEquals("jam", this.event1.items().next());
- List namesPlus = this.subject1Names();
- namesPlus.add("jam");
- assertEquals(namesPlus, CollectionTools.list((ListIterator) this.aa1.value()));
-
- this.event1 = null;
- this.aa1.addItem(2, "jaz");
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(2, this.event1.index());
- assertEquals("jaz", this.event1.items().next());
- namesPlus.add(2, "jaz");
- assertEquals(namesPlus, CollectionTools.list((ListIterator) this.aa1.value()));
- }
-
- public void testDefaultAddItems() {
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- assertNull(this.event1);
-
- List items = new ArrayList();
- items.add("joo");
- items.add("jar");
- items.add("jaz");
- items.add("jam");
-
- this.event1 = null;
- this.aa1.addItems(2, items);
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(5, this.event1.index()); // only the last "add" event will still be there
- assertEquals("jam", this.event1.items().next());
- List namesPlus = this.subject1Names();
- namesPlus.addAll(2, items);
- assertEquals(namesPlus, CollectionTools.list((ListIterator) this.aa1.value()));
- }
-
- public void testRemoveItem() {
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- assertNull(this.event1);
-
- String removedName = this.subject1.removeName(0); // should be "foo"
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(0, this.event1.index());
- assertEquals(removedName, this.event1.items().next());
- List namesMinus = this.subject1Names();
- namesMinus.remove(0);
- assertEquals(namesMinus, CollectionTools.list((ListIterator) this.aa1.value()));
-
- this.event1 = null;
- Object removedItem = this.aa1.removeItem(0);
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(0, this.event1.index());
- assertEquals(removedItem, this.event1.items().next());
- namesMinus.remove(0);
- assertEquals(namesMinus, CollectionTools.list((ListIterator) this.aa1.value()));
- }
-
- public void testDefaultRemoveItems() {
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- assertNull(this.event1);
-
- List items = new ArrayList();
- items.add("bar");
- items.add("baz");
-
- this.event1 = null;
- this.aa1.removeItems(1, 2);
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(1, this.event1.index()); // only the last "remove" event will still be there
- assertEquals("baz", this.event1.items().next());
- List namesPlus = this.subject1Names();
- namesPlus.remove(1);
- namesPlus.remove(1);
- assertEquals(namesPlus, CollectionTools.list((ListIterator) this.aa1.value()));
- }
-
- public void testReplaceItem() {
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- assertNull(this.event1);
-
- String replacedName = this.subject1.setName(0, "jelly"); // should be "foo"
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(0, this.event1.index());
- assertEquals("jelly", this.event1.items().next());
- assertEquals(replacedName, this.event1.replacedItems().next());
- List namesChanged = this.subject1Names();
- namesChanged.set(0, "jelly");
- assertEquals(namesChanged, CollectionTools.list((ListIterator) this.aa1.value()));
-
- this.event1 = null;
- replacedName = this.subject1.setName(1, "roll"); // should be "bar"
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(1, this.event1.index());
- assertEquals("roll", this.event1.items().next());
- assertEquals(replacedName, this.event1.replacedItems().next());
- namesChanged = this.subject1Names();
- namesChanged.set(0, "jelly");
- namesChanged.set(1, "roll");
- assertEquals(namesChanged, CollectionTools.list((ListIterator) this.aa1.value()));
- }
-
- public void testDefaultReplaceItems() {
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- assertNull(this.event1);
-
- List items = new ArrayList();
- items.add("jar");
- items.add("jaz");
-
- this.event1 = null;
- this.aa1.replaceItems(1, items);
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(2, this.event1.index()); // only the last "replace" event will still be there
- assertEquals("baz", this.event1.replacedItems().next());
- assertEquals("jaz", this.event1.items().next());
- List namesPlus = this.subject1Names();
- namesPlus.set(1, items.get(0));
- namesPlus.set(2, items.get(1));
- assertEquals(namesPlus, CollectionTools.list((ListIterator) this.aa1.value()));
- }
-
- public void testListChange() {
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- assertNull(this.event1);
-
- this.subject1.addTwoNames("jam", "jaz");
- assertNotNull(this.event1);
- assertEquals(this.aa1, this.event1.getSource());
- assertEquals(ValueModel.VALUE, this.event1.listName());
- assertEquals(-1, this.event1.index());
- assertFalse(this.event1.items().hasNext());
- List namesPlus2 = this.subject1Names();
- namesPlus2.add(0, "jaz");
- namesPlus2.add(0, "jam");
- assertEquals(namesPlus2, CollectionTools.list((ListIterator) this.aa1.value()));
- }
-
- public void testValue() {
- assertEquals(this.subject1Names(), CollectionTools.list(this.subject1.names()));
- assertEquals(this.subject1Names(), CollectionTools.list((ListIterator) this.aa1.value()));
- }
-
- public void testGetItem() {
- assertEquals(this.subject1Names().get(0), this.subject1.getName(0));
- assertEquals(this.subject1Names().get(0), this.aa1.getItem(0));
- }
-
- public void testSize() {
- assertEquals(this.subject1Names().size(), CollectionTools.size(this.subject1.names()));
- assertEquals(this.subject1Names().size(), CollectionTools.size((ListIterator) this.aa1.value()));
- }
-
- public void testHasListeners() {
- assertTrue(this.aa1.hasAnyListChangeListeners(ValueModel.VALUE));
- assertTrue(this.subject1.hasAnyListChangeListeners(TestSubject.NAMES_LIST));
- this.aa1.removeListChangeListener(ValueModel.VALUE, this.listener1);
- assertFalse(this.subject1.hasAnyListChangeListeners(TestSubject.NAMES_LIST));
- assertFalse(this.aa1.hasAnyListChangeListeners(ValueModel.VALUE));
-
- ListChangeListener listener2 = this.buildValueChangeListener1();
- this.aa1.addListChangeListener(listener2);
- assertTrue(this.aa1.hasAnyListChangeListeners(ValueModel.VALUE));
- assertTrue(this.subject1.hasAnyListChangeListeners(TestSubject.NAMES_LIST));
- this.aa1.removeListChangeListener(listener2);
- assertFalse(this.subject1.hasAnyListChangeListeners(TestSubject.NAMES_LIST));
- assertFalse(this.aa1.hasAnyListChangeListeners(ValueModel.VALUE));
- }
-
-// ********** inner class **********
-
-private class TestSubject extends AbstractModel {
- private List names;
- public static final String NAMES_LIST = "names";
- private List descriptions;
- public static final String DESCRIPTIONS_LIST = "descriptions";
-
- public TestSubject() {
- this.names = new ArrayList();
- this.descriptions = new ArrayList();
- }
- public ListIterator names() {
- return new ReadOnlyListIterator(this.names);
- }
- public String getName(int index) {
- return (String) this.names.get(index);
- }
- public void addName(int index, String name) {
- this.names.add(index, name);
- this.fireItemAdded(NAMES_LIST, index, name);
- }
- public void addName(String name) {
- this.addName(this.names.size(), name);
- }
- public void addNames(ListIterator newNames) {
- while (newNames.hasNext()) {
- this.addName((String) newNames.next());
- }
- }
- public void addNames(List newNames) {
- this.addNames(newNames.listIterator());
- }
- public void addTwoNames(String name1, String name2) {
- this.names.add(0, name2);
- this.names.add(0, name1);
- this.fireListChanged(NAMES_LIST);
- }
- public String removeName(int index) {
- String removedName = (String) this.names.remove(index);
- this.fireItemRemoved(NAMES_LIST, index, removedName);
- return removedName;
- }
- public String setName(int index, String name) {
- String replacedName = (String) this.names.set(index, name);
- this.fireItemReplaced(NAMES_LIST, index, name, replacedName);
- return replacedName;
- }
- public ListIterator descriptions() {
- return new ReadOnlyListIterator(this.descriptions);
- }
- public String getDescription(int index) {
- return (String) this.descriptions.get(index);
- }
- public void addDescription(int index, String description) {
- this.descriptions.add(index, description);
- this.fireItemAdded(DESCRIPTIONS_LIST, index, description);
- }
- public void addDescription(String description) {
- this.addDescription(this.descriptions.size(), description);
- }
- public void addDescriptions(ListIterator newDescriptions) {
- while (newDescriptions.hasNext()) {
- this.addDescription((String) newDescriptions.next());
- }
- }
- public void addDescriptions(List newDescriptions) {
- this.addDescriptions(newDescriptions.listIterator());
- }
- public String removeDescription(int index) {
- String removedDescription = (String) this.descriptions.remove(index);
- this.fireItemRemoved(DESCRIPTIONS_LIST, index, removedDescription);
- return removedDescription;
- }
- public String setDescription(int index, String description) {
- String replacedDescription = (String) this.descriptions.set(index, description);
- this.fireItemReplaced(DESCRIPTIONS_LIST, index, description, replacedDescription);
- return replacedDescription;
- }
-}
-
-}

Back to the top