From 3084c57147f1b31f02e6bf2045551bcef1aad3a5 Mon Sep 17 00:00:00 2001 From: Dario Safa Date: Mon, 15 Mar 2021 15:12:59 +0100 Subject: [PATCH 1/8] Branch Coverage Tests FieldChange.java 18% -> 94% Abbreviation.java 63% -> 88% SuggestionProviders.java 0% -> 100% --- .../SuggestionProvidersTest.java | 52 ++++++++++++++++ .../logic/journals/AbbreviationTest.java | 15 ++++- .../org/jabref/model/FieldChangeTest.java | 61 +++++++++++++++++++ 3 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java create mode 100644 src/test/java/org/jabref/model/FieldChangeTest.java diff --git a/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java new file mode 100644 index 00000000000..198cb35f829 --- /dev/null +++ b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java @@ -0,0 +1,52 @@ +package org.jabref.gui.autocompleter; + +import org.jabref.logic.journals.JournalAbbreviationRepository; +import org.jabref.model.database.BibDatabase; +import org.jabref.model.entry.BibEntry; +import org.jabref.model.entry.field.Field; +import org.jabref.model.entry.field.FieldFactory; +import org.jabref.model.entry.field.SpecialField; +import org.jabref.model.entry.field.StandardField; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.Set; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.mock; + +class SuggestionProvidersTest { + + @Test + void getForFieldTest() { + BibDatabase database = new BibDatabase(); + JournalAbbreviationRepository abbreviationRepository = mock(JournalAbbreviationRepository.class); + BibEntry entry = new BibEntry(); + Field personEntryField = StandardField.AUTHOR; + Field singleEntryField = StandardField.XREF; + Field multipleEntryField = StandardField.XDATA; + Field journalEntryField = StandardField.JOURNAL; + Field publisherEntryField = StandardField.PUBLISHER; + Field specialEntryField = SpecialField.PRINTED; + AutoCompletePreferences autoCompletePreferences = new AutoCompletePreferences(true,AutoCompleteFirstNameMode.BOTH, AutoCompletePreferences.NameFormat.BOTH, FieldFactory.parseFieldList + (personEntryField.getName()+";"+singleEntryField.getName()+";"+multipleEntryField.getName()+";"+journalEntryField.getName()+";"+publisherEntryField.getName()+";"+specialEntryField.getName()), null); + SuggestionProviders sp = new SuggestionProviders(database,abbreviationRepository,autoCompletePreferences); + SuggestionProviders empty = new SuggestionProviders(); + + entry.setField(personEntryField, "Goethe"); + entry.setField(singleEntryField, "Single"); + entry.setField(multipleEntryField, "Multiple"); + entry.setField(journalEntryField, "Journal"); + entry.setField(publisherEntryField, "Publisher"); + entry.setField(specialEntryField, "2000"); + database.insertEntry(entry); + + assertSame("org.jabref.gui.autocompleter.EmptrySuggestionProvider", empty.getForField(personEntryField).getClass().getName()); + assertSame("org.jabref.gui.autocompleter.PersonNameSuggestionProvider", sp.getForField(personEntryField).getClass().getName()); + assertSame("org.jabref.gui.autocompleter.BibEntrySuggestionProvider", sp.getForField(singleEntryField).getClass().getName()); + assertSame("org.jabref.gui.autocompleter.BibEntrySuggestionProvider", sp.getForField(multipleEntryField).getClass().getName()); + assertSame("org.jabref.gui.autocompleter.JournalsSuggestionProvider", sp.getForField(journalEntryField).getClass().getName()); + assertSame("org.jabref.gui.autocompleter.JournalsSuggestionProvider", sp.getForField(publisherEntryField).getClass().getName()); + assertSame("org.jabref.gui.autocompleter.WordSuggestionProvider", sp.getForField(specialEntryField).getClass().getName()); + } +} diff --git a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java index 3931d712c47..8f502abef9c 100644 --- a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java +++ b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java @@ -2,7 +2,7 @@ import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.*; class AbbreviationTest { @@ -101,4 +101,17 @@ void testDefaultAndShortestUniqueAbbreviationsAreSame() { Abbreviation abbreviation = new Abbreviation("Long Name", "L N"); assertEquals(abbreviation.getAbbreviation(), abbreviation.getShortestUniqueAbbreviation()); } + + @Test + void testToString() { + Abbreviation abbreviation = new Abbreviation("Long Name", "L N", "LN"); + assertEquals(abbreviation.toString(), "Abbreviation{name=Long Name, abbreviation=L N, medlineAbbreviation=L N, shortestUniqueAbbreviation=LN}"); + } + + @Test + void testEquals() { + Abbreviation abbreviation = new Abbreviation("Long Name", "L N", "LN"); + assertTrue(abbreviation.equals(abbreviation)); + assertFalse(abbreviation.equals("String")); + } } diff --git a/src/test/java/org/jabref/model/FieldChangeTest.java b/src/test/java/org/jabref/model/FieldChangeTest.java new file mode 100644 index 00000000000..746a98b2bb9 --- /dev/null +++ b/src/test/java/org/jabref/model/FieldChangeTest.java @@ -0,0 +1,61 @@ +package org.jabref.model; + +import org.jabref.model.entry.BibEntry; +import org.jabref.model.entry.field.Field; +import org.jabref.model.entry.field.StandardField; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class FieldChangeTest { + + private FieldChange Fieldchange; + + @Test + void testHashCode() { + FieldChange fcNull = new FieldChange(null, null, null, null); + assertEquals(923521,fcNull.hashCode()); + } + + @Test + void testEquals() { + BibEntry entry = new BibEntry(); + BibEntry entryOther = new BibEntry(); + final Field field = StandardField.DOI; + final Field fieldOther = StandardField.DOI; + entry.setField(StandardField.DOI, "foo"); + final String oldValue = "foo"; + final String newValue = "bar"; + final String oldValueOther = "fooX"; + final String newValueOther = "barX"; + + FieldChange fc = new FieldChange(entry, field, oldValue, newValue); + FieldChange fcOther = new FieldChange(entryOther, fieldOther, oldValueOther, newValueOther); + FieldChange fcBlankAll = new FieldChange(null, null, null, null); + FieldChange fcBlankField = new FieldChange(entry, null, oldValue, newValue); + FieldChange fcBlankOldValue = new FieldChange(entry, field, null, newValue); + FieldChange fcBlankNewValue = new FieldChange(entry, field, oldValue, null); + + assertFalse(fc.equals("foo")); + assertTrue(fc.equals(fc)); + assertFalse(fcBlankAll.equals(fc)); + assertFalse(fc.equals(fcOther)); + assertFalse(fcBlankField.equals(fc)); + assertFalse(fcBlankOldValue.equals(fc)); + assertFalse(fcBlankNewValue.equals(fc)); + assertTrue(fcBlankAll.equals(fcBlankAll)); + } + + @Test + void testToString() { + BibEntry entry = new BibEntry(); + Field field = StandardField.DOI; + entry.setCitationKey("CitationKey"); + final String oldValue = "Old"; + final String newValue = "New"; + + FieldChange fc = new FieldChange(entry, field, oldValue, newValue); + assertEquals("FieldChange [entry=CitationKey, field=DOI, oldValue=Old, newValue=New]", fc.toString()); + } +} From 0004bc540c5c2337629c017dbcbcd0d9e77e868d Mon Sep 17 00:00:00 2001 From: Dario Safa Date: Mon, 15 Mar 2021 15:13:42 +0100 Subject: [PATCH 2/8] Boundary Tests FileHelper.java -> Boundary testing of an empty file CitationKeyGenerator.java -> Boundary testing of testlagepage parser for 0-00 & 1-1 HTMLCharacterChecker.java -> Null Value Boundary test --- .../citationkeypattern/CitationKeyGeneratorTest.java | 3 +++ .../logic/integrity/HTMLCharacterCheckerTest.java | 11 +++++++++++ .../java/org/jabref/model/util/FileHelperTest.java | 9 ++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java b/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java index 82498577af2..1ae6fde62de 100644 --- a/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java +++ b/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java @@ -747,6 +747,9 @@ void testLastPage() { assertEquals("97", CitationKeyGenerator.lastPage("7,41,73--97")); assertEquals("97", CitationKeyGenerator.lastPage("7,41,97--73")); assertEquals("43", CitationKeyGenerator.lastPage("43+")); + assertEquals("0", CitationKeyGenerator.lastPage("00--0")); + assertEquals("1", CitationKeyGenerator.lastPage("1--1")); + } @SuppressWarnings("ConstantConditions") diff --git a/src/test/java/org/jabref/logic/integrity/HTMLCharacterCheckerTest.java b/src/test/java/org/jabref/logic/integrity/HTMLCharacterCheckerTest.java index c2ee7af10b3..db827d75ea0 100644 --- a/src/test/java/org/jabref/logic/integrity/HTMLCharacterCheckerTest.java +++ b/src/test/java/org/jabref/logic/integrity/HTMLCharacterCheckerTest.java @@ -7,14 +7,25 @@ import org.jabref.model.entry.field.StandardField; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.function.Executable; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; public class HTMLCharacterCheckerTest { private final HTMLCharacterChecker checker = new HTMLCharacterChecker(); private final BibEntry entry = new BibEntry(); + @Test + void fieldNullValueCheck() { + Exception exception = assertThrows( + NullPointerException.class, + () -> entry.setField(StandardField.AUTHOR, null), + "field value must not be null" + ); + } + @Test void titleAcceptsNonHTMLEncodedCharacters() { entry.setField(StandardField.TITLE, "Not a single {HTML} character"); diff --git a/src/test/java/org/jabref/model/util/FileHelperTest.java b/src/test/java/org/jabref/model/util/FileHelperTest.java index 27096d3b4ff..5352ff0c5fc 100644 --- a/src/test/java/org/jabref/model/util/FileHelperTest.java +++ b/src/test/java/org/jabref/model/util/FileHelperTest.java @@ -1,10 +1,11 @@ package org.jabref.model.util; +import java.nio.file.Path; import java.util.Optional; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.*; class FileHelperTest { @Test @@ -18,4 +19,10 @@ public void fileExtensionFromUrl() { final String filePath = "https://link.springer.com/content/pdf/10.1007%2Fs40955-018-0121-9.pdf"; assertEquals(Optional.of("pdf"), FileHelper.getFileExtension(filePath)); } + + @Test + public void testFileNameEmpty() { + Path path = Path.of("/"); + assertEquals(Optional.of(path), FileHelper.find("", path)); + } } From 4e4f8fe16fe21abfb9c2debd946839caf7f0155a Mon Sep 17 00:00:00 2001 From: Dario Safa Date: Mon, 15 Mar 2021 15:13:56 +0100 Subject: [PATCH 3/8] Partition Tests ParsedEntryLink.java -> Partition testing of ParsingEntryLink UpperCaseFormatter.java -> Partition testing for special characters CitationStyleCacheTest.java -> Partition testing of cache storage --- .../citationstyle/CitationStyleCacheTest.java | 39 +++++++++++++++++++ .../casechanger/UpperCaseFormatterTest.java | 3 ++ .../jabref/model/entry/EntryLinkListTest.java | 10 ++++- 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java diff --git a/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java b/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java new file mode 100644 index 00000000000..70e7c26cc56 --- /dev/null +++ b/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java @@ -0,0 +1,39 @@ +package org.jabref.logic.citationstyle; + +import org.jabref.model.database.BibDatabase; +import org.jabref.model.database.BibDatabaseContext; +import org.jabref.model.entry.BibEntry; +import org.jabref.model.texparser.Citation; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +class CitationStyleCacheTest { + + private BibEntry bibEntry; + private List entries; + private BibDatabase database; + private BibDatabaseContext databaseContext; + private CitationStyleCache csCache; + + @BeforeAll + static void beforeAll() { + } + + @Test + void getCitationForTest() { + BibEntry bibEntry = new BibEntry(); + bibEntry.setCitationKey("test"); + List entries = new ArrayList<>(); + entries.add(0,bibEntry); + BibDatabase database = new BibDatabase(entries); + BibDatabaseContext databaseContext = new BibDatabaseContext(database); + CitationStyleCache csCache = new CitationStyleCache(databaseContext); + + assertNotNull(csCache.getCitationFor(bibEntry)); + } +} diff --git a/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java b/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java index 2c669a6a5d2..5f2a74947e4 100644 --- a/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java +++ b/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java @@ -24,6 +24,9 @@ public void test() { assertEquals("UPPER", formatter.format("UPPER")); assertEquals("UPPER {lower}", formatter.format("upper {lower}")); assertEquals("UPPER {l}OWER", formatter.format("upper {l}ower")); + assertEquals("1", formatter.format("1")); + assertEquals("!", formatter.format("!")); + } @Test diff --git a/src/test/java/org/jabref/model/entry/EntryLinkListTest.java b/src/test/java/org/jabref/model/entry/EntryLinkListTest.java index 03b45ef2ae0..1ca8fd6dc4b 100644 --- a/src/test/java/org/jabref/model/entry/EntryLinkListTest.java +++ b/src/test/java/org/jabref/model/entry/EntryLinkListTest.java @@ -9,8 +9,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; public class EntryLinkListTest { @@ -21,6 +20,7 @@ public class EntryLinkListTest { private ParsedEntryLink link; private BibEntry source; private BibEntry target; + private BibEntry entry; @BeforeEach public void before() { @@ -29,6 +29,7 @@ public void before() { link = links.get(0); source = create("source"); target = create("target"); + entry = create("entry"); } private BibEntry create(String citeKey) { @@ -58,6 +59,11 @@ public void givenFieldValueAndDatabaseWhenParsingThenExpectLink() { ParsedEntryLink expected = new ParsedEntryLink(KEY, database); assertEquals(expected, link); } + @Test + public void givenBibEntryWhenParsingThenExpectLink() { + ParsedEntryLink expected = new ParsedEntryLink(entry); + assertFalse(expected.getLinkedEntry().isEmpty()); + } @Test public void givenNullFieldValueAndDatabaseWhenParsingThenExpectLinksIsEmpty() { From 8f68850cbdb049def52b796dc73b7df47c23a551 Mon Sep 17 00:00:00 2001 From: Dario Safa Date: Mon, 15 Mar 2021 15:15:42 +0100 Subject: [PATCH 4/8] Update SuggestionProvidersTest.java SPTest typo fix --- .../org/jabref/gui/autocompleter/SuggestionProvidersTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java index 198cb35f829..1310a1da248 100644 --- a/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java +++ b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java @@ -41,7 +41,7 @@ void getForFieldTest() { entry.setField(specialEntryField, "2000"); database.insertEntry(entry); - assertSame("org.jabref.gui.autocompleter.EmptrySuggestionProvider", empty.getForField(personEntryField).getClass().getName()); + assertSame("org.jabref.gui.autocompleter.EmptySuggestionProvider", empty.getForField(personEntryField).getClass().getName()); assertSame("org.jabref.gui.autocompleter.PersonNameSuggestionProvider", sp.getForField(personEntryField).getClass().getName()); assertSame("org.jabref.gui.autocompleter.BibEntrySuggestionProvider", sp.getForField(singleEntryField).getClass().getName()); assertSame("org.jabref.gui.autocompleter.BibEntrySuggestionProvider", sp.getForField(multipleEntryField).getClass().getName()); From 4ea42edc2acdd8e3ddd09924a642646b4eadb428 Mon Sep 17 00:00:00 2001 From: Dario Safa Date: Wed, 17 Mar 2021 11:59:02 +0100 Subject: [PATCH 5/8] CodeStyle Fixes Checkstyle passed --- .../autocompleter/SuggestionProvidersTest.java | 11 ++++------- .../citationstyle/CitationStyleCacheTest.java | 17 ++++++----------- .../integrity/HTMLCharacterCheckerTest.java | 1 - .../jabref/logic/journals/AbbreviationTest.java | 4 +++- .../java/org/jabref/model/FieldChangeTest.java | 8 +++++--- .../jabref/model/entry/EntryLinkListTest.java | 5 ++++- .../org/jabref/model/util/FileHelperTest.java | 2 +- 7 files changed, 23 insertions(+), 25 deletions(-) diff --git a/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java index 1310a1da248..54a4f470ff4 100644 --- a/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java +++ b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java @@ -7,12 +7,10 @@ import org.jabref.model.entry.field.FieldFactory; import org.jabref.model.entry.field.SpecialField; import org.jabref.model.entry.field.StandardField; -import org.junit.jupiter.api.Test; -import java.util.ArrayList; -import java.util.Set; +import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.Mockito.mock; class SuggestionProvidersTest { @@ -28,9 +26,8 @@ void getForFieldTest() { Field journalEntryField = StandardField.JOURNAL; Field publisherEntryField = StandardField.PUBLISHER; Field specialEntryField = SpecialField.PRINTED; - AutoCompletePreferences autoCompletePreferences = new AutoCompletePreferences(true,AutoCompleteFirstNameMode.BOTH, AutoCompletePreferences.NameFormat.BOTH, FieldFactory.parseFieldList - (personEntryField.getName()+";"+singleEntryField.getName()+";"+multipleEntryField.getName()+";"+journalEntryField.getName()+";"+publisherEntryField.getName()+";"+specialEntryField.getName()), null); - SuggestionProviders sp = new SuggestionProviders(database,abbreviationRepository,autoCompletePreferences); + AutoCompletePreferences autoCompletePreferences = new AutoCompletePreferences(true, AutoCompleteFirstNameMode.BOTH, AutoCompletePreferences.NameFormat.BOTH, FieldFactory.parseFieldList(personEntryField.getName() + ";" + singleEntryField.getName() + ";" + multipleEntryField.getName() + ";" + journalEntryField.getName() + ";" + publisherEntryField.getName() + ";" + specialEntryField.getName()), null); + SuggestionProviders sp = new SuggestionProviders(database, abbreviationRepository, autoCompletePreferences); SuggestionProviders empty = new SuggestionProviders(); entry.setField(personEntryField, "Goethe"); diff --git a/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java b/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java index 70e7c26cc56..51e67f8d382 100644 --- a/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java +++ b/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java @@ -1,16 +1,15 @@ package org.jabref.logic.citationstyle; +import java.util.ArrayList; +import java.util.List; + import org.jabref.model.database.BibDatabase; import org.jabref.model.database.BibDatabaseContext; import org.jabref.model.entry.BibEntry; -import org.jabref.model.texparser.Citation; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; -import java.util.ArrayList; -import java.util.List; +import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertNotNull; class CitationStyleCacheTest { @@ -20,16 +19,12 @@ class CitationStyleCacheTest { private BibDatabaseContext databaseContext; private CitationStyleCache csCache; - @BeforeAll - static void beforeAll() { - } - @Test void getCitationForTest() { BibEntry bibEntry = new BibEntry(); bibEntry.setCitationKey("test"); List entries = new ArrayList<>(); - entries.add(0,bibEntry); + entries.add(0, bibEntry); BibDatabase database = new BibDatabase(entries); BibDatabaseContext databaseContext = new BibDatabaseContext(database); CitationStyleCache csCache = new CitationStyleCache(databaseContext); diff --git a/src/test/java/org/jabref/logic/integrity/HTMLCharacterCheckerTest.java b/src/test/java/org/jabref/logic/integrity/HTMLCharacterCheckerTest.java index db827d75ea0..35b92e744d7 100644 --- a/src/test/java/org/jabref/logic/integrity/HTMLCharacterCheckerTest.java +++ b/src/test/java/org/jabref/logic/integrity/HTMLCharacterCheckerTest.java @@ -7,7 +7,6 @@ import org.jabref.model.entry.field.StandardField; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.function.Executable; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; diff --git a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java index 8f502abef9c..19958130029 100644 --- a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java +++ b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java @@ -2,7 +2,9 @@ import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; class AbbreviationTest { diff --git a/src/test/java/org/jabref/model/FieldChangeTest.java b/src/test/java/org/jabref/model/FieldChangeTest.java index 746a98b2bb9..07dbb2a9287 100644 --- a/src/test/java/org/jabref/model/FieldChangeTest.java +++ b/src/test/java/org/jabref/model/FieldChangeTest.java @@ -3,10 +3,12 @@ import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.field.Field; import org.jabref.model.entry.field.StandardField; -import org.junit.jupiter.api.BeforeAll; + import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; class FieldChangeTest { @@ -15,7 +17,7 @@ class FieldChangeTest { @Test void testHashCode() { FieldChange fcNull = new FieldChange(null, null, null, null); - assertEquals(923521,fcNull.hashCode()); + assertEquals(923521, fcNull.hashCode()); } @Test diff --git a/src/test/java/org/jabref/model/entry/EntryLinkListTest.java b/src/test/java/org/jabref/model/entry/EntryLinkListTest.java index 1ca8fd6dc4b..c360719d452 100644 --- a/src/test/java/org/jabref/model/entry/EntryLinkListTest.java +++ b/src/test/java/org/jabref/model/entry/EntryLinkListTest.java @@ -9,7 +9,9 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; public class EntryLinkListTest { @@ -59,6 +61,7 @@ public void givenFieldValueAndDatabaseWhenParsingThenExpectLink() { ParsedEntryLink expected = new ParsedEntryLink(KEY, database); assertEquals(expected, link); } + @Test public void givenBibEntryWhenParsingThenExpectLink() { ParsedEntryLink expected = new ParsedEntryLink(entry); diff --git a/src/test/java/org/jabref/model/util/FileHelperTest.java b/src/test/java/org/jabref/model/util/FileHelperTest.java index 5352ff0c5fc..6d047662b12 100644 --- a/src/test/java/org/jabref/model/util/FileHelperTest.java +++ b/src/test/java/org/jabref/model/util/FileHelperTest.java @@ -5,7 +5,7 @@ import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class FileHelperTest { @Test From 8e297b72396c2f49f92510f2a21b718c5746eece Mon Sep 17 00:00:00 2001 From: Dario Safa Date: Fri, 26 Mar 2021 14:43:58 +0100 Subject: [PATCH 6/8] Update AbbreviationTest.java Adjustments for @ellieMayVelasquez feedback https://github.com/JabRef/jabref/pull/7543#pullrequestreview-617043711 --- src/test/java/org/jabref/logic/journals/AbbreviationTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java index 19958130029..92043e5f124 100644 --- a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java +++ b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java @@ -113,7 +113,8 @@ void testToString() { @Test void testEquals() { Abbreviation abbreviation = new Abbreviation("Long Name", "L N", "LN"); - assertTrue(abbreviation.equals(abbreviation)); + Abbreviation otherAbbreviation = new Abbreviation("Long Name", "L N", "LN"); + assertTrue(abbreviation.equals(otherAbbreviation)); assertFalse(abbreviation.equals("String")); } } From 4f7c6ba9511cf13de67a0f2a442966de5f51c649 Mon Sep 17 00:00:00 2001 From: Dario Safa Date: Sun, 9 May 2021 20:26:33 +0200 Subject: [PATCH 7/8] Applying feedback to PR addressed all comments & suggestions to test files --- .../SuggestionProvidersTest.java | 23 ++++--- .../CitationKeyGeneratorTest.java | 2 - .../citationstyle/CitationStyleCacheTest.java | 34 ---------- .../casechanger/UpperCaseFormatterTest.java | 41 ++++++------ .../logic/journals/AbbreviationTest.java | 14 ----- .../org/jabref/model/FieldChangeTest.java | 63 ------------------- .../jabref/model/entry/EntryLinkListTest.java | 6 +- 7 files changed, 38 insertions(+), 145 deletions(-) delete mode 100644 src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java delete mode 100644 src/test/java/org/jabref/model/FieldChangeTest.java diff --git a/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java index 54a4f470ff4..d528544be77 100644 --- a/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java +++ b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java @@ -10,6 +10,7 @@ import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.Mockito.mock; @@ -36,14 +37,20 @@ void getForFieldTest() { entry.setField(journalEntryField, "Journal"); entry.setField(publisherEntryField, "Publisher"); entry.setField(specialEntryField, "2000"); - database.insertEntry(entry); - assertSame("org.jabref.gui.autocompleter.EmptySuggestionProvider", empty.getForField(personEntryField).getClass().getName()); - assertSame("org.jabref.gui.autocompleter.PersonNameSuggestionProvider", sp.getForField(personEntryField).getClass().getName()); - assertSame("org.jabref.gui.autocompleter.BibEntrySuggestionProvider", sp.getForField(singleEntryField).getClass().getName()); - assertSame("org.jabref.gui.autocompleter.BibEntrySuggestionProvider", sp.getForField(multipleEntryField).getClass().getName()); - assertSame("org.jabref.gui.autocompleter.JournalsSuggestionProvider", sp.getForField(journalEntryField).getClass().getName()); - assertSame("org.jabref.gui.autocompleter.JournalsSuggestionProvider", sp.getForField(publisherEntryField).getClass().getName()); - assertSame("org.jabref.gui.autocompleter.WordSuggestionProvider", sp.getForField(specialEntryField).getClass().getName()); + assertEquals(org.jabref.gui.autocompleter.EmptySuggestionProvider.class + , empty.getForField(personEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.PersonNameSuggestionProvider.class + , sp.getForField(personEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.BibEntrySuggestionProvider.class + , sp.getForField(singleEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.BibEntrySuggestionProvider.class + , sp.getForField(multipleEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.JournalsSuggestionProvider.class + , sp.getForField(journalEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.JournalsSuggestionProvider.class + , sp.getForField(publisherEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.WordSuggestionProvider.class + , sp.getForField(specialEntryField).getClass()); } } diff --git a/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java b/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java index 1ae6fde62de..b7efe6a1e8e 100644 --- a/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java +++ b/src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java @@ -739,7 +739,6 @@ void testPagePrefixNull() { @Test void testLastPage() { - assertEquals("27", CitationKeyGenerator.lastPage("7--27")); assertEquals("27", CitationKeyGenerator.lastPage("--27")); assertEquals("", CitationKeyGenerator.lastPage("")); @@ -749,7 +748,6 @@ void testLastPage() { assertEquals("43", CitationKeyGenerator.lastPage("43+")); assertEquals("0", CitationKeyGenerator.lastPage("00--0")); assertEquals("1", CitationKeyGenerator.lastPage("1--1")); - } @SuppressWarnings("ConstantConditions") diff --git a/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java b/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java deleted file mode 100644 index 51e67f8d382..00000000000 --- a/src/test/java/org/jabref/logic/citationstyle/CitationStyleCacheTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.jabref.logic.citationstyle; - -import java.util.ArrayList; -import java.util.List; - -import org.jabref.model.database.BibDatabase; -import org.jabref.model.database.BibDatabaseContext; -import org.jabref.model.entry.BibEntry; - -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.assertNotNull; - -class CitationStyleCacheTest { - - private BibEntry bibEntry; - private List entries; - private BibDatabase database; - private BibDatabaseContext databaseContext; - private CitationStyleCache csCache; - - @Test - void getCitationForTest() { - BibEntry bibEntry = new BibEntry(); - bibEntry.setCitationKey("test"); - List entries = new ArrayList<>(); - entries.add(0, bibEntry); - BibDatabase database = new BibDatabase(entries); - BibDatabaseContext databaseContext = new BibDatabaseContext(database); - CitationStyleCache csCache = new CitationStyleCache(databaseContext); - - assertNotNull(csCache.getCitationFor(bibEntry)); - } -} diff --git a/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java b/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java index 5f2a74947e4..c16259e7a0c 100644 --- a/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java +++ b/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java @@ -1,7 +1,10 @@ package org.jabref.logic.formatter.casechanger; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; +import java.util.stream.Stream; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -10,27 +13,23 @@ */ public class UpperCaseFormatterTest { - private UpperCaseFormatter formatter; - - @BeforeEach - public void setUp() { - formatter = new UpperCaseFormatter(); - } - - @Test - public void test() { - assertEquals("LOWER", formatter.format("LOWER")); - assertEquals("UPPER", formatter.format("upper")); - assertEquals("UPPER", formatter.format("UPPER")); - assertEquals("UPPER {lower}", formatter.format("upper {lower}")); - assertEquals("UPPER {l}OWER", formatter.format("upper {l}ower")); - assertEquals("1", formatter.format("1")); - assertEquals("!", formatter.format("!")); + private UpperCaseFormatter formatter = new UpperCaseFormatter(); + @ParameterizedTest + @MethodSource("upperCaseTests") + public void upperCasetest(String expectedFormat, String inputFormat) { + assertEquals(expectedFormat, formatter.format(inputFormat)); } - @Test - public void formatExample() { - assertEquals("KDE {Amarok}", formatter.format(formatter.getExampleInput())); + private static Stream upperCaseTests(){ + return Stream.of( + Arguments.of("LOWER", "LOWER"), + Arguments.of("UPPER", "upper"), + Arguments.of("UPPER", "UPPER"), + Arguments.of("UPPER {lower}", "upper {lower}"), + Arguments.of("UPPER {l}OWER", "upper {l}ower"), + Arguments.of("1", "1"), + Arguments.of("!", "!") + ); } } diff --git a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java index 92043e5f124..92f4ecb6c95 100644 --- a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java +++ b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java @@ -103,18 +103,4 @@ void testDefaultAndShortestUniqueAbbreviationsAreSame() { Abbreviation abbreviation = new Abbreviation("Long Name", "L N"); assertEquals(abbreviation.getAbbreviation(), abbreviation.getShortestUniqueAbbreviation()); } - - @Test - void testToString() { - Abbreviation abbreviation = new Abbreviation("Long Name", "L N", "LN"); - assertEquals(abbreviation.toString(), "Abbreviation{name=Long Name, abbreviation=L N, medlineAbbreviation=L N, shortestUniqueAbbreviation=LN}"); - } - - @Test - void testEquals() { - Abbreviation abbreviation = new Abbreviation("Long Name", "L N", "LN"); - Abbreviation otherAbbreviation = new Abbreviation("Long Name", "L N", "LN"); - assertTrue(abbreviation.equals(otherAbbreviation)); - assertFalse(abbreviation.equals("String")); - } } diff --git a/src/test/java/org/jabref/model/FieldChangeTest.java b/src/test/java/org/jabref/model/FieldChangeTest.java deleted file mode 100644 index 07dbb2a9287..00000000000 --- a/src/test/java/org/jabref/model/FieldChangeTest.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.jabref.model; - -import org.jabref.model.entry.BibEntry; -import org.jabref.model.entry.field.Field; -import org.jabref.model.entry.field.StandardField; - -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; - -class FieldChangeTest { - - private FieldChange Fieldchange; - - @Test - void testHashCode() { - FieldChange fcNull = new FieldChange(null, null, null, null); - assertEquals(923521, fcNull.hashCode()); - } - - @Test - void testEquals() { - BibEntry entry = new BibEntry(); - BibEntry entryOther = new BibEntry(); - final Field field = StandardField.DOI; - final Field fieldOther = StandardField.DOI; - entry.setField(StandardField.DOI, "foo"); - final String oldValue = "foo"; - final String newValue = "bar"; - final String oldValueOther = "fooX"; - final String newValueOther = "barX"; - - FieldChange fc = new FieldChange(entry, field, oldValue, newValue); - FieldChange fcOther = new FieldChange(entryOther, fieldOther, oldValueOther, newValueOther); - FieldChange fcBlankAll = new FieldChange(null, null, null, null); - FieldChange fcBlankField = new FieldChange(entry, null, oldValue, newValue); - FieldChange fcBlankOldValue = new FieldChange(entry, field, null, newValue); - FieldChange fcBlankNewValue = new FieldChange(entry, field, oldValue, null); - - assertFalse(fc.equals("foo")); - assertTrue(fc.equals(fc)); - assertFalse(fcBlankAll.equals(fc)); - assertFalse(fc.equals(fcOther)); - assertFalse(fcBlankField.equals(fc)); - assertFalse(fcBlankOldValue.equals(fc)); - assertFalse(fcBlankNewValue.equals(fc)); - assertTrue(fcBlankAll.equals(fcBlankAll)); - } - - @Test - void testToString() { - BibEntry entry = new BibEntry(); - Field field = StandardField.DOI; - entry.setCitationKey("CitationKey"); - final String oldValue = "Old"; - final String newValue = "New"; - - FieldChange fc = new FieldChange(entry, field, oldValue, newValue); - assertEquals("FieldChange [entry=CitationKey, field=DOI, oldValue=Old, newValue=New]", fc.toString()); - } -} diff --git a/src/test/java/org/jabref/model/entry/EntryLinkListTest.java b/src/test/java/org/jabref/model/entry/EntryLinkListTest.java index c360719d452..6cc596f8096 100644 --- a/src/test/java/org/jabref/model/entry/EntryLinkListTest.java +++ b/src/test/java/org/jabref/model/entry/EntryLinkListTest.java @@ -31,7 +31,6 @@ public void before() { link = links.get(0); source = create("source"); target = create("target"); - entry = create("entry"); } private BibEntry create(String citeKey) { @@ -64,8 +63,9 @@ public void givenFieldValueAndDatabaseWhenParsingThenExpectLink() { @Test public void givenBibEntryWhenParsingThenExpectLink() { - ParsedEntryLink expected = new ParsedEntryLink(entry); - assertFalse(expected.getLinkedEntry().isEmpty()); + entry = create("entry"); + ParsedEntryLink expected = new ParsedEntryLink(entry); + assertFalse(expected.getLinkedEntry().isEmpty()); } @Test From 2723e8e0e8f20f45677e25cc64fd1abb12a28d53 Mon Sep 17 00:00:00 2001 From: Dario Safa Date: Sun, 9 May 2021 20:36:11 +0200 Subject: [PATCH 8/8] checkstyle fix --- .../SuggestionProvidersTest.java | 22 ++++++------------- .../casechanger/UpperCaseFormatterTest.java | 2 +- .../logic/journals/AbbreviationTest.java | 2 -- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java index d528544be77..65a587d0290 100644 --- a/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java +++ b/src/test/java/org/jabref/gui/autocompleter/SuggestionProvidersTest.java @@ -11,7 +11,6 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.Mockito.mock; class SuggestionProvidersTest { @@ -38,19 +37,12 @@ void getForFieldTest() { entry.setField(publisherEntryField, "Publisher"); entry.setField(specialEntryField, "2000"); - assertEquals(org.jabref.gui.autocompleter.EmptySuggestionProvider.class - , empty.getForField(personEntryField).getClass()); - assertEquals(org.jabref.gui.autocompleter.PersonNameSuggestionProvider.class - , sp.getForField(personEntryField).getClass()); - assertEquals(org.jabref.gui.autocompleter.BibEntrySuggestionProvider.class - , sp.getForField(singleEntryField).getClass()); - assertEquals(org.jabref.gui.autocompleter.BibEntrySuggestionProvider.class - , sp.getForField(multipleEntryField).getClass()); - assertEquals(org.jabref.gui.autocompleter.JournalsSuggestionProvider.class - , sp.getForField(journalEntryField).getClass()); - assertEquals(org.jabref.gui.autocompleter.JournalsSuggestionProvider.class - , sp.getForField(publisherEntryField).getClass()); - assertEquals(org.jabref.gui.autocompleter.WordSuggestionProvider.class - , sp.getForField(specialEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.EmptySuggestionProvider.class, empty.getForField(personEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.PersonNameSuggestionProvider.class, sp.getForField(personEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.BibEntrySuggestionProvider.class, sp.getForField(singleEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.BibEntrySuggestionProvider.class, sp.getForField(multipleEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.JournalsSuggestionProvider.class, sp.getForField(journalEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.JournalsSuggestionProvider.class, sp.getForField(publisherEntryField).getClass()); + assertEquals(org.jabref.gui.autocompleter.WordSuggestionProvider.class, sp.getForField(specialEntryField).getClass()); } } diff --git a/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java b/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java index c16259e7a0c..791a08a5c49 100644 --- a/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java +++ b/src/test/java/org/jabref/logic/formatter/casechanger/UpperCaseFormatterTest.java @@ -21,7 +21,7 @@ public void upperCasetest(String expectedFormat, String inputFormat) { assertEquals(expectedFormat, formatter.format(inputFormat)); } - private static Stream upperCaseTests(){ + private static Stream upperCaseTests() { return Stream.of( Arguments.of("LOWER", "LOWER"), Arguments.of("UPPER", "upper"), diff --git a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java index 92f4ecb6c95..3931d712c47 100644 --- a/src/test/java/org/jabref/logic/journals/AbbreviationTest.java +++ b/src/test/java/org/jabref/logic/journals/AbbreviationTest.java @@ -3,8 +3,6 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; class AbbreviationTest {