diff options
author | Chris Goldthorpe | 2010-02-09 23:21:56 +0000 |
---|---|---|
committer | Chris Goldthorpe | 2010-02-09 23:21:56 +0000 |
commit | 3a67bf3253ba63a2946c4508e0918c4c5971f4cb (patch) | |
tree | 45b6433320d50abddab384657a21d444307f342e | |
parent | 76bec69c81b997a3ab4ac2b6738e9426a62405da (diff) | |
download | eclipse.platform.ua-3a67bf3253ba63a2946c4508e0918c4c5971f4cb.tar.gz eclipse.platform.ua-3a67bf3253ba63a2946c4508e0918c4c5971f4cb.tar.xz eclipse.platform.ua-3a67bf3253ba63a2946c4508e0918c4c5971f4cb.zip |
Added tests for WorkingSetManager
-rw-r--r-- | org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java | 1 | ||||
-rw-r--r-- | org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/WorkingSetManagerTest.java | 181 |
2 files changed, 182 insertions, 0 deletions
diff --git a/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java b/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java index 18c06fa12..a85f9f00b 100644 --- a/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java +++ b/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java @@ -42,5 +42,6 @@ public class AllSearchTests extends TestSuite { addTest(SearchParticipantXMLTest.suite()); addTest(LuceneParticipantTest.suite()); addTest(LuceneXMLParticipantTest.suite()); + addTestSuite(WorkingSetManagerTest.class); } } diff --git a/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/WorkingSetManagerTest.java b/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/WorkingSetManagerTest.java new file mode 100644 index 000000000..1346ad777 --- /dev/null +++ b/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/WorkingSetManagerTest.java @@ -0,0 +1,181 @@ +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * 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: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.ua.tests.help.search; + +import org.eclipse.help.internal.workingset.AdaptableHelpResource; +import org.eclipse.help.internal.workingset.AdaptableToc; +import org.eclipse.help.internal.workingset.AdaptableTopic; +import org.eclipse.help.internal.workingset.WorkingSet; +import org.eclipse.help.internal.workingset.WorkingSetManager; + +import junit.framework.TestCase; + +public class WorkingSetManagerTest extends TestCase { + + private WorkingSet[] workingSets; + + protected void setUp() throws Exception { + WorkingSetManager manager = new WorkingSetManager(); + manager.restoreState(); + workingSets = manager.getWorkingSets(); + for (int i = 0; i < workingSets.length; i++) { + manager.removeWorkingSet(workingSets[i]); + } + manager.saveState(); + } + + protected void tearDown() throws Exception { + WorkingSetManager manager = new WorkingSetManager(); + WorkingSet[] wsetsToRemove = manager.getWorkingSets(); + for (int i = 0; i < wsetsToRemove.length; i++) { + manager.removeWorkingSet(wsetsToRemove[i]); + } + for (int i = 0; i < workingSets.length; i++) { + manager.addWorkingSet(workingSets[i]); + } + manager.saveState(); + } + + public void testNewWSM() { + WorkingSetManager mgr = new WorkingSetManager(); + assertEquals(0, mgr.getWorkingSets().length); + WorkingSetManager mgr2 = new WorkingSetManager(); + assertEquals(mgr, mgr2); + assertEquals(mgr.hashCode(), mgr2.hashCode()); + } + + public void testWSMWithToc() { + WorkingSetManager mgr = new WorkingSetManager(); + WorkingSet wset = new WorkingSet("test"); + AdaptableToc toc = mgr.getAdaptableToc("/org.eclipse.ua.tests/data/help/toc/root.xml"); + assertNotNull(toc); + wset.setElements(new AdaptableHelpResource[] { toc }); + mgr.addWorkingSet(wset); + WorkingSet[] readWsets = mgr.getWorkingSets(); + assertEquals(1, readWsets.length); + AdaptableHelpResource[] resources = readWsets[0].getElements(); + assertEquals(1, resources.length); + assertTrue(resources[0].equals(toc)); + }; + + public void testSaveRestoreWSMWithToc() { + WorkingSetManager mgr = new WorkingSetManager(); + WorkingSet wset = new WorkingSet("test"); + AdaptableToc toc = mgr.getAdaptableToc("/org.eclipse.ua.tests/data/help/toc/root.xml"); + wset.setElements(new AdaptableHelpResource[] { toc }); + mgr.addWorkingSet(wset); + mgr.saveState(); + WorkingSetManager mgr2 = new WorkingSetManager(); + mgr2.restoreState(); + WorkingSet[] readWsets = mgr2.getWorkingSets(); + assertEquals(1, readWsets.length); + AdaptableHelpResource[] resources = readWsets[0].getElements(); + assertEquals(1, resources.length); + assertTrue(resources[0].equals(toc)); + }; + + public void testWSMWithTopics() { + WorkingSetManager mgr = new WorkingSetManager(); + WorkingSet wset = new WorkingSet("test2"); + AdaptableTopic topic1 = mgr.getAdaptableTopic("/org.eclipse.ua.tests/data/help/toc/root.xml_1_"); + AdaptableTopic topic3 = mgr.getAdaptableTopic("/org.eclipse.ua.tests/data/help/toc/root.xml_3_"); + assertNotNull(topic1); + assertNotNull(topic3); + wset.setElements(new AdaptableHelpResource[] { topic1, topic3 }); + mgr.addWorkingSet(wset); + WorkingSet[] readWsets = mgr.getWorkingSets(); + assertEquals(1, readWsets.length); + AdaptableHelpResource[] resources = readWsets[0].getElements(); + assertEquals(2, resources.length); + if (resources[0].equals(topic1)) { + assertEquals(topic3, resources[1]); + assertNotSame(topic3, resources[0]); + } else { + assertEquals(topic3, resources[0]); + assertEquals(topic1, resources[1]); + assertNotSame(topic3, resources[1]); + } + }; + + public void testSaveRestoreWSMWithTopics() { + WorkingSetManager mgr = new WorkingSetManager(); + WorkingSet wset = new WorkingSet("test2"); + AdaptableTopic topic1 = mgr.getAdaptableTopic("/org.eclipse.ua.tests/data/help/toc/root.xml_1_"); + AdaptableTopic topic3 = mgr.getAdaptableTopic("/org.eclipse.ua.tests/data/help/toc/root.xml_3_"); + assertNotNull(topic1); + assertNotNull(topic3); + wset.setElements(new AdaptableHelpResource[] { topic1, topic3 }); + mgr.addWorkingSet(wset); + mgr.saveState(); + WorkingSetManager mgr2 = new WorkingSetManager(); + WorkingSet[] readWsets = mgr2.getWorkingSets(); + assertEquals(1, readWsets.length); + AdaptableHelpResource[] resources = readWsets[0].getElements(); + assertEquals(2, resources.length); + if (resources[0].equals(topic1)) { + assertEquals(topic3, resources[1]); + assertNotSame(topic3, resources[0]); + } else { + assertEquals(topic3, resources[0]); + assertEquals(topic1, resources[1]); + assertNotSame(topic3, resources[1]); + } + }; + + public void testWSMWithMultipleWsets() { + WorkingSetManager mgr = new WorkingSetManager(); + WorkingSet wset1 = new WorkingSet("test3"); + WorkingSet wset2 = new WorkingSet("test4"); + AdaptableTopic topic1 = mgr.getAdaptableTopic("/org.eclipse.ua.tests/data/help/toc/root.xml_1_"); + AdaptableTopic topic3 = mgr.getAdaptableTopic("/org.eclipse.ua.tests/data/help/toc/root.xml_3_"); + assertNotNull(topic1); + assertNotNull(topic3); + wset1.setElements(new AdaptableHelpResource[] { topic1 }); + wset2.setElements(new AdaptableHelpResource[] { topic3 }); + mgr.addWorkingSet(wset1); + mgr.addWorkingSet(wset2); + WorkingSet[] readWsets = mgr.getWorkingSets(); + assertEquals(2, readWsets.length); + AdaptableHelpResource[] resourcesT3 = mgr.getWorkingSet("test3").getElements(); + assertEquals(1, resourcesT3.length); + assertEquals(topic1, resourcesT3[0]); + AdaptableHelpResource[] resourcesT4 = mgr.getWorkingSet("test4").getElements(); + assertEquals(1, resourcesT4.length); + assertEquals(topic3, resourcesT4[0]); + }; + + public void testSaveRestoreWSMWithMultipleWsets() { + WorkingSetManager mgr = new WorkingSetManager(); + WorkingSet wset1 = new WorkingSet("test3"); + WorkingSet wset2 = new WorkingSet("test4"); + AdaptableTopic topic1 = mgr.getAdaptableTopic("/org.eclipse.ua.tests/data/help/toc/root.xml_1_"); + AdaptableTopic topic3 = mgr.getAdaptableTopic("/org.eclipse.ua.tests/data/help/toc/root.xml_3_"); + assertNotNull(topic1); + assertNotNull(topic3); + wset1.setElements(new AdaptableHelpResource[] { topic1 }); + wset2.setElements(new AdaptableHelpResource[] { topic3 }); + mgr.addWorkingSet(wset1); + mgr.addWorkingSet(wset2); + + WorkingSetManager mgr2 = new WorkingSetManager(); + WorkingSet[] readWsets = mgr2.getWorkingSets(); + + assertEquals(2, readWsets.length); + AdaptableHelpResource[] resourcesT3 = mgr2.getWorkingSet("test3").getElements(); + assertEquals(1, resourcesT3.length); + assertEquals(topic1, resourcesT3[0]); + AdaptableHelpResource[] resourcesT4 = mgr2.getWorkingSet("test4").getElements(); + assertEquals(1, resourcesT4.length); + assertEquals(topic3, resourcesT4[0]); + }; + +} |