Skip to content

Commit

Permalink
Refactor tests a little bit more
Browse files Browse the repository at this point in the history
  • Loading branch information
stefan-kolb committed Dec 10, 2015
1 parent 4a3bf5d commit f247f85
Showing 1 changed file with 48 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,59 +39,85 @@ public void detectBibtexBasedOnFields() {
}

@Test
public void detectUnknownBasedOnFields() {
BibEntry entry = new BibEntry("someid", new CustomEntryType("unknowntype", new ArrayList<>(0), new ArrayList<>(0)));
entry.setField("someunknownfield", "value");
public void detectUndistinguishableAsBibtex() {
BibEntry entry = new BibEntry("someid", BibtexEntryTypes.ARTICLE);
entry.setField("title", "My cool paper");
Collection<BibEntry> entries = Arrays.asList(entry);

assertEquals(BibDatabaseType.BIBTEX, BibDatabaseTypeDetection.inferType(entries));
}

@Test
public void detectUndistinguishableAsBibtex() {
BibEntry entry = new BibEntry("someid", BibtexEntryTypes.ARTICLE);
entry.setField("title", "My cool paper");
public void detectMixedModeAsBiblatex() {
BibEntry bibtex = new BibEntry("someid", BibtexEntryTypes.ARTICLE);
bibtex.setField("journal", "IEEE Trans. Services Computing");
BibEntry biblatex = new BibEntry("someid", BibLatexEntryTypes.ARTICLE);
biblatex.setField("translator", "Stefan Kolb");
Collection<BibEntry> entries = Arrays.asList(bibtex, biblatex);

assertEquals(BibDatabaseType.BIBLATEX, BibDatabaseTypeDetection.inferType(entries));
}

@Test
public void detectUnknownTypeAsBibtex() {
BibEntry entry = new BibEntry("someid", new CustomEntryType("unknowntype", new ArrayList<>(0), new ArrayList<>(0)));
Collection<BibEntry> entries = Arrays.asList(entry);

assertEquals(BibDatabaseType.BIBTEX, BibDatabaseTypeDetection.inferType(entries));
}

@Test
public void detectSingleUnknownTypeAsBibtex() {
public void detectUnknownTypeAsBibtexBasedOnFields() {
BibEntry entry = new BibEntry("someid", new CustomEntryType("unknowntype", new ArrayList<>(0), new ArrayList<>(0)));
entry.setField("someunknownfield", "value");
Collection<BibEntry> entries = Arrays.asList(entry);

assertEquals(BibDatabaseType.BIBTEX, BibDatabaseTypeDetection.inferType(entries));
}

@Test
public void ignoreUnknownTypesForDecision() {
// BibTex
public void ignoreUnknownTypesForBibtexDecision() {
BibEntry custom = new BibEntry("someid", new CustomEntryType("unknowntype", new ArrayList<>(0), new ArrayList<>(0)));
BibEntry bibtex = new BibEntry("someid", BibtexEntryTypes.ARTICLE);
BibEntry biblatex = new BibEntry("someid", BibLatexEntryTypes.ARTICLE);
Collection<BibEntry> entries = Arrays.asList(custom, bibtex, biblatex);

assertEquals(BibDatabaseType.BIBTEX, BibDatabaseTypeDetection.inferType(entries));
}

@Test
public void ignoreUnknownTypesForBibtexDecisionBasedOnFields() {
BibEntry custom = new BibEntry("someid", new CustomEntryType("unknowntype", new ArrayList<>(0), new ArrayList<>(0)));
custom.setField("someunknownfield", "value");
BibEntry bibtex = new BibEntry("someid", BibtexEntryTypes.ARTICLE);
Collection<BibEntry> entries = Arrays.asList(custom, bibtex);
bibtex.setField("journal", "IEEE Trans. Services Computing");
BibEntry biblatex = new BibEntry("someid", BibLatexEntryTypes.ARTICLE);
biblatex.setField("title", "someothertitle");
Collection<BibEntry> entries = Arrays.asList(custom, bibtex, biblatex);

assertEquals(BibDatabaseType.BIBTEX, BibDatabaseTypeDetection.inferType(entries));
}

// Biblatex
@Test
public void ignoreUnknownTypesForBiblatexDecision() {
BibEntry custom = new BibEntry("someid", new CustomEntryType("unknowntype", new ArrayList<>(0), new ArrayList<>(0)));
BibEntry bibtex = new BibEntry("someid", BibtexEntryTypes.ARTICLE);
BibEntry biblatex = new BibEntry("someid", BibLatexEntryTypes.MVBOOK);
entries = Arrays.asList(custom, biblatex);
Collection<BibEntry> entries = Arrays.asList(custom, bibtex, biblatex);

assertEquals(BibDatabaseType.BIBLATEX, BibDatabaseTypeDetection.inferType(entries));
}

// Field-based Biblatex
biblatex = new BibEntry("someid", BibtexEntryTypes.ARTICLE);
@Test
public void ignoreUnknownTypesForBiblatexDecisionBasedOnFields() {
BibEntry custom = new BibEntry("someid", new CustomEntryType("unknowntype", new ArrayList<>(0), new ArrayList<>(0)));
custom.setField("someunknownfield", "value");
BibEntry bibtex = new BibEntry("someid", BibtexEntryTypes.ARTICLE);
bibtex.setField("title", "IEEE Trans. Services Computing");
BibEntry biblatex = new BibEntry("someid", BibLatexEntryTypes.ARTICLE);
biblatex.setField("translator", "Stefan Kolb");
entries = Arrays.asList(custom, biblatex, bibtex);
Collection<BibEntry> entries = Arrays.asList(custom, bibtex, biblatex);

assertEquals(BibDatabaseType.BIBLATEX, BibDatabaseTypeDetection.inferType(entries));

// Field-based BibTex
biblatex = new BibEntry("someid", BibtexEntryTypes.ARTICLE);
bibtex.setField("journal", "IEEE Trans. Services Computing");
entries = Arrays.asList(custom, biblatex, bibtex);

assertEquals(BibDatabaseType.BIBTEX, BibDatabaseTypeDetection.inferType(entries));
}
}

0 comments on commit f247f85

Please sign in to comment.