From b6bf6a14f9f611c203ccdf48c0695f862f46fab1 Mon Sep 17 00:00:00 2001 From: Sascha Zeller Date: Mon, 27 Jun 2016 11:49:01 +0200 Subject: [PATCH 1/3] Test CustomImporter --- .../jabref/importer/CustomImporterTest.java | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 src/test/java/net/sf/jabref/importer/CustomImporterTest.java diff --git a/src/test/java/net/sf/jabref/importer/CustomImporterTest.java b/src/test/java/net/sf/jabref/importer/CustomImporterTest.java new file mode 100644 index 00000000000..75f652aee84 --- /dev/null +++ b/src/test/java/net/sf/jabref/importer/CustomImporterTest.java @@ -0,0 +1,145 @@ +package net.sf.jabref.importer; + +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.util.Arrays; +import java.util.List; + +import net.sf.jabref.Globals; +import net.sf.jabref.JabRefPreferences; +import net.sf.jabref.importer.fileformat.BibTeXMLImporter; +import net.sf.jabref.importer.fileformat.CopacImporter; +import net.sf.jabref.importer.fileformat.OvidImporter; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class CustomImporterTest { + + private CustomImporter importer1; + private CustomImporter importer2; + private CustomImporter importer3; + + @Before + public void setUp() { + Globals.prefs = JabRefPreferences.getInstance(); + + BibTeXMLImporter bibtexml = new BibTeXMLImporter(); + importer1 = new CustomImporter(); + importer1.setName(bibtexml.getFormatName()); + importer1.setCliId(bibtexml.getId()); + importer1.setClassName(bibtexml.getClass().getName()); + importer1.setBasePath("src/main/java/net/sf/jabref/importer/fileformat/BibTeXMLImporter.java"); + + OvidImporter ovid = new OvidImporter(); + + List dataTest = Arrays.asList(ovid.getFormatName(), ovid.getId(), ovid.getClass().getName(), "src/main/java/net/sf/jabref/importer/fileformat/OvidImporter.java"); + importer2 = new CustomImporter(dataTest); + + CopacImporter copac = new CopacImporter(); + importer3 = new CustomImporter(copac.getFormatName(), copac.getId(), copac.getClass().getName(), "src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java"); + } + + @Test + public void testGetName() { + assertEquals("BibTeXML", importer1.getName()); + assertEquals("Ovid", importer2.getName()); + assertEquals("Copac", importer3.getName()); + } + + @Test + public void testGetCliId() { + assertEquals("bibtexml", importer1.getClidId()); + assertEquals("ovid", importer2.getClidId()); + assertEquals("cpc", importer3.getClidId()); + } + + @Test + public void testGetClassName() { + assertEquals("net.sf.jabref.importer.fileformat.BibTeXMLImporter", importer1.getClassName()); + assertEquals("net.sf.jabref.importer.fileformat.OvidImporter", importer2.getClassName()); + assertEquals("net.sf.jabref.importer.fileformat.CopacImporter", importer3.getClassName()); + } + + @Test + public void testGetBasePath() { + assertEquals("src/main/java/net/sf/jabref/importer/fileformat/BibTeXMLImporter.java", importer1.getBasePath()); + assertEquals("src/main/java/net/sf/jabref/importer/fileformat/OvidImporter.java", importer2.getBasePath()); + assertEquals("src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java", importer3.getBasePath()); + } + + @Test + public void testGetInstance() throws IOException, ClassNotFoundException, + InstantiationException, IllegalAccessException { + assertEquals(new BibTeXMLImporter(), importer1.getInstance()); + assertEquals(new OvidImporter(), importer2.getInstance()); + assertEquals(new CopacImporter(), importer3.getInstance()); + } + + @Test + public void testGetFileFromBasePath() { + assertEquals(new File(importer1.getBasePath()), importer1.getFileFromBasePath()); + assertEquals(new File(importer2.getBasePath()), importer2.getFileFromBasePath()); + assertEquals(new File(importer3.getBasePath()), importer3.getFileFromBasePath()); + } + + @Test + public void testGetBasePathUrl() throws MalformedURLException { + assertEquals(new File(importer1.getBasePath()).toURI().toURL(), importer1.getBasePathUrl()); + assertEquals(new File(importer2.getBasePath()).toURI().toURL(), importer2.getBasePathUrl()); + assertEquals(new File(importer3.getBasePath()).toURI().toURL(), importer3.getBasePathUrl()); + } + + @Test + public void testGetAsStringList() { + assertEquals(importer1.getName(), importer1.getAsStringList().get(0)); + assertEquals(importer1.getClidId(), importer1.getAsStringList().get(1)); + assertEquals(importer1.getClassName(), importer1.getAsStringList().get(2)); + assertEquals(importer1.getBasePath(), importer1.getAsStringList().get(3)); + + assertEquals(importer2.getName(), importer2.getAsStringList().get(0)); + assertEquals(importer2.getClidId(), importer2.getAsStringList().get(1)); + assertEquals(importer2.getClassName(), importer2.getAsStringList().get(2)); + assertEquals(importer2.getBasePath(), importer2.getAsStringList().get(3)); + + assertEquals(importer3.getName(), importer3.getAsStringList().get(0)); + assertEquals(importer3.getClidId(), importer3.getAsStringList().get(1)); + assertEquals(importer3.getClassName(), importer3.getAsStringList().get(2)); + assertEquals(importer3.getBasePath(), importer3.getAsStringList().get(3)); + } + + @Test + public void testEquals() { + boolean test1 = importer1.equals(importer1); + boolean test2 = importer1.equals(importer2); + boolean test3 = importer3.equals(importer1); + + assertTrue(test1); + assertFalse(test2); + assertFalse(test3); + } + + @Test + public void testHashCode() { + assertEquals(646299595, importer1.hashCode()); + assertEquals(2470242, importer2.hashCode()); + assertEquals(65293446, importer3.hashCode()); + } + + @Test + public void testCompareTo() { + assertEquals(0, importer1.compareTo(importer1)); + assertTrue(importer1.compareTo(importer2) < 0); + assertTrue(importer3.compareTo(importer1) > 0); + } + + @Test + public void testToString() { + assertEquals("BibTeXML", importer1.toString()); + assertEquals("Ovid", importer2.toString()); + assertEquals("Copac", importer3.toString()); + } +} From 9c8ad5e0edb3993ddbb7029a9b99ad2fa68193a5 Mon Sep 17 00:00:00 2001 From: Sascha Zeller Date: Wed, 13 Jul 2016 19:11:42 +0200 Subject: [PATCH 2/3] include feedback --- .../sf/jabref/importer/CustomImporter.java | 7 + .../jabref/importer/CustomImporterTest.java | 136 ++++++++---------- 2 files changed, 67 insertions(+), 76 deletions(-) diff --git a/src/main/java/net/sf/jabref/importer/CustomImporter.java b/src/main/java/net/sf/jabref/importer/CustomImporter.java index e4668770216..1446bf91c25 100644 --- a/src/main/java/net/sf/jabref/importer/CustomImporter.java +++ b/src/main/java/net/sf/jabref/importer/CustomImporter.java @@ -67,6 +67,13 @@ public CustomImporter(String name, String cliId, String className, String basePa this.basePath = basePath; } + public CustomImporter(ImportFormat importer){ + this.name = importer.getFormatName(); + this.cliId = importer.getId(); + this.className = importer.getClass().getName(); + this.basePath = "src/main/java/net/sf/jabref/importer/fileformat/" +importer.getFormatName() +"Importer.java"; + } + public String getName() { return this.name; } diff --git a/src/test/java/net/sf/jabref/importer/CustomImporterTest.java b/src/test/java/net/sf/jabref/importer/CustomImporterTest.java index 75f652aee84..16fa3a634b4 100644 --- a/src/test/java/net/sf/jabref/importer/CustomImporterTest.java +++ b/src/test/java/net/sf/jabref/importer/CustomImporterTest.java @@ -1,8 +1,6 @@ package net.sf.jabref.importer; import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; import java.util.Arrays; import java.util.List; @@ -15,131 +13,117 @@ import org.junit.Before; import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; public class CustomImporterTest { - private CustomImporter importer1; - private CustomImporter importer2; - private CustomImporter importer3; + private CustomImporter importer; @Before public void setUp() { Globals.prefs = JabRefPreferences.getInstance(); - - BibTeXMLImporter bibtexml = new BibTeXMLImporter(); - importer1 = new CustomImporter(); - importer1.setName(bibtexml.getFormatName()); - importer1.setCliId(bibtexml.getId()); - importer1.setClassName(bibtexml.getClass().getName()); - importer1.setBasePath("src/main/java/net/sf/jabref/importer/fileformat/BibTeXMLImporter.java"); - - OvidImporter ovid = new OvidImporter(); - - List dataTest = Arrays.asList(ovid.getFormatName(), ovid.getId(), ovid.getClass().getName(), "src/main/java/net/sf/jabref/importer/fileformat/OvidImporter.java"); - importer2 = new CustomImporter(dataTest); - - CopacImporter copac = new CopacImporter(); - importer3 = new CustomImporter(copac.getFormatName(), copac.getId(), copac.getClass().getName(), "src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java"); + importer = new CustomImporter(new CopacImporter()); } @Test public void testGetName() { - assertEquals("BibTeXML", importer1.getName()); - assertEquals("Ovid", importer2.getName()); - assertEquals("Copac", importer3.getName()); + assertEquals("Copac", importer.getName()); } @Test public void testGetCliId() { - assertEquals("bibtexml", importer1.getClidId()); - assertEquals("ovid", importer2.getClidId()); - assertEquals("cpc", importer3.getClidId()); + assertEquals("cpc", importer.getClidId()); } @Test public void testGetClassName() { - assertEquals("net.sf.jabref.importer.fileformat.BibTeXMLImporter", importer1.getClassName()); - assertEquals("net.sf.jabref.importer.fileformat.OvidImporter", importer2.getClassName()); - assertEquals("net.sf.jabref.importer.fileformat.CopacImporter", importer3.getClassName()); + assertEquals("net.sf.jabref.importer.fileformat.CopacImporter", importer.getClassName()); } @Test public void testGetBasePath() { - assertEquals("src/main/java/net/sf/jabref/importer/fileformat/BibTeXMLImporter.java", importer1.getBasePath()); - assertEquals("src/main/java/net/sf/jabref/importer/fileformat/OvidImporter.java", importer2.getBasePath()); - assertEquals("src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java", importer3.getBasePath()); + assertEquals("src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java", importer.getBasePath()); } @Test - public void testGetInstance() throws IOException, ClassNotFoundException, - InstantiationException, IllegalAccessException { - assertEquals(new BibTeXMLImporter(), importer1.getInstance()); - assertEquals(new OvidImporter(), importer2.getInstance()); - assertEquals(new CopacImporter(), importer3.getInstance()); + public void testGetInstance() throws Exception { + assertEquals(new CopacImporter(), importer.getInstance()); } @Test public void testGetFileFromBasePath() { - assertEquals(new File(importer1.getBasePath()), importer1.getFileFromBasePath()); - assertEquals(new File(importer2.getBasePath()), importer2.getFileFromBasePath()); - assertEquals(new File(importer3.getBasePath()), importer3.getFileFromBasePath()); + assertEquals(new File("src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java"), importer.getFileFromBasePath()); } @Test - public void testGetBasePathUrl() throws MalformedURLException { - assertEquals(new File(importer1.getBasePath()).toURI().toURL(), importer1.getBasePathUrl()); - assertEquals(new File(importer2.getBasePath()).toURI().toURL(), importer2.getBasePathUrl()); - assertEquals(new File(importer3.getBasePath()).toURI().toURL(), importer3.getBasePathUrl()); + public void testGetBasePathUrl() throws Exception { + assertEquals(new File("src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java").toURI().toURL(), importer.getBasePathUrl()); } @Test public void testGetAsStringList() { - assertEquals(importer1.getName(), importer1.getAsStringList().get(0)); - assertEquals(importer1.getClidId(), importer1.getAsStringList().get(1)); - assertEquals(importer1.getClassName(), importer1.getAsStringList().get(2)); - assertEquals(importer1.getBasePath(), importer1.getAsStringList().get(3)); + assertEquals("Copac", importer.getAsStringList().get(0)); + assertEquals("cpc", importer.getAsStringList().get(1)); + assertEquals("net.sf.jabref.importer.fileformat.CopacImporter", importer.getAsStringList().get(2)); + assertEquals("src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java", importer.getAsStringList().get(3)); + } - assertEquals(importer2.getName(), importer2.getAsStringList().get(0)); - assertEquals(importer2.getClidId(), importer2.getAsStringList().get(1)); - assertEquals(importer2.getClassName(), importer2.getAsStringList().get(2)); - assertEquals(importer2.getBasePath(), importer2.getAsStringList().get(3)); + @Test + public void testEqualsTrue() { + assertEquals(importer, importer); + } - assertEquals(importer3.getName(), importer3.getAsStringList().get(0)); - assertEquals(importer3.getClidId(), importer3.getAsStringList().get(1)); - assertEquals(importer3.getClassName(), importer3.getAsStringList().get(2)); - assertEquals(importer3.getBasePath(), importer3.getAsStringList().get(3)); + @Test + public void testEqualsFalse() { + assertNotEquals(new CopacImporter(), importer); } @Test - public void testEquals() { - boolean test1 = importer1.equals(importer1); - boolean test2 = importer1.equals(importer2); - boolean test3 = importer3.equals(importer1); - - assertTrue(test1); - assertFalse(test2); - assertFalse(test3); + public void testCompareToSmaller() { + CustomImporter ovidImporter = new CustomImporter(new OvidImporter()); + + assertTrue(importer.compareTo(ovidImporter) < 0); } @Test - public void testHashCode() { - assertEquals(646299595, importer1.hashCode()); - assertEquals(2470242, importer2.hashCode()); - assertEquals(65293446, importer3.hashCode()); + public void testCompareToGreater() { + CustomImporter bibtexmlImporter = new CustomImporter(new BibTeXMLImporter()); + CustomImporter ovidImporter = new CustomImporter(new OvidImporter()); + + assertTrue(ovidImporter.compareTo(bibtexmlImporter) > 0); } @Test - public void testCompareTo() { - assertEquals(0, importer1.compareTo(importer1)); - assertTrue(importer1.compareTo(importer2) < 0); - assertTrue(importer3.compareTo(importer1) > 0); + public void testCompareToEven() { + assertEquals(0, importer.compareTo(importer)); } @Test public void testToString() { - assertEquals("BibTeXML", importer1.toString()); - assertEquals("Ovid", importer2.toString()); - assertEquals("Copac", importer3.toString()); + assertEquals("Copac", importer.toString()); + } + + @Test + public void testClassicConstructor() { + CustomImporter customImporter = new CustomImporter("Copac", "cpc", "net.sf.jabref.importer.fileformat.CopacImporter", "src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java"); + + assertEquals(customImporter.getName(), importer.getName()); + assertEquals(customImporter.getClidId(), importer.getClidId()); + assertEquals(customImporter.getBasePath(), importer.getBasePath()); + assertEquals(customImporter.getClassName(), importer.getClassName()); + } + + @Test + public void testListConstructor() { + List dataTest = Arrays.asList("Ovid", "ovid", "net.sf.jabref.importer.fileformat.OvidImporter", "src/main/java/net/sf/jabref/importer/fileformat/OvidImporter.java"); + CustomImporter customImporter = new CustomImporter(dataTest); + CustomImporter customOvidImporter = new CustomImporter(new OvidImporter()); + + assertEquals(customImporter.getName(), customOvidImporter.getName()); + assertEquals(customImporter.getClidId(), customOvidImporter.getClidId()); + assertEquals(customImporter.getBasePath(), customOvidImporter.getBasePath()); + assertEquals(customImporter.getClassName(), customOvidImporter.getClassName()); } } From f23dc8d1d5a9e9bdb9a08541647a256256e45e73 Mon Sep 17 00:00:00 2001 From: Sascha Zeller Date: Mon, 18 Jul 2016 15:47:17 +0200 Subject: [PATCH 3/3] modify constructors and "equals"-method --- .../sf/jabref/importer/CustomImporter.java | 16 +++++++------ .../jabref/importer/CustomImporterTest.java | 23 ++++++++++++------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/main/java/net/sf/jabref/importer/CustomImporter.java b/src/main/java/net/sf/jabref/importer/CustomImporter.java index 1446bf91c25..b74a6756e7d 100644 --- a/src/main/java/net/sf/jabref/importer/CustomImporter.java +++ b/src/main/java/net/sf/jabref/importer/CustomImporter.java @@ -60,18 +60,15 @@ public CustomImporter(List data) { } public CustomImporter(String name, String cliId, String className, String basePath) { - super(); + this(); this.name = name; this.cliId = cliId; this.className = className; this.basePath = basePath; } - public CustomImporter(ImportFormat importer){ - this.name = importer.getFormatName(); - this.cliId = importer.getId(); - this.className = importer.getClass().getName(); - this.basePath = "src/main/java/net/sf/jabref/importer/fileformat/" +importer.getFormatName() +"Importer.java"; + public CustomImporter(ImportFormat importer) { + this(importer.getFormatName(), importer.getId(), importer.getClass().getName(), "src/main/java/net/sf/jabref/importer/fileformat/" + importer.getFormatName() + "Importer.java"); } public String getName() { @@ -120,7 +117,12 @@ public List getAsStringList() { @Override public boolean equals(Object o) { - return (o instanceof CustomImporter) && this.getName().equals(((CustomImporter) o).getName()); + boolean equalName = this.getName().equals(((CustomImporter) o).getName()); + boolean equalCliId = this.getClidId().equals(((CustomImporter) o).getClidId()); + boolean equalClassName = this.getClassName().equals(((CustomImporter) o).getClassName()); + boolean equalBasePath = this.getBasePath().equals(((CustomImporter) o).getBasePath()); + + return (o instanceof CustomImporter) && equalName && equalCliId && equalClassName && equalBasePath; } @Override diff --git a/src/test/java/net/sf/jabref/importer/CustomImporterTest.java b/src/test/java/net/sf/jabref/importer/CustomImporterTest.java index 16fa3a634b4..478817d7f3d 100644 --- a/src/test/java/net/sf/jabref/importer/CustomImporterTest.java +++ b/src/test/java/net/sf/jabref/importer/CustomImporterTest.java @@ -109,10 +109,7 @@ public void testToString() { public void testClassicConstructor() { CustomImporter customImporter = new CustomImporter("Copac", "cpc", "net.sf.jabref.importer.fileformat.CopacImporter", "src/main/java/net/sf/jabref/importer/fileformat/CopacImporter.java"); - assertEquals(customImporter.getName(), importer.getName()); - assertEquals(customImporter.getClidId(), importer.getClidId()); - assertEquals(customImporter.getBasePath(), importer.getBasePath()); - assertEquals(customImporter.getClassName(), importer.getClassName()); + assertEquals(importer, customImporter); } @Test @@ -121,9 +118,19 @@ public void testListConstructor() { CustomImporter customImporter = new CustomImporter(dataTest); CustomImporter customOvidImporter = new CustomImporter(new OvidImporter()); - assertEquals(customImporter.getName(), customOvidImporter.getName()); - assertEquals(customImporter.getClidId(), customOvidImporter.getClidId()); - assertEquals(customImporter.getBasePath(), customOvidImporter.getBasePath()); - assertEquals(customImporter.getClassName(), customOvidImporter.getClassName()); + assertEquals(customImporter, customOvidImporter); + } + + @Test + public void testEmptyConstructor() { + CustomImporter customImporter = new CustomImporter(); + customImporter.setName("Ovid"); + customImporter.setCliId("ovid"); + customImporter.setClassName("net.sf.jabref.importer.fileformat.OvidImporter"); + customImporter.setBasePath("src/main/java/net/sf/jabref/importer/fileformat/OvidImporter.java"); + + CustomImporter customOvidImporter = new CustomImporter(new OvidImporter()); + + assertEquals(customImporter, customOvidImporter); } }