From 1d4bc6712819866395e2864800fea06f6bacf57c Mon Sep 17 00:00:00 2001 From: eetian Date: Mon, 2 Mar 2020 21:57:42 -0800 Subject: [PATCH 1/8] Fix warning display issue for entering a title made of two sentences --- CHANGELOG.md | 1 + .../jabref/logic/integrity/TitleChecker.java | 29 +++++++++++-------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24af6f3b56c..97c1ee4bb29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `# - We fixed an issue where the group and the link column were not updated after changing the entry in the main table. [#5985](https://github.com/JabRef/jabref/issues/5985) - We fixed an issue where reordering the groups was not possible after inserting an article. [#6008](https://github.com/JabRef/jabref/issues/6008) - We fixed an issue where citation styles except the default "Preview" could not be used. [#56220](https://github.com/JabRef/jabref/issues/5622) +- We fixed an issue where warning is displayed when title is made of two sentences. [#5832](https://github.com/JabRef/jabref/issues/5832) ### Removed diff --git a/src/main/java/org/jabref/logic/integrity/TitleChecker.java b/src/main/java/org/jabref/logic/integrity/TitleChecker.java index c2725949d24..60e27bac0e7 100644 --- a/src/main/java/org/jabref/logic/integrity/TitleChecker.java +++ b/src/main/java/org/jabref/logic/integrity/TitleChecker.java @@ -22,10 +22,12 @@ public TitleChecker(BibDatabaseContext databaseContext) { /** * Algorithm: - * - remove trailing whitespaces - * - ignore first letter as this can always be written in caps * - remove everything that is in brackets - * - check if at least one capital letter is in the title + * - split the title into subTitles based on the delimiters + * - for each subTitle: + * - remove trailing whitespaces + * - ignore first letter as this can always be written in caps + * - check if at least one capital letter is in the title */ @Override public Optional checkValue(String value) { @@ -37,9 +39,7 @@ public Optional checkValue(String value) { return Optional.empty(); } - String valueTrimmed = value.trim(); - String valueIgnoringFirstLetter = valueTrimmed.startsWith("{") ? valueTrimmed : valueTrimmed.substring(1); - String valueOnlySpacesWithinCurlyBraces = valueIgnoringFirstLetter; + String valueOnlySpacesWithinCurlyBraces = value; while (true) { Matcher matcher = INSIDE_CURLY_BRAKETS.matcher(valueOnlySpacesWithinCurlyBraces); if (!matcher.find()) { @@ -48,13 +48,18 @@ public Optional checkValue(String value) { valueOnlySpacesWithinCurlyBraces = matcher.replaceAll(""); } - boolean hasCapitalLettersThatBibtexWillConvertToSmallerOnes = HAS_CAPITAL_LETTERS - .test(valueOnlySpacesWithinCurlyBraces); - - if (hasCapitalLettersThatBibtexWillConvertToSmallerOnes) { - return Optional.of(Localization.lang("capital letters are not masked using curly brackets {}")); + // Delimiters are . ! ? ; : + String[] delimitedStr = valueOnlySpacesWithinCurlyBraces.split("(\\.|\\!|\\?|\\;|\\:)"); + for (String subStr : delimitedStr) { + subStr = subStr.trim(); + if (subStr.length() > 0) { + subStr = subStr.substring(1); + } + boolean hasCapitalLettersThatBibtexWillConvertToSmallerOnes = HAS_CAPITAL_LETTERS.test(subStr); + if (hasCapitalLettersThatBibtexWillConvertToSmallerOnes) { + return Optional.of(Localization.lang("capital letters are not masked using curly brackets {}")); + } } - return Optional.empty(); } } From 18fe0d4b80d6faff2c78ba74a49deb199c4697a3 Mon Sep 17 00:00:00 2001 From: eetian Date: Wed, 4 Mar 2020 00:26:07 -0800 Subject: [PATCH 2/8] Made changes as requested --- .../org/jabref/logic/integrity/TitleChecker.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jabref/logic/integrity/TitleChecker.java b/src/main/java/org/jabref/logic/integrity/TitleChecker.java index 60e27bac0e7..2d6b84b907c 100644 --- a/src/main/java/org/jabref/logic/integrity/TitleChecker.java +++ b/src/main/java/org/jabref/logic/integrity/TitleChecker.java @@ -12,6 +12,7 @@ public class TitleChecker implements ValueChecker { private static final Pattern INSIDE_CURLY_BRAKETS = Pattern.compile("\\{[^}\\{]*\\}"); + private static final String DELIMITERS = "(\\.|\\!|\\?|\\;|\\:)"; private static final Predicate HAS_CAPITAL_LETTERS = Pattern.compile("[\\p{Lu}\\p{Lt}]").asPredicate(); private final BibDatabaseContext databaseContext; @@ -49,17 +50,17 @@ public Optional checkValue(String value) { } // Delimiters are . ! ? ; : - String[] delimitedStr = valueOnlySpacesWithinCurlyBraces.split("(\\.|\\!|\\?|\\;|\\:)"); - for (String subStr : delimitedStr) { - subStr = subStr.trim(); - if (subStr.length() > 0) { - subStr = subStr.substring(1); + String[] splitTitle = valueOnlySpacesWithinCurlyBraces.split(DELIMITERS); + for (String subTitle : splitTitle) { + subTitle = subTitle.trim(); + if (subTitle.length() > 0) { + subTitle = subTitle.substring(1); } - boolean hasCapitalLettersThatBibtexWillConvertToSmallerOnes = HAS_CAPITAL_LETTERS.test(subStr); - if (hasCapitalLettersThatBibtexWillConvertToSmallerOnes) { + if (HAS_CAPITAL_LETTERS.test(subTitle)) { return Optional.of(Localization.lang("capital letters are not masked using curly brackets {}")); } } + return Optional.empty(); } } From 331700b0ce374e5dfb3dd039d23db2bdee9456a5 Mon Sep 17 00:00:00 2001 From: eetian Date: Fri, 6 Mar 2020 21:24:28 -0800 Subject: [PATCH 3/8] Add test cases for this issue in the exsiting test file and made all changes as requested --- .../jabref/logic/integrity/TitleChecker.java | 16 ++++++------- .../logic/integrity/IntegrityCheckTest.java | 24 +++++++++++++++++++ 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/jabref/logic/integrity/TitleChecker.java b/src/main/java/org/jabref/logic/integrity/TitleChecker.java index 2d6b84b907c..669c04d048b 100644 --- a/src/main/java/org/jabref/logic/integrity/TitleChecker.java +++ b/src/main/java/org/jabref/logic/integrity/TitleChecker.java @@ -24,11 +24,12 @@ public TitleChecker(BibDatabaseContext databaseContext) { /** * Algorithm: * - remove everything that is in brackets - * - split the title into subTitles based on the delimiters - * - for each subTitle: + * - split the title into sub titles based on the delimiters + * (defined in the local variable DELIMITERS, currently . ! ? ; :) + * - for each sub title: * - remove trailing whitespaces * - ignore first letter as this can always be written in caps - * - check if at least one capital letter is in the title + * - check if at least one capital letter is in the sub title */ @Override public Optional checkValue(String value) { @@ -49,15 +50,14 @@ public Optional checkValue(String value) { valueOnlySpacesWithinCurlyBraces = matcher.replaceAll(""); } - // Delimiters are . ! ? ; : String[] splitTitle = valueOnlySpacesWithinCurlyBraces.split(DELIMITERS); for (String subTitle : splitTitle) { subTitle = subTitle.trim(); - if (subTitle.length() > 0) { + if (!subTitle.isEmpty()) { subTitle = subTitle.substring(1); - } - if (HAS_CAPITAL_LETTERS.test(subTitle)) { - return Optional.of(Localization.lang("capital letters are not masked using curly brackets {}")); + if (HAS_CAPITAL_LETTERS.test(subTitle)) { + return Optional.of(Localization.lang("capital letters are not masked using curly brackets {}")); + } } } diff --git a/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java b/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java index e166869806d..07afa77366c 100644 --- a/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java +++ b/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java @@ -186,6 +186,17 @@ void testTitleChecks() { assertCorrect(withMode(createContext(StandardField.TITLE, "This is a {Title}"), BibDatabaseMode.BIBTEX)); assertCorrect(withMode(createContext(StandardField.TITLE, "{C}urrent {C}hronicle"), BibDatabaseMode.BIBTEX)); assertCorrect(withMode(createContext(StandardField.TITLE, "{A Model-Driven Approach for Monitoring {ebBP} BusinessTransactions}"), BibDatabaseMode.BIBTEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: This is a sub title 2"), BibDatabaseMode.BIBTEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: this is a sub title 2"), BibDatabaseMode.BIBTEX)); + assertWrong(withMode(createContext(StandardField.TITLE, "This is a sub title 1: This is A sub title 2"), BibDatabaseMode.BIBTEX)); + assertWrong(withMode(createContext(StandardField.TITLE, "This is a sub title 1: this is A sub title 2"), BibDatabaseMode.BIBTEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: This is {A} sub title 2"), BibDatabaseMode.BIBTEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: this is {A} sub title 2"), BibDatabaseMode.BIBTEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1...This is a sub title 2"), BibDatabaseMode.BIBTEX)); + assertWrong(withMode(createContext(StandardField.TITLE, "This is a sub title 1... this is a sub Title 2"), BibDatabaseMode.BIBTEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is; A sub title 1.... This is a sub title 2"), BibDatabaseMode.BIBTEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This!is!!A!Title??"), BibDatabaseMode.BIBTEX)); + assertWrong(withMode(createContext(StandardField.TITLE, "This!is!!A!TitlE??"), BibDatabaseMode.BIBTEX)); assertCorrect(withMode(createContext(StandardField.TITLE, "This is a title"), BibDatabaseMode.BIBLATEX)); assertCorrect(withMode(createContext(StandardField.TITLE, "This is a Title"), BibDatabaseMode.BIBLATEX)); @@ -194,6 +205,19 @@ void testTitleChecks() { assertCorrect(withMode(createContext(StandardField.TITLE, "This is a {Title}"), BibDatabaseMode.BIBLATEX)); assertCorrect(withMode(createContext(StandardField.TITLE, "{C}urrent {C}hronicle"), BibDatabaseMode.BIBLATEX)); assertCorrect(withMode(createContext(StandardField.TITLE, "{A Model-Driven Approach for Monitoring {ebBP} BusinessTransactions}"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: This is a sub title 2"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: this is a sub title 2"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: This is A sub title 2"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: this is A sub title 2"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: This is {A} sub title 2"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1: this is {A} sub title 2"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1...This is a sub title 2"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is a sub title 1... this is a sub Title 2"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This is; A sub title 1.... This is a sub title 2"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This!is!!A!Title??"), BibDatabaseMode.BIBLATEX)); + assertCorrect(withMode(createContext(StandardField.TITLE, "This!is!!A!TitlE??"), BibDatabaseMode.BIBLATEX)); + + } @Test From 4fa903a0cb4d2623897f5ecc161709e50b0d3c17 Mon Sep 17 00:00:00 2001 From: eetian Date: Thu, 12 Mar 2020 21:50:42 -0700 Subject: [PATCH 4/8] Add test cases for titles having delimiters in TitleCheckerTest and make changes as requested --- CHANGELOG.md | 2 +- .../jabref/logic/integrity/TitleChecker.java | 4 +- .../logic/integrity/TitleCheckerTest.java | 79 +++++++++++++++++++ 3 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 97c1ee4bb29..311e7b80673 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,7 +47,7 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `# - We fixed an issue where the group and the link column were not updated after changing the entry in the main table. [#5985](https://github.com/JabRef/jabref/issues/5985) - We fixed an issue where reordering the groups was not possible after inserting an article. [#6008](https://github.com/JabRef/jabref/issues/6008) - We fixed an issue where citation styles except the default "Preview" could not be used. [#56220](https://github.com/JabRef/jabref/issues/5622) -- We fixed an issue where warning is displayed when title is made of two sentences. [#5832](https://github.com/JabRef/jabref/issues/5832) +- We fixed an issue where a warning was displayed when the title content is made up of two sentences. [#5832](https://github.com/JabRef/jabref/issues/5832) ### Removed diff --git a/src/main/java/org/jabref/logic/integrity/TitleChecker.java b/src/main/java/org/jabref/logic/integrity/TitleChecker.java index 669c04d048b..43c77df59bc 100644 --- a/src/main/java/org/jabref/logic/integrity/TitleChecker.java +++ b/src/main/java/org/jabref/logic/integrity/TitleChecker.java @@ -12,7 +12,7 @@ public class TitleChecker implements ValueChecker { private static final Pattern INSIDE_CURLY_BRAKETS = Pattern.compile("\\{[^}\\{]*\\}"); - private static final String DELIMITERS = "(\\.|\\!|\\?|\\;|\\:)"; + private static final Pattern DELIMITERS = Pattern.compile("\\.|\\!|\\?|\\;|\\:"); private static final Predicate HAS_CAPITAL_LETTERS = Pattern.compile("[\\p{Lu}\\p{Lt}]").asPredicate(); private final BibDatabaseContext databaseContext; @@ -50,7 +50,7 @@ public Optional checkValue(String value) { valueOnlySpacesWithinCurlyBraces = matcher.replaceAll(""); } - String[] splitTitle = valueOnlySpacesWithinCurlyBraces.split(DELIMITERS); + String[] splitTitle = DELIMITERS.split(valueOnlySpacesWithinCurlyBraces); for (String subTitle : splitTitle) { subTitle = subTitle.trim(); if (!subTitle.isEmpty()) { diff --git a/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java b/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java new file mode 100644 index 00000000000..f2a6c3a0c71 --- /dev/null +++ b/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java @@ -0,0 +1,79 @@ +package org.jabref.logic.integrity; + +import org.jabref.model.database.BibDatabaseContext; +import org.jabref.model.database.BibDatabaseMode; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.Optional; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +public class TitleCheckerTest { + + private TitleChecker checker; + + @BeforeEach + public void setUp() throws Exception { + BibDatabaseContext databaseContext = new BibDatabaseContext(); + databaseContext.setMode(BibDatabaseMode.BIBTEX); + checker = new TitleChecker(databaseContext); + } + + @Test + public void FirstLetterAsOnlyCapitalLetterInSubTitle2() throws Exception { + assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1: This is a sub title 2")); + } + + @Test + public void NoCapitalLetterInSubTitle2() throws Exception { + assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1: this is a sub title 2")); + } + + @Test + public void TwoCapitalLettersInSubTitle2() throws Exception { + assertNotEquals(Optional.empty(), checker.checkValue("This is a sub title 1: This is A sub title 2")); + } + + @Test + public void MiddleLetterAsOnlyCapitalLetterInSubTitle2() throws Exception { + assertNotEquals(Optional.empty(), checker.checkValue("This is a sub title 1: this is A sub title 2")); + } + + @Test + public void TwoCapitalLettersInSubTitle2WithCurlyBrackets() throws Exception { + assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1: This is {A} sub title 2")); + } + + @Test + public void MiddleLetterAsOnlyCapitalLetterInSubTitle2WithCurlyBrackets() throws Exception { + assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1: this is {A} sub title 2")); + } + + @Test + public void FirstLetterAsOnlyCapitalLetterInSubTitle2AfterContinuousDelimiters() throws Exception { + assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1...This is a sub title 2")); + } + + @Test + public void MiddleLetterAsOnlyCapitalLetterInSubTitle2AfterContinuousDelimiters() throws Exception { + assertNotEquals(Optional.empty(), checker.checkValue("This is a sub title 1... this is a sub Title 2")); + } + + @Test + public void FirstLetterAsOnlyCapitalLetterInEverySubTitleWithContinuousDelimiters() throws Exception { + assertEquals(Optional.empty(), checker.checkValue("This is; A sub title 1.... This is a sub title 2")); + } + + @Test + public void FirstLetterAsOnlyCapitalLetterInEverySubTitleWithRandomDelimiters() throws Exception { + assertEquals(Optional.empty(), checker.checkValue("This!is!!A!Title??")); + } + + @Test + public void MoreThanOneCapitalLetterInSubTitleWithoutCurlyBrackets() throws Exception { + assertNotEquals(Optional.empty(), checker.checkValue("This!is!!A!TitlE??")); + } + +} From 72b1434ee58e3e49d36c967e010b353908e9e816 Mon Sep 17 00:00:00 2001 From: eetian Date: Thu, 12 Mar 2020 22:12:53 -0700 Subject: [PATCH 5/8] Delete my old bullet point in CHANGELOG.md --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2254ff678a..bb95d7e2dc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,7 +57,6 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We fixed an issue where reordering the groups was not possible after inserting an article. [#6008](https://github.com/JabRef/jabref/issues/6008) - We fixed an issue where citation styles except the default "Preview" could not be used. [#56220](https://github.com/JabRef/jabref/issues/5622) - We fixed an issue where a warning was displayed when the title content is made up of two sentences. [#5832](https://github.com/JabRef/jabref/issues/5832) -- We fixed an issue where warning is displayed when title is made of two sentences. [#5832](https://github.com/JabRef/jabref/issues/5832) - We fixed an issue where an exception was thrown when adding a save action without a selected formatter in the library properties [#6069](https://github.com/JabRef/jabref/issues/6069) ### Removed From 9bc8a6ce1ee943d2a4ca9da9b8ea4a4c77d0125f Mon Sep 17 00:00:00 2001 From: eetian Date: Fri, 13 Mar 2020 21:47:57 -0700 Subject: [PATCH 6/8] Fix the checkstyle issues --- .../java/org/jabref/logic/integrity/TitleCheckerTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java b/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java index f2a6c3a0c71..ee0bcf178f0 100644 --- a/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java +++ b/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java @@ -1,12 +1,13 @@ package org.jabref.logic.integrity; +import java.util.Optional; + import org.jabref.model.database.BibDatabaseContext; import org.jabref.model.database.BibDatabaseMode; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import java.util.Optional; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; @@ -75,5 +76,4 @@ public void FirstLetterAsOnlyCapitalLetterInEverySubTitleWithRandomDelimiters() public void MoreThanOneCapitalLetterInSubTitleWithoutCurlyBrackets() throws Exception { assertNotEquals(Optional.empty(), checker.checkValue("This!is!!A!TitlE??")); } - } From 04284e87abf68f91765c22710336cd66986c5993 Mon Sep 17 00:00:00 2001 From: eetian Date: Fri, 13 Mar 2020 22:03:32 -0700 Subject: [PATCH 7/8] Delete one extra empty line in IntegrityCheckTest.java --- .../java/org/jabref/logic/integrity/IntegrityCheckTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java b/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java index 07afa77366c..ed22b975de5 100644 --- a/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java +++ b/src/test/java/org/jabref/logic/integrity/IntegrityCheckTest.java @@ -216,8 +216,6 @@ void testTitleChecks() { assertCorrect(withMode(createContext(StandardField.TITLE, "This is; A sub title 1.... This is a sub title 2"), BibDatabaseMode.BIBLATEX)); assertCorrect(withMode(createContext(StandardField.TITLE, "This!is!!A!Title??"), BibDatabaseMode.BIBLATEX)); assertCorrect(withMode(createContext(StandardField.TITLE, "This!is!!A!TitlE??"), BibDatabaseMode.BIBLATEX)); - - } @Test From 7d95ba74607eb34a114e50ac7aad59843517b39c Mon Sep 17 00:00:00 2001 From: eetian Date: Fri, 13 Mar 2020 22:21:20 -0700 Subject: [PATCH 8/8] Fix PR Quality Review issues --- .../logic/integrity/TitleCheckerTest.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java b/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java index ee0bcf178f0..930f1598129 100644 --- a/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java +++ b/src/test/java/org/jabref/logic/integrity/TitleCheckerTest.java @@ -16,64 +16,64 @@ public class TitleCheckerTest { private TitleChecker checker; @BeforeEach - public void setUp() throws Exception { + public void setUp() { BibDatabaseContext databaseContext = new BibDatabaseContext(); databaseContext.setMode(BibDatabaseMode.BIBTEX); checker = new TitleChecker(databaseContext); } @Test - public void FirstLetterAsOnlyCapitalLetterInSubTitle2() throws Exception { + public void FirstLetterAsOnlyCapitalLetterInSubTitle2() { assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1: This is a sub title 2")); } @Test - public void NoCapitalLetterInSubTitle2() throws Exception { + public void NoCapitalLetterInSubTitle2() { assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1: this is a sub title 2")); } @Test - public void TwoCapitalLettersInSubTitle2() throws Exception { + public void TwoCapitalLettersInSubTitle2() { assertNotEquals(Optional.empty(), checker.checkValue("This is a sub title 1: This is A sub title 2")); } @Test - public void MiddleLetterAsOnlyCapitalLetterInSubTitle2() throws Exception { + public void MiddleLetterAsOnlyCapitalLetterInSubTitle2() { assertNotEquals(Optional.empty(), checker.checkValue("This is a sub title 1: this is A sub title 2")); } @Test - public void TwoCapitalLettersInSubTitle2WithCurlyBrackets() throws Exception { + public void TwoCapitalLettersInSubTitle2WithCurlyBrackets() { assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1: This is {A} sub title 2")); } @Test - public void MiddleLetterAsOnlyCapitalLetterInSubTitle2WithCurlyBrackets() throws Exception { + public void MiddleLetterAsOnlyCapitalLetterInSubTitle2WithCurlyBrackets() { assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1: this is {A} sub title 2")); } @Test - public void FirstLetterAsOnlyCapitalLetterInSubTitle2AfterContinuousDelimiters() throws Exception { + public void FirstLetterAsOnlyCapitalLetterInSubTitle2AfterContinuousDelimiters() { assertEquals(Optional.empty(), checker.checkValue("This is a sub title 1...This is a sub title 2")); } @Test - public void MiddleLetterAsOnlyCapitalLetterInSubTitle2AfterContinuousDelimiters() throws Exception { + public void MiddleLetterAsOnlyCapitalLetterInSubTitle2AfterContinuousDelimiters() { assertNotEquals(Optional.empty(), checker.checkValue("This is a sub title 1... this is a sub Title 2")); } @Test - public void FirstLetterAsOnlyCapitalLetterInEverySubTitleWithContinuousDelimiters() throws Exception { + public void FirstLetterAsOnlyCapitalLetterInEverySubTitleWithContinuousDelimiters() { assertEquals(Optional.empty(), checker.checkValue("This is; A sub title 1.... This is a sub title 2")); } @Test - public void FirstLetterAsOnlyCapitalLetterInEverySubTitleWithRandomDelimiters() throws Exception { + public void FirstLetterAsOnlyCapitalLetterInEverySubTitleWithRandomDelimiters() { assertEquals(Optional.empty(), checker.checkValue("This!is!!A!Title??")); } @Test - public void MoreThanOneCapitalLetterInSubTitleWithoutCurlyBrackets() throws Exception { + public void MoreThanOneCapitalLetterInSubTitleWithoutCurlyBrackets() { assertNotEquals(Optional.empty(), checker.checkValue("This!is!!A!TitlE??")); } }