Skip to content
Snippets Groups Projects
Commit 61352284 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

unit tests for CopyAction

parent c0a1fdfe
No related branches found
No related tags found
1 merge request!704Unit tests for CellDesigner plugin module
......@@ -89,6 +89,14 @@
<scope>test</scope>
</dependency>
<!-- mockito used for testing -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -2,7 +2,6 @@ package lcsb.mapviewer.cdplugin.copypaste;
import org.apache.log4j.Logger;
import jp.sbi.celldesigner.MainWindow;
import jp.sbi.celldesigner.plugin.PluginListOf;
import jp.sbi.celldesigner.plugin.PluginReaction;
import jp.sbi.celldesigner.plugin.PluginSBase;
......@@ -34,12 +33,6 @@ public class CopyAction extends CopyPasteAbstractAction {
* - list of species to annotate
*/
public void performAnnotation(CopyPastePlugin plug, PluginListOf speciesList) {
// if list is empty then just return from the method
if (speciesList.size() == 0) {
return;
}
SystemClipboard sc = new SystemClipboard();
int size = speciesList.size();
......
......@@ -5,7 +5,8 @@ import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({ CopyPasteAbstractActionTest.class })
@SuiteClasses({ CopyActionTest.class,
CopyPasteAbstractActionTest.class })
public class AllCopyPasteTests {
}
package lcsb.mapviewer.cdplugin.copypaste;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import org.apache.log4j.Logger;
import org.junit.Test;
import org.mockito.Mockito;
import jp.sbi.celldesigner.plugin.PluginListOf;
import jp.sbi.celldesigner.plugin.PluginReaction;
import jp.sbi.celldesigner.plugin.PluginSpecies;
import jp.sbi.celldesigner.plugin.PluginSpeciesAlias;
import lcsb.mapviewer.common.SystemClipboard;
public class CopyActionTest {
String rdfString = "<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:vCard=\"http://www.w3.org/2001/vcard-rdf/3.0#\" xmlns:bqbiol=\"http://biomodels.net/biology-qualifiers/\" xmlns:bqmodel=\"http://biomodels.net/model-qualifiers/\">\n"
+
"<rdf:Description rdf:about=\"#s3\">\n" +
"<bqmodel:is>\n" +
"<rdf:Bag>\n" +
"<rdf:li rdf:resource=\"urn:miriam:wikipedia.en:1\"/>\n" +
"</rdf:Bag>\n" +
"</bqmodel:is>\n" +
"</rdf:Description>\n" +
"</rdf:RDF>\n";
Logger logger = Logger.getLogger(CopyActionTest.class);
SystemClipboard cp = new SystemClipboard();
@Test
public void testCopyFromSpecies() {
CopyAction action = new CopyAction();
String data = cp.getClipboardContents();
PluginListOf list = createPluginListWithSpecies(2);
action.performAnnotation(Mockito.mock(CopyPastePlugin.class), list);
String newData = cp.getClipboardContents();
assertNotEquals("Data in clipboard didn't change", data, newData);
}
@Test
public void testCopyFromReaction() {
CopyAction action = new CopyAction();
String data = cp.getClipboardContents();
PluginListOf list = createPluginListWithReaction(2);
action.performAnnotation(Mockito.mock(CopyPastePlugin.class), list);
String newData = cp.getClipboardContents();
assertNotEquals("Data in clipboard didn't change", data, newData);
}
@Test
public void testCopyFromEmptyList() {
CopyAction action = new CopyAction();
String data = cp.getClipboardContents();
PluginListOf list = createPluginListWithSpecies(0);
action.performAnnotation(Mockito.mock(CopyPastePlugin.class), list);
String newData = cp.getClipboardContents();
assertEquals("Data in clipboard didn't change", data, newData);
}
private PluginListOf createPluginListWithSpecies(int size) {
PluginListOf list = Mockito.mock(PluginListOf.class);
Mockito.when(list.size()).thenReturn(size);
for (int i = 0; i < size; i++) {
PluginSpeciesAlias alias = createSpeciesAlias("id" + i);
Mockito.when(list.get(i)).thenReturn(alias);
}
return list;
}
private PluginListOf createPluginListWithReaction(int size) {
PluginListOf list = Mockito.mock(PluginListOf.class);
Mockito.when(list.size()).thenReturn(size);
for (int i = 0; i < size; i++) {
PluginReaction reaction = createReaction("id" + i);
Mockito.when(list.get(i)).thenReturn(reaction);
}
return list;
}
private PluginSpeciesAlias createSpeciesAlias(String id) {
PluginSpecies species = Mockito.mock(PluginSpecies.class);
Mockito.when(species.getId()).thenReturn(id);
Mockito.when(species.getAnnotationString()).thenReturn(rdfString);
Mockito.when(species.getNotesString()).thenReturn("spceies some notes" + id);
PluginSpeciesAlias speciesAlias = Mockito.mock(PluginSpeciesAlias.class);
Mockito.when(speciesAlias.getSpecies()).thenReturn(species);
return speciesAlias;
}
private PluginReaction createReaction(String id) {
PluginReaction reaction = Mockito.mock(PluginReaction.class);
Mockito.when(reaction.getId()).thenReturn("re" + id);
Mockito.when(reaction.getAnnotationString()).thenReturn(rdfString);
Mockito.when(reaction.getNotesString()).thenReturn("re notes" + id);
return reaction;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment