Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java')
-rw-r--r--org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java1668
1 files changed, 834 insertions, 834 deletions
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java
index 572a92ea2..cb4da5b01 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java
@@ -60,891 +60,891 @@ import org.junit.Assert;
*/
public class TestModel implements IElementContentProvider, IElementLabelProvider, IModelProxyFactory2 , IElementMementoProvider, IModelSelectionPolicyFactory {
- public static class TestElement extends PlatformObject {
- private final TestModel fModel;
- private final String fID;
- TestElement[] fChildren;
- String fLabelAppendix = ""; //$NON-NLS-1$
- boolean fExpanded;
- boolean fChecked;
- boolean fGrayed;
-
- public TestElement(TestModel model, String text, TestElement[] children) {
- this (model, text, false, false, children);
- }
-
- public TestElement(TestModel model, String text, boolean checked, boolean grayed, TestElement[] children) {
- fModel = model;
- fID = text;
- fChildren = children;
- fChecked = checked;
- fGrayed = grayed;
- }
-
- public TestModel getModel() {
- return fModel;
- }
+ public static class TestElement extends PlatformObject {
+ private final TestModel fModel;
+ private final String fID;
+ TestElement[] fChildren;
+ String fLabelAppendix = ""; //$NON-NLS-1$
+ boolean fExpanded;
+ boolean fChecked;
+ boolean fGrayed;
+
+ public TestElement(TestModel model, String text, TestElement[] children) {
+ this (model, text, false, false, children);
+ }
+
+ public TestElement(TestModel model, String text, boolean checked, boolean grayed, TestElement[] children) {
+ fModel = model;
+ fID = text;
+ fChildren = children;
+ fChecked = checked;
+ fGrayed = grayed;
+ }
+
+ public TestModel getModel() {
+ return fModel;
+ }
@SuppressWarnings("unchecked")
@Override
public <T> T getAdapter(Class<T> adapter) {
- if (adapter.isInstance(fModel)) {
+ if (adapter.isInstance(fModel)) {
return (T) fModel;
- }
- return null;
- }
+ }
+ return null;
+ }
- public String getID() {
- return fID;
- }
+ public String getID() {
+ return fID;
+ }
- public void setLabelAppendix(String appendix) {
- fLabelAppendix = appendix;
- }
+ public void setLabelAppendix(String appendix) {
+ fLabelAppendix = appendix;
+ }
- public String getLabel() {
- return fID + fLabelAppendix;
- }
+ public String getLabel() {
+ return fID + fLabelAppendix;
+ }
- public TestElement[] getChildren() {
- return fChildren;
- }
+ public TestElement[] getChildren() {
+ return fChildren;
+ }
- public boolean isExpanded() {
- return fExpanded;
- }
+ public boolean isExpanded() {
+ return fExpanded;
+ }
- public boolean getGrayed() {
- return fGrayed;
- }
+ public boolean getGrayed() {
+ return fGrayed;
+ }
- public boolean getChecked() {
- return fChecked;
- }
+ public boolean getChecked() {
+ return fChecked;
+ }
- public void setChecked(boolean checked, boolean grayed) {
- fChecked = checked;
- fGrayed = grayed;
- }
+ public void setChecked(boolean checked, boolean grayed) {
+ fChecked = checked;
+ fGrayed = grayed;
+ }
- @Override
+ @Override
public boolean equals(Object obj) {
- return obj instanceof TestElement && fID.equals(((TestElement)obj).fID);
- }
+ return obj instanceof TestElement && fID.equals(((TestElement)obj).fID);
+ }
- @Override
+ @Override
public int hashCode() {
- return fID.hashCode();
- }
+ return fID.hashCode();
+ }
- @Override
+ @Override
public String toString() {
- return getLabel();
- }
+ return getLabel();
+ }
- public int indexOf(TestElement child) {
- return Arrays.asList(fChildren).indexOf(child);
- }
- }
+ public int indexOf(TestElement child) {
+ return Arrays.asList(fChildren).indexOf(child);
+ }
+ }
- private class ModelProxy extends AbstractModelProxy {
- @Override
+ private class ModelProxy extends AbstractModelProxy {
+ @Override
public void installed(Viewer viewer) {
- super.installed(viewer);
- ModelDelta rootDelta = TestModel.this.getBaseDelta(new ModelDelta(fInput, IModelDelta.NO_CHANGE));
- installSubModelProxies(fRootPath, rootDelta);
- fireModelChanged(rootDelta);
- }
-
- private void installSubModelProxies(TreePath path, ModelDelta delta) {
- TestElement element = getElement(path);
- if (element.fModel != TestModel.this) {
- // Found an element from a different model. Install its proxy and return.
- delta.setFlags(delta.getFlags() | IModelDelta.INSTALL);
- } else {
- TestElement[] children = element.getChildren();
-
- for (int i = 0; i < children.length; i++) {
- installSubModelProxies(path.createChildPath(children[i]), delta.addNode(children[i], IModelDelta.NO_CHANGE));
- }
- }
- }
- }
-
- private TestElement fRoot;
- private Object fInput = null;
- private TreePath fRootPath = TreePath.EMPTY;
- private ModelProxy fModelProxy;
- private IModelSelectionPolicy fModelSelectionPolicy;
- private boolean fQueueingUpdates = false;
- private boolean fDelayUpdates = false;
+ super.installed(viewer);
+ ModelDelta rootDelta = TestModel.this.getBaseDelta(new ModelDelta(fInput, IModelDelta.NO_CHANGE));
+ installSubModelProxies(fRootPath, rootDelta);
+ fireModelChanged(rootDelta);
+ }
+
+ private void installSubModelProxies(TreePath path, ModelDelta delta) {
+ TestElement element = getElement(path);
+ if (element.fModel != TestModel.this) {
+ // Found an element from a different model. Install its proxy and return.
+ delta.setFlags(delta.getFlags() | IModelDelta.INSTALL);
+ } else {
+ TestElement[] children = element.getChildren();
+
+ for (int i = 0; i < children.length; i++) {
+ installSubModelProxies(path.createChildPath(children[i]), delta.addNode(children[i], IModelDelta.NO_CHANGE));
+ }
+ }
+ }
+ }
+
+ private TestElement fRoot;
+ private Object fInput = null;
+ private TreePath fRootPath = TreePath.EMPTY;
+ private ModelProxy fModelProxy;
+ private IModelSelectionPolicy fModelSelectionPolicy;
+ private boolean fQueueingUpdates = false;
+ private boolean fDelayUpdates = false;
private List<IViewerUpdate> fQueuedUpdates = new LinkedList<>();
- /**
- * Constructor private. Use static factory methods instead.
- */
- public TestModel() {}
+ /**
+ * Constructor private. Use static factory methods instead.
+ */
+ public TestModel() {}
- public TestElement getRootElement() {
- return fRoot;
- }
+ public TestElement getRootElement() {
+ return fRoot;
+ }
- public void setSelectionPolicy(IModelSelectionPolicy modelSelectionPolicy) {
- fModelSelectionPolicy = modelSelectionPolicy;
- }
+ public void setSelectionPolicy(IModelSelectionPolicy modelSelectionPolicy) {
+ fModelSelectionPolicy = modelSelectionPolicy;
+ }
- @Override
+ @Override
public IModelSelectionPolicy createModelSelectionPolicyAdapter(Object element, IPresentationContext context) {
- return fModelSelectionPolicy;
- }
-
- public ModelDelta getBaseDelta(ModelDelta rootDelta) {
- ModelDelta delta = rootDelta;
- for (int i = 0; i < fRootPath.getSegmentCount(); i++) {
- ModelDelta subDelta = delta.getChildDelta(fRootPath.getSegment(i));
- if (subDelta == null) {
- subDelta = delta.addNode(fRootPath.getSegment(i), IModelDelta.NO_CHANGE);
- }
- delta = subDelta;
- }
- delta.setChildCount(getRootElement().getChildren().length);
- return delta;
- }
-
- public int getModelDepth() {
- return getDepth(getRootElement(), 0);
- }
-
- private int getDepth(TestElement element, int atDepth) {
- TestElement[] children = element.getChildren();
- if (children.length == 0) {
- return atDepth;
- }
- int depth = atDepth + 1;
- for (int i = 0; i < children.length; i++) {
- depth = Math.max(depth, getDepth(children[i], atDepth + 1));
- }
-
- return depth;
- }
-
- public void setQeueueingUpdate(boolean queueingUpdates) {
- fQueueingUpdates = queueingUpdates;
- if (!fQueueingUpdates) {
- processQueuedUpdates();
- }
- }
-
- public void setDelayUpdates(boolean delayUpdates) {
- fDelayUpdates = delayUpdates;
- }
+ return fModelSelectionPolicy;
+ }
+
+ public ModelDelta getBaseDelta(ModelDelta rootDelta) {
+ ModelDelta delta = rootDelta;
+ for (int i = 0; i < fRootPath.getSegmentCount(); i++) {
+ ModelDelta subDelta = delta.getChildDelta(fRootPath.getSegment(i));
+ if (subDelta == null) {
+ subDelta = delta.addNode(fRootPath.getSegment(i), IModelDelta.NO_CHANGE);
+ }
+ delta = subDelta;
+ }
+ delta.setChildCount(getRootElement().getChildren().length);
+ return delta;
+ }
+
+ public int getModelDepth() {
+ return getDepth(getRootElement(), 0);
+ }
+
+ private int getDepth(TestElement element, int atDepth) {
+ TestElement[] children = element.getChildren();
+ if (children.length == 0) {
+ return atDepth;
+ }
+ int depth = atDepth + 1;
+ for (int i = 0; i < children.length; i++) {
+ depth = Math.max(depth, getDepth(children[i], atDepth + 1));
+ }
+
+ return depth;
+ }
+
+ public void setQeueueingUpdate(boolean queueingUpdates) {
+ fQueueingUpdates = queueingUpdates;
+ if (!fQueueingUpdates) {
+ processQueuedUpdates();
+ }
+ }
+
+ public void setDelayUpdates(boolean delayUpdates) {
+ fDelayUpdates = delayUpdates;
+ }
public List<IViewerUpdate> getQueuedUpdates() {
- return fQueuedUpdates;
- }
+ return fQueuedUpdates;
+ }
- public void processQueuedUpdates() {
+ public void processQueuedUpdates() {
List<IViewerUpdate> updates = new ArrayList<>(fQueuedUpdates);
- fQueuedUpdates.clear();
- for (int i = 0; i < updates.size(); i++) {
- processUpdate(updates.get(i));
- }
- }
-
- public void processUpdate(IViewerUpdate update) {
- if (update instanceof IHasChildrenUpdate) {
- doHasChildrenUpdate((IHasChildrenUpdate)update);
- } else if (update instanceof IChildrenCountUpdate) {
- doChildrenCountUpdate((IChildrenCountUpdate)update);
- } else if (update instanceof IChildrenUpdate) {
- doChildrenUpdate((IChildrenUpdate)update);
- } else if (update instanceof ILabelUpdate) {
- doLabelUpdate((ILabelUpdate)update);
- } else if (update instanceof IElementCompareRequest) {
- doCompareElements((IElementCompareRequest)update);
- } else if (update instanceof IElementMementoRequest) {
- doEncodeElements((IElementMementoRequest)update);
- }
- }
-
- private void processUpdates(IViewerUpdate[] updates) {
- for (int i = 0; i < updates.length; i++) {
- processUpdate(updates[i]);
- }
- }
-
- private void doUpdate(final IViewerUpdate[] updates) {
- if (fQueueingUpdates) {
- fQueuedUpdates.addAll(Arrays.asList(updates));
- } else if (fDelayUpdates) {
+ fQueuedUpdates.clear();
+ for (int i = 0; i < updates.size(); i++) {
+ processUpdate(updates.get(i));
+ }
+ }
+
+ public void processUpdate(IViewerUpdate update) {
+ if (update instanceof IHasChildrenUpdate) {
+ doHasChildrenUpdate((IHasChildrenUpdate)update);
+ } else if (update instanceof IChildrenCountUpdate) {
+ doChildrenCountUpdate((IChildrenCountUpdate)update);
+ } else if (update instanceof IChildrenUpdate) {
+ doChildrenUpdate((IChildrenUpdate)update);
+ } else if (update instanceof ILabelUpdate) {
+ doLabelUpdate((ILabelUpdate)update);
+ } else if (update instanceof IElementCompareRequest) {
+ doCompareElements((IElementCompareRequest)update);
+ } else if (update instanceof IElementMementoRequest) {
+ doEncodeElements((IElementMementoRequest)update);
+ }
+ }
+
+ private void processUpdates(IViewerUpdate[] updates) {
+ for (int i = 0; i < updates.length; i++) {
+ processUpdate(updates[i]);
+ }
+ }
+
+ private void doUpdate(final IViewerUpdate[] updates) {
+ if (fQueueingUpdates) {
+ fQueuedUpdates.addAll(Arrays.asList(updates));
+ } else if (fDelayUpdates) {
Display.getDefault().asyncExec(() -> processUpdates(updates));
- } else {
+ } else {
processUpdates(updates);
- }
- }
+ }
+ }
- @Override
+ @Override
public void update(IHasChildrenUpdate[] updates) {
- doUpdate(updates);
- }
+ doUpdate(updates);
+ }
- private void doHasChildrenUpdate(IHasChildrenUpdate update) {
- TestElement element = (TestElement)update.getElement();
- update.setHasChilren(element.getChildren().length > 0);
- update.done();
- }
+ private void doHasChildrenUpdate(IHasChildrenUpdate update) {
+ TestElement element = (TestElement)update.getElement();
+ update.setHasChilren(element.getChildren().length > 0);
+ update.done();
+ }
- @Override
+ @Override
public void update(IChildrenCountUpdate[] updates) {
- doUpdate(updates);
- }
+ doUpdate(updates);
+ }
- private void doChildrenCountUpdate(IChildrenCountUpdate update) {
- TestElement element = (TestElement)update.getElement();
- update.setChildCount(element.getChildren().length);
- update.done();
- }
+ private void doChildrenCountUpdate(IChildrenCountUpdate update) {
+ TestElement element = (TestElement)update.getElement();
+ update.setChildCount(element.getChildren().length);
+ update.done();
+ }
- @Override
+ @Override
public void update(IChildrenUpdate[] updates) {
- doUpdate(updates);
- }
-
- private void doChildrenUpdate(IChildrenUpdate update) {
- TestElement element = (TestElement)update.getElement();
- int endOffset = update.getOffset() + update.getLength();
- for (int j = update.getOffset(); j < endOffset; j++) {
- if (j < element.getChildren().length) {
- update.setChild(element.getChildren()[j], j);
- }
- }
- update.done();
- }
-
- @Override
+ doUpdate(updates);
+ }
+
+ private void doChildrenUpdate(IChildrenUpdate update) {
+ TestElement element = (TestElement)update.getElement();
+ int endOffset = update.getOffset() + update.getLength();
+ for (int j = update.getOffset(); j < endOffset; j++) {
+ if (j < element.getChildren().length) {
+ update.setChild(element.getChildren()[j], j);
+ }
+ }
+ update.done();
+ }
+
+ @Override
public void update(ILabelUpdate[] updates) {
- doUpdate(updates);
- }
-
- private void doLabelUpdate(ILabelUpdate update) {
- TestElement element = (TestElement)update.getElement();
- update.setLabel(element.getLabel(), 0);
- if (update instanceof ICheckUpdate &&
- Boolean.TRUE.equals(update.getPresentationContext().getProperty(ICheckUpdate.PROP_CHECK)))
- {
- ((ICheckUpdate)update).setChecked(element.getChecked(), element.getGrayed());
- }
- update.done();
- }
-
- public final static String ELEMENT_MEMENTO_ID = "id"; //$NON-NLS-1$
-
- @Override
+ doUpdate(updates);
+ }
+
+ private void doLabelUpdate(ILabelUpdate update) {
+ TestElement element = (TestElement)update.getElement();
+ update.setLabel(element.getLabel(), 0);
+ if (update instanceof ICheckUpdate &&
+ Boolean.TRUE.equals(update.getPresentationContext().getProperty(ICheckUpdate.PROP_CHECK)))
+ {
+ ((ICheckUpdate)update).setChecked(element.getChecked(), element.getGrayed());
+ }
+ update.done();
+ }
+
+ public final static String ELEMENT_MEMENTO_ID = "id"; //$NON-NLS-1$
+
+ @Override
public void compareElements(final IElementCompareRequest[] updates) {
- doUpdate(updates);
- }
+ doUpdate(updates);
+ }
- private void doCompareElements(IElementCompareRequest update) {
- String elementID = ((TestElement)update.getElement()).getID();
- String mementoID = update.getMemento().getString(ELEMENT_MEMENTO_ID);
- update.setEqual( elementID.equals(mementoID) );
- update.done();
- }
+ private void doCompareElements(IElementCompareRequest update) {
+ String elementID = ((TestElement)update.getElement()).getID();
+ String mementoID = update.getMemento().getString(ELEMENT_MEMENTO_ID);
+ update.setEqual( elementID.equals(mementoID) );
+ update.done();
+ }
- @Override
+ @Override
public void encodeElements(IElementMementoRequest[] updates) {
- doUpdate(updates);
- }
-
- private void doEncodeElements(IElementMementoRequest update) {
- String elementID = ((TestElement)update.getElement()).getID();
- update.getMemento().putString(ELEMENT_MEMENTO_ID, elementID);
- update.done();
- }
-
- /**
- * @param context the context
- * @param viewerInput the input
- * @param path the path
- * @param checked the checked state
- */
- public void elementChecked(IPresentationContext context, Object viewerInput, TreePath path, boolean checked) {
- TestElement element = getElement(path);
- Assert.assertFalse(element.getGrayed());
- element.setChecked(checked, false);
- }
-
- @Override
+ doUpdate(updates);
+ }
+
+ private void doEncodeElements(IElementMementoRequest update) {
+ String elementID = ((TestElement)update.getElement()).getID();
+ update.getMemento().putString(ELEMENT_MEMENTO_ID, elementID);
+ update.done();
+ }
+
+ /**
+ * @param context the context
+ * @param viewerInput the input
+ * @param path the path
+ * @param checked the checked state
+ */
+ public void elementChecked(IPresentationContext context, Object viewerInput, TreePath path, boolean checked) {
+ TestElement element = getElement(path);
+ Assert.assertFalse(element.getGrayed());
+ element.setChecked(checked, false);
+ }
+
+ @Override
public IModelProxy createTreeModelProxy(Object input, TreePath path, IPresentationContext context) {
- fModelProxy = new ModelProxy();
- fInput = input;
- fRootPath = path;
- return fModelProxy;
- }
-
- public IModelProxy getModelProxy() {
- return fModelProxy;
- }
-
- public TestElement getElement(TreePath path) {
- if (path.getSegmentCount() == 0) {
- return getRootElement();
- } else {
- return (TestElement)path.getLastSegment();
- }
- }
-
- public void setAllExpanded() {
- doSetExpanded(fRoot);
- }
-
- private void doSetExpanded(TestElement element) {
- element.fExpanded = true;
- for (int i = 0; i < element.fChildren.length; i++) {
- doSetExpanded(element.fChildren[i]);
- }
- }
-
- public void setAllAppendix(String appendix) {
- doSetAllAppendix(fRoot, appendix);
- }
-
- private void doSetAllAppendix(TestElement element, String appendix) {
- element.setLabelAppendix(appendix);
- for (int i = 0; i < element.fChildren.length; i++) {
- doSetAllAppendix(element.fChildren[i], appendix);
- }
- }
-
- public void validateData(ITreeModelViewer viewer, TreePath path) {
- validateData(viewer, path, false);
- }
-
- public void validateData(ITreeModelViewer _viewer, TreePath path, boolean expandedElementsOnly) {
- validateData(_viewer, path, expandedElementsOnly, TestModelUpdatesListener.EMPTY_FILTER_ARRAY);
- }
-
- public void validateData(ITreeModelViewer _viewer, TreePath path, boolean expandedElementsOnly, ViewerFilter[] filters) {
- IInternalTreeModelViewer viewer = (IInternalTreeModelViewer)_viewer;
- TestElement element = getElement(path);
- if ( Boolean.TRUE.equals(_viewer.getPresentationContext().getProperty(ICheckUpdate.PROP_CHECK)) ) {
- Assert.assertTrue(element.getChecked() == viewer.getElementChecked(path));
- Assert.assertTrue(element.getGrayed() == viewer.getElementGrayed(path));
- }
-
- if (!expandedElementsOnly || path.getSegmentCount() == 0 || viewer.getExpandedState(path) ) {
- TestElement[] children = element.getChildren();
-
- int viewerIndex = 0;
- for (int i = 0; i < children.length; i++) {
- if (TestModelUpdatesListener.isFiltered(children[i], filters)) {
- continue;
- }
- Assert.assertEquals(children[i], viewer.getChildElement(path, viewerIndex));
- validateData(viewer, path.createChildPath(children[i]), expandedElementsOnly, filters);
- viewerIndex++;
- }
- Assert.assertEquals(viewerIndex, viewer.getChildCount(path));
- } else if (!viewer.getExpandedState(path)) {
- // If element not expanded, verify the plus sign.
- Assert.assertTrue(viewer.getHasChildren(path) == element.getChildren().length > 0);
- }
- }
-
- public void setRoot(TestElement root) {
- fRoot = root;
- }
-
- public void postDelta(IModelDelta delta) {
- fModelProxy.fireModelChanged(delta);
- }
-
- /** Create or retrieve delta for given path
- * @param combine if then new deltas for the given path are created. If false existing ones are reused.
- */
- public ModelDelta getElementDelta(ModelDelta baseDelta, TreePath path, boolean combine) {
- TestElement element = getRootElement();
- ModelDelta delta = baseDelta;
-
- for (int i = 0; i < path.getSegmentCount(); i++) {
- TestElement[] children = element.getChildren();
- delta.setChildCount(children.length);
- Object segment = path.getSegment(i);
- int j;
- for (j = 0; j < children.length; j++) {
- if (segment.equals(children[j])) {
- element = children[j];
- ModelDelta nextDelta = null;
- if (combine) {
- nextDelta = delta.getChildDelta(element);
- }
- if (nextDelta == null) {
- nextDelta = delta.addNode(element, j, IModelDelta.NO_CHANGE, element.getChildren().length);
- }
- delta = nextDelta;
- break;
- }
- }
- if (j == children.length) {
- throw new IllegalArgumentException("Invalid path"); //$NON-NLS-1$
- }
- }
- return delta;
-
- }
-
- private TreePath getRelativePath(TreePath path) {
- Object[] segments = new Object[path.getSegmentCount() - fRootPath.getSegmentCount()];
- for (int i = fRootPath.getSegmentCount(), _i = 0; i < path.getSegmentCount(); i++, _i++) {
- segments[_i] = path.getSegment(i);
- }
- return new TreePath(segments);
- }
-
- public ModelDelta appendElementLabel(TreePath path, String labelAppendix) {
- org.junit.Assert.assertTrue(path.startsWith(fRootPath, null));
- ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
- ModelDelta baseDelta = getBaseDelta(rootDelta);
- TreePath relativePath = getRelativePath(path);
- TestElement element = getElement(relativePath);
- ModelDelta delta = getElementDelta(baseDelta, relativePath, false);
- element.setLabelAppendix(labelAppendix);
- delta.setFlags(delta.getFlags() | IModelDelta.STATE);
-
- return rootDelta;
- }
-
- public ModelDelta setElementChecked(TreePath path, boolean checked, boolean grayed) {
- Assert.assertTrue(path.startsWith(fRootPath, null));
- ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
- ModelDelta baseDelta = getBaseDelta(rootDelta);
- TreePath relativePath = getRelativePath(path);
- TestElement element = getElement(relativePath);
- ModelDelta delta = getElementDelta(baseDelta, relativePath, false);
- element.setChecked(checked, grayed);
- delta.setFlags(delta.getFlags() | IModelDelta.STATE);
-
- return rootDelta;
- }
-
- public ModelDelta setElementChildren(TreePath path, TestElement[] children) {
- Assert.assertTrue(path.startsWith(fRootPath, null));
- ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
- ModelDelta baseDelta = getBaseDelta(rootDelta);
- TreePath relativePath = getRelativePath(path);
-
- // Find the parent element and generate the delta node for it.
- TestElement element = getElement(relativePath);
- ModelDelta delta = getElementDelta(baseDelta, relativePath, false);
-
- // Set the new children array
- element.fChildren = children;
-
- // Add the delta flag and update the child count in the parent delta.
- delta.setFlags(delta.getFlags() | IModelDelta.CONTENT);
- delta.setChildCount(children.length);
-
- return rootDelta;
- }
-
- public ModelDelta replaceElementChild(TreePath parentPath, int index, TestElement child) {
- ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
- ModelDelta baseDelta = getBaseDelta(rootDelta);
- TreePath relativePath = getRelativePath(parentPath);
-
- TestElement element = getElement(relativePath);
- ModelDelta delta= getElementDelta(baseDelta, relativePath, false);
- TestElement oldChild = element.fChildren[index];
- element.fChildren[index] = child;
- delta.addNode(oldChild, child, IModelDelta.REPLACED);
- // TODO: set replacement index!?!
-
- return rootDelta;
- }
-
- public ModelDelta addElementChild(TreePath parentPath, ModelDelta rootDelta, int index, TestElement newChild) {
- if (rootDelta == null) {
- rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
- }
- ModelDelta baseDelta = getBaseDelta(rootDelta);
- TreePath relativePath = getRelativePath(parentPath);
-
- // Find the parent element and generate the delta node for it.
- TestElement element = getElement(relativePath);
- ModelDelta delta= getElementDelta(baseDelta, relativePath, true);
-
- // Add the new element
- element.fChildren = doInsertElementInArray(element.fChildren, index, newChild);
-
- // Add the delta flag and update the child count in the parent delta.
- delta.setChildCount(element.getChildren().length);
- delta.addNode(newChild, index, IModelDelta.ADDED);
-
- return rootDelta;
- }
-
- public ModelDelta insertElementChild(TreePath parentPath, int index, TestElement newChild) {
- return insertElementChild(null, parentPath, index, newChild);
- }
-
- public ModelDelta insertElementChild(ModelDelta rootDelta, TreePath parentPath, int index, TestElement newChild) {
- if (rootDelta == null) {
- rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
- }
- ModelDelta baseDelta = getBaseDelta(rootDelta);
- TreePath relativePath = getRelativePath(parentPath);
-
- // Find the parent element and generate the delta node for it.
- TestElement element = getElement(relativePath);
- ModelDelta delta= getElementDelta(baseDelta, relativePath, false);
-
- // Add the new element
- element.fChildren = doInsertElementInArray(element.fChildren, index, newChild);
-
- // Add the delta flag and update the child count in the parent delta.
- delta.setChildCount(element.getChildren().length);
- delta.addNode(newChild, index, IModelDelta.INSERTED);
-
- return rootDelta;
- }
-
- private TestElement[] doInsertElementInArray(TestElement[] children, int index, TestElement newChild) {
- // Create the new children array add the element to it and set it to
- // the parent.
- TestElement[] newChildren = new TestElement[children.length + 1];
- System.arraycopy(children, 0, newChildren, 0, index);
- newChildren[index] = newChild;
- System.arraycopy(children, index, newChildren, index + 1, children.length - index);
- return newChildren;
- }
-
- public ModelDelta removeElementChild(TreePath parentPath, int index) {
- ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
- ModelDelta baseDelta = getBaseDelta(rootDelta);
-
- // Find the parent element and generate the delta node for it.
- TestElement element = getElement(parentPath);
- ModelDelta delta= getElementDelta(baseDelta, parentPath, false);
-
- // Create a new child array with the element removed
- TestElement[] children = element.getChildren();
- TestElement childToRemove = children[index];
- TestElement[] newChildren = new TestElement[children.length - 1];
- System.arraycopy(children, 0, newChildren, 0, index);
- System.arraycopy(children, index + 1, newChildren, index, children.length - index - 1);
- element.fChildren = newChildren;
-
- // Add the delta flag and update the child count in the parent delta.
- delta.setChildCount(element.getChildren().length);
- delta.addNode(childToRemove, index, IModelDelta.REMOVED);
-
- return rootDelta;
- }
-
- public ModelDelta makeElementDelta(TreePath path, int flags) {
- ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
- ModelDelta baseDelta = getBaseDelta(rootDelta);
-
- // Find the element and generate the delta node for it.
- ModelDelta delta= getElementDelta(baseDelta, path, false);
-
- delta.setFlags(flags);
- return rootDelta;
- }
-
- public TreePath findElement(String label) {
- return findElement(TreePath.EMPTY, label);
- }
-
- public TreePath findElement(TreePath startPath, String label) {
- TestElement element = getElement(startPath);
- for (int i = 0; i < element.getChildren().length; i++) {
- TestElement child = element.getChildren()[i];
- TreePath path = startPath.createChildPath(child);
- if ( label.equals(child.getLabel()) ) {
- return path;
- } else {
- TreePath subPath = findElement(path, label);
- if (subPath != null) {
- return subPath;
- }
- }
- }
- return null;
- }
-
- @Override
+ fModelProxy = new ModelProxy();
+ fInput = input;
+ fRootPath = path;
+ return fModelProxy;
+ }
+
+ public IModelProxy getModelProxy() {
+ return fModelProxy;
+ }
+
+ public TestElement getElement(TreePath path) {
+ if (path.getSegmentCount() == 0) {
+ return getRootElement();
+ } else {
+ return (TestElement)path.getLastSegment();
+ }
+ }
+
+ public void setAllExpanded() {
+ doSetExpanded(fRoot);
+ }
+
+ private void doSetExpanded(TestElement element) {
+ element.fExpanded = true;
+ for (int i = 0; i < element.fChildren.length; i++) {
+ doSetExpanded(element.fChildren[i]);
+ }
+ }
+
+ public void setAllAppendix(String appendix) {
+ doSetAllAppendix(fRoot, appendix);
+ }
+
+ private void doSetAllAppendix(TestElement element, String appendix) {
+ element.setLabelAppendix(appendix);
+ for (int i = 0; i < element.fChildren.length; i++) {
+ doSetAllAppendix(element.fChildren[i], appendix);
+ }
+ }
+
+ public void validateData(ITreeModelViewer viewer, TreePath path) {
+ validateData(viewer, path, false);
+ }
+
+ public void validateData(ITreeModelViewer _viewer, TreePath path, boolean expandedElementsOnly) {
+ validateData(_viewer, path, expandedElementsOnly, TestModelUpdatesListener.EMPTY_FILTER_ARRAY);
+ }
+
+ public void validateData(ITreeModelViewer _viewer, TreePath path, boolean expandedElementsOnly, ViewerFilter[] filters) {
+ IInternalTreeModelViewer viewer = (IInternalTreeModelViewer)_viewer;
+ TestElement element = getElement(path);
+ if ( Boolean.TRUE.equals(_viewer.getPresentationContext().getProperty(ICheckUpdate.PROP_CHECK)) ) {
+ Assert.assertTrue(element.getChecked() == viewer.getElementChecked(path));
+ Assert.assertTrue(element.getGrayed() == viewer.getElementGrayed(path));
+ }
+
+ if (!expandedElementsOnly || path.getSegmentCount() == 0 || viewer.getExpandedState(path) ) {
+ TestElement[] children = element.getChildren();
+
+ int viewerIndex = 0;
+ for (int i = 0; i < children.length; i++) {
+ if (TestModelUpdatesListener.isFiltered(children[i], filters)) {
+ continue;
+ }
+ Assert.assertEquals(children[i], viewer.getChildElement(path, viewerIndex));
+ validateData(viewer, path.createChildPath(children[i]), expandedElementsOnly, filters);
+ viewerIndex++;
+ }
+ Assert.assertEquals(viewerIndex, viewer.getChildCount(path));
+ } else if (!viewer.getExpandedState(path)) {
+ // If element not expanded, verify the plus sign.
+ Assert.assertTrue(viewer.getHasChildren(path) == element.getChildren().length > 0);
+ }
+ }
+
+ public void setRoot(TestElement root) {
+ fRoot = root;
+ }
+
+ public void postDelta(IModelDelta delta) {
+ fModelProxy.fireModelChanged(delta);
+ }
+
+ /** Create or retrieve delta for given path
+ * @param combine if then new deltas for the given path are created. If false existing ones are reused.
+ */
+ public ModelDelta getElementDelta(ModelDelta baseDelta, TreePath path, boolean combine) {
+ TestElement element = getRootElement();
+ ModelDelta delta = baseDelta;
+
+ for (int i = 0; i < path.getSegmentCount(); i++) {
+ TestElement[] children = element.getChildren();
+ delta.setChildCount(children.length);
+ Object segment = path.getSegment(i);
+ int j;
+ for (j = 0; j < children.length; j++) {
+ if (segment.equals(children[j])) {
+ element = children[j];
+ ModelDelta nextDelta = null;
+ if (combine) {
+ nextDelta = delta.getChildDelta(element);
+ }
+ if (nextDelta == null) {
+ nextDelta = delta.addNode(element, j, IModelDelta.NO_CHANGE, element.getChildren().length);
+ }
+ delta = nextDelta;
+ break;
+ }
+ }
+ if (j == children.length) {
+ throw new IllegalArgumentException("Invalid path"); //$NON-NLS-1$
+ }
+ }
+ return delta;
+
+ }
+
+ private TreePath getRelativePath(TreePath path) {
+ Object[] segments = new Object[path.getSegmentCount() - fRootPath.getSegmentCount()];
+ for (int i = fRootPath.getSegmentCount(), _i = 0; i < path.getSegmentCount(); i++, _i++) {
+ segments[_i] = path.getSegment(i);
+ }
+ return new TreePath(segments);
+ }
+
+ public ModelDelta appendElementLabel(TreePath path, String labelAppendix) {
+ org.junit.Assert.assertTrue(path.startsWith(fRootPath, null));
+ ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
+ ModelDelta baseDelta = getBaseDelta(rootDelta);
+ TreePath relativePath = getRelativePath(path);
+ TestElement element = getElement(relativePath);
+ ModelDelta delta = getElementDelta(baseDelta, relativePath, false);
+ element.setLabelAppendix(labelAppendix);
+ delta.setFlags(delta.getFlags() | IModelDelta.STATE);
+
+ return rootDelta;
+ }
+
+ public ModelDelta setElementChecked(TreePath path, boolean checked, boolean grayed) {
+ Assert.assertTrue(path.startsWith(fRootPath, null));
+ ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
+ ModelDelta baseDelta = getBaseDelta(rootDelta);
+ TreePath relativePath = getRelativePath(path);
+ TestElement element = getElement(relativePath);
+ ModelDelta delta = getElementDelta(baseDelta, relativePath, false);
+ element.setChecked(checked, grayed);
+ delta.setFlags(delta.getFlags() | IModelDelta.STATE);
+
+ return rootDelta;
+ }
+
+ public ModelDelta setElementChildren(TreePath path, TestElement[] children) {
+ Assert.assertTrue(path.startsWith(fRootPath, null));
+ ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
+ ModelDelta baseDelta = getBaseDelta(rootDelta);
+ TreePath relativePath = getRelativePath(path);
+
+ // Find the parent element and generate the delta node for it.
+ TestElement element = getElement(relativePath);
+ ModelDelta delta = getElementDelta(baseDelta, relativePath, false);
+
+ // Set the new children array
+ element.fChildren = children;
+
+ // Add the delta flag and update the child count in the parent delta.
+ delta.setFlags(delta.getFlags() | IModelDelta.CONTENT);
+ delta.setChildCount(children.length);
+
+ return rootDelta;
+ }
+
+ public ModelDelta replaceElementChild(TreePath parentPath, int index, TestElement child) {
+ ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
+ ModelDelta baseDelta = getBaseDelta(rootDelta);
+ TreePath relativePath = getRelativePath(parentPath);
+
+ TestElement element = getElement(relativePath);
+ ModelDelta delta= getElementDelta(baseDelta, relativePath, false);
+ TestElement oldChild = element.fChildren[index];
+ element.fChildren[index] = child;
+ delta.addNode(oldChild, child, IModelDelta.REPLACED);
+ // TODO: set replacement index!?!
+
+ return rootDelta;
+ }
+
+ public ModelDelta addElementChild(TreePath parentPath, ModelDelta rootDelta, int index, TestElement newChild) {
+ if (rootDelta == null) {
+ rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
+ }
+ ModelDelta baseDelta = getBaseDelta(rootDelta);
+ TreePath relativePath = getRelativePath(parentPath);
+
+ // Find the parent element and generate the delta node for it.
+ TestElement element = getElement(relativePath);
+ ModelDelta delta= getElementDelta(baseDelta, relativePath, true);
+
+ // Add the new element
+ element.fChildren = doInsertElementInArray(element.fChildren, index, newChild);
+
+ // Add the delta flag and update the child count in the parent delta.
+ delta.setChildCount(element.getChildren().length);
+ delta.addNode(newChild, index, IModelDelta.ADDED);
+
+ return rootDelta;
+ }
+
+ public ModelDelta insertElementChild(TreePath parentPath, int index, TestElement newChild) {
+ return insertElementChild(null, parentPath, index, newChild);
+ }
+
+ public ModelDelta insertElementChild(ModelDelta rootDelta, TreePath parentPath, int index, TestElement newChild) {
+ if (rootDelta == null) {
+ rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
+ }
+ ModelDelta baseDelta = getBaseDelta(rootDelta);
+ TreePath relativePath = getRelativePath(parentPath);
+
+ // Find the parent element and generate the delta node for it.
+ TestElement element = getElement(relativePath);
+ ModelDelta delta= getElementDelta(baseDelta, relativePath, false);
+
+ // Add the new element
+ element.fChildren = doInsertElementInArray(element.fChildren, index, newChild);
+
+ // Add the delta flag and update the child count in the parent delta.
+ delta.setChildCount(element.getChildren().length);
+ delta.addNode(newChild, index, IModelDelta.INSERTED);
+
+ return rootDelta;
+ }
+
+ private TestElement[] doInsertElementInArray(TestElement[] children, int index, TestElement newChild) {
+ // Create the new children array add the element to it and set it to
+ // the parent.
+ TestElement[] newChildren = new TestElement[children.length + 1];
+ System.arraycopy(children, 0, newChildren, 0, index);
+ newChildren[index] = newChild;
+ System.arraycopy(children, index, newChildren, index + 1, children.length - index);
+ return newChildren;
+ }
+
+ public ModelDelta removeElementChild(TreePath parentPath, int index) {
+ ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
+ ModelDelta baseDelta = getBaseDelta(rootDelta);
+
+ // Find the parent element and generate the delta node for it.
+ TestElement element = getElement(parentPath);
+ ModelDelta delta= getElementDelta(baseDelta, parentPath, false);
+
+ // Create a new child array with the element removed
+ TestElement[] children = element.getChildren();
+ TestElement childToRemove = children[index];
+ TestElement[] newChildren = new TestElement[children.length - 1];
+ System.arraycopy(children, 0, newChildren, 0, index);
+ System.arraycopy(children, index + 1, newChildren, index, children.length - index - 1);
+ element.fChildren = newChildren;
+
+ // Add the delta flag and update the child count in the parent delta.
+ delta.setChildCount(element.getChildren().length);
+ delta.addNode(childToRemove, index, IModelDelta.REMOVED);
+
+ return rootDelta;
+ }
+
+ public ModelDelta makeElementDelta(TreePath path, int flags) {
+ ModelDelta rootDelta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
+ ModelDelta baseDelta = getBaseDelta(rootDelta);
+
+ // Find the element and generate the delta node for it.
+ ModelDelta delta= getElementDelta(baseDelta, path, false);
+
+ delta.setFlags(flags);
+ return rootDelta;
+ }
+
+ public TreePath findElement(String label) {
+ return findElement(TreePath.EMPTY, label);
+ }
+
+ public TreePath findElement(TreePath startPath, String label) {
+ TestElement element = getElement(startPath);
+ for (int i = 0; i < element.getChildren().length; i++) {
+ TestElement child = element.getChildren()[i];
+ TreePath path = startPath.createChildPath(child);
+ if ( label.equals(child.getLabel()) ) {
+ return path;
+ } else {
+ TreePath subPath = findElement(path, label);
+ if (subPath != null) {
+ return subPath;
+ }
+ }
+ }
+ return null;
+ }
+
+ @Override
public String toString() {
- return getElementString(fRoot, ""); //$NON-NLS-1$
- }
-
- public String getElementString(TestElement element, String indent) {
- StringBuilder builder = new StringBuilder();
- builder.append(indent);
- builder.append(element.toString());
- builder.append('\n');
- TestElement[] children = element.getChildren();
- for (int i = 0; i < children.length; i++) {
- builder.append(getElementString(children[i], indent + " ")); //$NON-NLS-1$
- }
- return builder.toString();
- }
-
- public static TestModel simpleSingleLevel() {
- TestModel model = new TestModel();
- model.setRoot( new TestElement(model, "root", makeSingleLevelModelElements(model, 6, ""))); //$NON-NLS-1$ //$NON-NLS-2$
- return model;
- }
-
- public static TestElement[] makeSingleLevelModelElements(TestModel model, int length, String prefix) {
- TestElement[] elements = new TestElement[length];
- for (int i = 1; i <= length; i++) {
- String name = prefix + i;
- elements[i - 1] = new TestElement(model, name, new TestElement[0]);
- }
- return elements;
- }
-
- public static TestElement[] makeMultiLevelElements(TestModel model, int depth, String prefix) {
- TestElement[] elements = new TestElement[depth];
- for (int i = 0; i < depth; i++) {
- String name = prefix + i;
- elements[i] = new TestElement(model, name, makeMultiLevelElements(model, i, name + ".")); //$NON-NLS-1$
- }
- return elements;
- }
-
- public static TestElement[] makeMultiLevelElements2(TestModel model, int[] levelCounts, String prefix) {
- if (levelCounts.length == 0) {
+ return getElementString(fRoot, ""); //$NON-NLS-1$
+ }
+
+ public String getElementString(TestElement element, String indent) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(indent);
+ builder.append(element.toString());
+ builder.append('\n');
+ TestElement[] children = element.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ builder.append(getElementString(children[i], indent + " ")); //$NON-NLS-1$
+ }
+ return builder.toString();
+ }
+
+ public static TestModel simpleSingleLevel() {
+ TestModel model = new TestModel();
+ model.setRoot( new TestElement(model, "root", makeSingleLevelModelElements(model, 6, ""))); //$NON-NLS-1$ //$NON-NLS-2$
+ return model;
+ }
+
+ public static TestElement[] makeSingleLevelModelElements(TestModel model, int length, String prefix) {
+ TestElement[] elements = new TestElement[length];
+ for (int i = 1; i <= length; i++) {
+ String name = prefix + i;
+ elements[i - 1] = new TestElement(model, name, new TestElement[0]);
+ }
+ return elements;
+ }
+
+ public static TestElement[] makeMultiLevelElements(TestModel model, int depth, String prefix) {
+ TestElement[] elements = new TestElement[depth];
+ for (int i = 0; i < depth; i++) {
+ String name = prefix + i;
+ elements[i] = new TestElement(model, name, makeMultiLevelElements(model, i, name + ".")); //$NON-NLS-1$
+ }
+ return elements;
+ }
+
+ public static TestElement[] makeMultiLevelElements2(TestModel model, int[] levelCounts, String prefix) {
+ if (levelCounts.length == 0) {
return new TestElement[0];
}
- int count = levelCounts[0];
- int[] oldLevelCounts = levelCounts;
- levelCounts = new int[levelCounts.length - 1];
- System.arraycopy(oldLevelCounts, 1, levelCounts, 0, levelCounts.length);
- TestElement[] elements = new TestElement[count];
- for (int i = 0; i < count; i++) {
- String name = prefix + i;
- elements[i] = new TestElement(model, name, makeMultiLevelElements2(model, levelCounts, name + ".")); //$NON-NLS-1$
- }
- return elements;
- }
-
- public static TestModel simpleMultiLevel() {
- TestModel model = new TestModel();
- model.setRoot( new TestElement(model, "root", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "2", true, false, new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "2.1", true, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "2.2", false, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "2.3", true, false, new TestElement[0]), //$NON-NLS-1$
- }),
- new TestElement(model, "3", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.1", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.1.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.1.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.1.3", new TestElement[0]), //$NON-NLS-1$
- }),
- new TestElement(model, "3.2", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.2.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.2.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.2.3", new TestElement[0]), //$NON-NLS-1$
- }),
- new TestElement(model, "3.3", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.3.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.3.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.3.3", new TestElement[0]), //$NON-NLS-1$
- }),
- })
- }) );
- return model;
- }
-
- public static TestModel compositeMultiLevel() {
- TestModel m2 = new TestModel();
- m2.setRoot( new TestElement(m2, "m2.root", new TestElement[] { //$NON-NLS-1$
- new TestElement(m2, "m2.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(m2, "m2.2", true, false, new TestElement[] { //$NON-NLS-1$
- new TestElement(m2, "m2.2.1", true, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(m2, "m2.2.2", false, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(m2, "m2.2.3", true, false, new TestElement[0]), //$NON-NLS-1$
- }),
- }) );
-
- TestModel m3 = new TestModel();
- m3.setRoot( new TestElement(m3, "m3.root", new TestElement[] { //$NON-NLS-1$
- new TestElement(m3, "m3.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(m3, "m3.2", true, false, new TestElement[] { //$NON-NLS-1$
- new TestElement(m3, "m3.2.1", true, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(m3, "m3.2.2", false, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(m3, "m3.2.3", true, false, new TestElement[0]), //$NON-NLS-1$
- }),
- }) );
-
- TestModel m4 = new TestModel();
- m4.setRoot( new TestElement(m4, "m4.root", new TestElement[] { //$NON-NLS-1$
- new TestElement(m4, "m4.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(m4, "m4.2", true, false, new TestElement[] { //$NON-NLS-1$
- new TestElement(m4, "m4.2.1", true, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(m4, "m4.2.2", false, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(m4, "m4.2.3", true, false, new TestElement[0]), //$NON-NLS-1$
- }),
- }) );
-
- TestModel m1 = new TestModel();
- m1.setRoot( new TestElement(m1, "m1.root", new TestElement[] { //$NON-NLS-1$
- new TestElement(m1, "m1.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(m1, "m1.2", true, false, new TestElement[] { //$NON-NLS-1$
- m2.fRoot,
- m3.fRoot,
- m4.fRoot,
- }),
- }) );
-
-
- return m1;
- }
-
- public static TestModel simpleDeepMultiLevel() {
- TestModel model = new TestModel();
- model.setRoot( new TestElement(model, "root", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "2", true, false, new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "2.1", true, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "2.2", false, true, new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "2.3", true, false, new TestElement[0]), //$NON-NLS-1$
- }),
- new TestElement(model, "3", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.1", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.1.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.1.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.1.3", new TestElement[0]), //$NON-NLS-1$
- }),
- new TestElement(model, "3.2", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.2.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.2.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.2.3", new TestElement[0]), //$NON-NLS-1$
- }),
- new TestElement(model, "3.3", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.3.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.3.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.3.3", new TestElement[0]), //$NON-NLS-1$
- }),
- new TestElement(model, "3.4", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.4.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.4.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.4.3", new TestElement[0]), //$NON-NLS-1$
- }),
- new TestElement(model, "3.5", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.5.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.5.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.5.3", new TestElement[0]), //$NON-NLS-1$
- }),
- new TestElement(model, "3.6", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.6.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.6.3.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.4", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.5", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.6", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.7", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.8", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.9", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.10", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.11", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.12", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.13", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.14", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.15", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.4", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.5", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.6", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.7", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.8", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.9", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.10", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.11", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.12", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.13", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.14", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.15", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.4", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.5", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.6", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.7", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.8", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.9", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.10", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.11", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.12", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.13", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.14", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.15", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.4", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.5", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.6", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.7", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.8", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.9", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.10", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.11", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.12", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.13", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.14", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.15", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.4", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.5", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.6", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.7", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.8", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.9", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.10", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.11", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.12", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.13", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.14", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.15", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16", new TestElement[] { //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.1", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.2", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.4", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.5", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.6", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.7", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.8", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.9", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.10", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.11", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.12", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.13", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.14", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.15", new TestElement[0]), //$NON-NLS-1$
- new TestElement(model, "3.6.3.16.16.16.16.16.16", new TestElement[0]), //$NON-NLS-1$
- }),
- }),
- }),
- }),
- }),
- }),
- }),
- })
- }) );
- return model;
- }
+ int count = levelCounts[0];
+ int[] oldLevelCounts = levelCounts;
+ levelCounts = new int[levelCounts.length - 1];
+ System.arraycopy(oldLevelCounts, 1, levelCounts, 0, levelCounts.length);
+ TestElement[] elements = new TestElement[count];
+ for (int i = 0; i < count; i++) {
+ String name = prefix + i;
+ elements[i] = new TestElement(model, name, makeMultiLevelElements2(model, levelCounts, name + ".")); //$NON-NLS-1$
+ }
+ return elements;
+ }
+
+ public static TestModel simpleMultiLevel() {
+ TestModel model = new TestModel();
+ model.setRoot( new TestElement(model, "root", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "2", true, false, new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "2.1", true, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "2.2", false, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "2.3", true, false, new TestElement[0]), //$NON-NLS-1$
+ }),
+ new TestElement(model, "3", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.1", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.1.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.1.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.1.3", new TestElement[0]), //$NON-NLS-1$
+ }),
+ new TestElement(model, "3.2", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.2.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.2.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.2.3", new TestElement[0]), //$NON-NLS-1$
+ }),
+ new TestElement(model, "3.3", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.3.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.3.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.3.3", new TestElement[0]), //$NON-NLS-1$
+ }),
+ })
+ }) );
+ return model;
+ }
+
+ public static TestModel compositeMultiLevel() {
+ TestModel m2 = new TestModel();
+ m2.setRoot( new TestElement(m2, "m2.root", new TestElement[] { //$NON-NLS-1$
+ new TestElement(m2, "m2.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m2, "m2.2", true, false, new TestElement[] { //$NON-NLS-1$
+ new TestElement(m2, "m2.2.1", true, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m2, "m2.2.2", false, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m2, "m2.2.3", true, false, new TestElement[0]), //$NON-NLS-1$
+ }),
+ }) );
+
+ TestModel m3 = new TestModel();
+ m3.setRoot( new TestElement(m3, "m3.root", new TestElement[] { //$NON-NLS-1$
+ new TestElement(m3, "m3.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m3, "m3.2", true, false, new TestElement[] { //$NON-NLS-1$
+ new TestElement(m3, "m3.2.1", true, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m3, "m3.2.2", false, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m3, "m3.2.3", true, false, new TestElement[0]), //$NON-NLS-1$
+ }),
+ }) );
+
+ TestModel m4 = new TestModel();
+ m4.setRoot( new TestElement(m4, "m4.root", new TestElement[] { //$NON-NLS-1$
+ new TestElement(m4, "m4.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m4, "m4.2", true, false, new TestElement[] { //$NON-NLS-1$
+ new TestElement(m4, "m4.2.1", true, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m4, "m4.2.2", false, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m4, "m4.2.3", true, false, new TestElement[0]), //$NON-NLS-1$
+ }),
+ }) );
+
+ TestModel m1 = new TestModel();
+ m1.setRoot( new TestElement(m1, "m1.root", new TestElement[] { //$NON-NLS-1$
+ new TestElement(m1, "m1.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(m1, "m1.2", true, false, new TestElement[] { //$NON-NLS-1$
+ m2.fRoot,
+ m3.fRoot,
+ m4.fRoot,
+ }),
+ }) );
+
+
+ return m1;
+ }
+
+ public static TestModel simpleDeepMultiLevel() {
+ TestModel model = new TestModel();
+ model.setRoot( new TestElement(model, "root", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "2", true, false, new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "2.1", true, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "2.2", false, true, new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "2.3", true, false, new TestElement[0]), //$NON-NLS-1$
+ }),
+ new TestElement(model, "3", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.1", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.1.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.1.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.1.3", new TestElement[0]), //$NON-NLS-1$
+ }),
+ new TestElement(model, "3.2", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.2.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.2.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.2.3", new TestElement[0]), //$NON-NLS-1$
+ }),
+ new TestElement(model, "3.3", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.3.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.3.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.3.3", new TestElement[0]), //$NON-NLS-1$
+ }),
+ new TestElement(model, "3.4", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.4.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.4.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.4.3", new TestElement[0]), //$NON-NLS-1$
+ }),
+ new TestElement(model, "3.5", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.5.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.5.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.5.3", new TestElement[0]), //$NON-NLS-1$
+ }),
+ new TestElement(model, "3.6", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.6.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.6.3.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.4", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.5", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.6", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.7", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.8", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.9", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.10", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.11", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.12", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.13", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.14", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.15", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.4", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.5", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.6", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.7", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.8", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.9", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.10", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.11", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.12", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.13", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.14", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.15", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.4", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.5", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.6", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.7", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.8", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.9", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.10", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.11", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.12", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.13", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.14", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.15", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.4", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.5", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.6", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.7", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.8", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.9", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.10", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.11", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.12", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.13", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.14", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.15", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.4", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.5", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.6", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.7", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.8", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.9", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.10", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.11", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.12", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.13", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.14", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.15", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16", new TestElement[] { //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.1", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.2", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.4", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.5", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.6", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.7", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.8", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.9", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.10", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.11", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.12", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.13", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.14", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.15", new TestElement[0]), //$NON-NLS-1$
+ new TestElement(model, "3.6.3.16.16.16.16.16.16", new TestElement[0]), //$NON-NLS-1$
+ }),
+ }),
+ }),
+ }),
+ }),
+ }),
+ }),
+ })
+ }) );
+ return model;
+ }
}

Back to the top