Project

General

Profile

Download (4.05 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy 
4
* http://www.e-taxonomy.eu
5
* 
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9

    
10
package eu.etaxonomy.taxeditor.navigation.navigator.operation;
11

    
12
import java.util.HashSet;
13
import java.util.Set;
14
import java.util.UUID;
15

    
16
import org.eclipse.core.commands.ExecutionException;
17
import org.junit.Assert;
18
import org.junit.BeforeClass;
19
import org.junit.Test;
20

    
21
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
22
import eu.etaxonomy.cdm.model.taxon.Classification;
23
import eu.etaxonomy.cdm.model.taxon.Taxon;
24
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
25
import eu.etaxonomy.taxeditor.navigation.navigator.TreeNodeDropAdapter.MovingType;
26
import eu.etaxonomy.taxeditor.store.operations.AbstractTaxeditorOperationTestBase;
27

    
28
/**
29
 * @author n.hoffmann
30
 * @created 08.04.2009
31
 */
32
public class MoveTaxonOperationTest extends AbstractTaxeditorOperationTestBase {
33

    
34
	private static Taxon oldParentTaxon;
35
	private static Taxon newParentTaxon;
36
	private static Classification tree;
37
	private static TaxonNode oldParentTaxonNode;
38
	private static TaxonNode newParentTaxonNode;
39
	private static TaxonNode taxonNode;
40
	
41
	/**
42
	 * @throws java.lang.Exception
43
	 */
44
	@BeforeClass
45
	public static void setUpBeforeClass() throws Exception {
46

    
47
		
48
		taxon = Taxon.NewInstance(null, null);
49

    
50
		oldParentTaxon = Taxon.NewInstance(null, null);
51
		newParentTaxon = Taxon.NewInstance(null, null);
52
		
53
		tree = Classification.NewInstance(null);
54
		oldParentTaxonNode = tree.addChildTaxon(oldParentTaxon, null, null);
55
		newParentTaxonNode = tree.addChildTaxon(newParentTaxon, null, null);
56
		
57
		taxonNode = oldParentTaxonNode.addChildTaxon(taxon, null, null);
58
		
59
		Set<UUID> taxonNodeUuidSet = new HashSet<UUID>();
60
		//TODO ??
61
		IConversationEnabled conversationEnabled = null;
62
		taxonNodeUuidSet.add(taxonNode.getUuid());
63
		operation = new MoveTaxonOperation("Move Taxon To Different Parent", 
64
				undoContext, taxonNodeUuidSet, newParentTaxonNode, postOperation, 
65
				conversationEnabled, MovingType.CHILD);
66
	}
67

    
68
	/**
69
	 * Test method for {@link eu.etaxonomy.taxeditor.navigation.operation.MoveTaxonOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
70
	 * @throws ExecutionException 
71
	 */
72
	@Test
73
	public void testExecuteIProgressMonitorIAdaptable() throws ExecutionException {
74
		operation.execute(monitor, info);
75
		
76
		Assert.assertEquals(newParentTaxon ,taxon.getTaxonNodes().iterator().next().getParent().getTaxon());
77
		Assert.assertEquals(taxon, newParentTaxon.getTaxonNodes().iterator().next().getChildNodes().iterator().next());
78
		Assert.assertEquals(0, oldParentTaxon.getTaxonNodes().iterator().next().getChildNodes().size());
79
	}
80

    
81

    
82
	/**
83
	 * Test method for {@link eu.etaxonomy.taxeditor.navigation.operation.MoveTaxonOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
84
	 * @throws ExecutionException 
85
	 */
86
	@Test
87
	public void testUndoIProgressMonitorIAdaptable() throws ExecutionException {
88
		operation.undo(monitor, info);
89
		
90
		Assert.assertEquals(oldParentTaxon ,taxon.getTaxonNodes().iterator().next().getParent().getTaxon());
91
		Assert.assertEquals(0, newParentTaxon.getTaxonNodes().iterator().next().getChildNodes().size());
92
		Assert.assertEquals(taxon, oldParentTaxon.getTaxonNodes().iterator().next().getChildNodes().iterator().next());
93
	}
94
	
95
	/**
96
	 * Test method for {@link eu.etaxonomy.taxeditor.navigation.operation.MoveTaxonOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
97
	 * @throws ExecutionException 
98
	 */
99
	@Test
100
	public void testRedoIProgressMonitorIAdaptable() throws ExecutionException {
101
		operation.redo(monitor, info);
102
		
103
		Assert.assertEquals(newParentTaxon ,taxon.getTaxonNodes().iterator().next().getParent().getTaxon());
104
		Assert.assertEquals(taxon, newParentTaxon.getTaxonNodes().iterator().next().getChildNodes().iterator().next());
105
		Assert.assertEquals(0, oldParentTaxon.getTaxonNodes().iterator().next().getChildNodes().size());
106

    
107
	}
108
}
    (1-1/1)