mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-11-03 08:13:55 +01:00
74 lines
3.7 KiB
Java
74 lines
3.7 KiB
Java
import org.junit.jupiter.api.Test;
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
class StringBuilderTest {
|
|
@Test
|
|
void testFallbackDescriptionBuilder() {
|
|
String secondaryLanguages = "en,fr,es"; // Example secondary languages
|
|
String[] secondaryLanguageArray = secondaryLanguages.split(",\\s*");
|
|
|
|
StringBuilder fallBackDescription = new StringBuilder();
|
|
for (int i = 0; i < secondaryLanguageArray.length; i++) {
|
|
fallBackDescription.append("OPTIONAL {?item schema:description ?itemDescriptionPreferredLanguage_")
|
|
.append(i + 1) // Unique identifier for each fallback
|
|
.append(". FILTER (lang(?itemDescriptionPreferredLanguage_")
|
|
.append(i + 1)
|
|
.append(") = \"")
|
|
.append(secondaryLanguageArray[i]) // Use the secondary language code
|
|
.append("\")}\n");
|
|
}
|
|
|
|
String expected = "OPTIONAL {?item schema:description ?itemDescriptionPreferredLanguage_1. FILTER (lang(?itemDescriptionPreferredLanguage_1) = \"en\")}\n" +
|
|
"OPTIONAL {?item schema:description ?itemDescriptionPreferredLanguage_2. FILTER (lang(?itemDescriptionPreferredLanguage_2) = \"fr\")}\n" +
|
|
"OPTIONAL {?item schema:description ?itemDescriptionPreferredLanguage_3. FILTER (lang(?itemDescriptionPreferredLanguage_3) = \"es\")}\n";
|
|
|
|
assertEquals(expected, fallBackDescription.toString());
|
|
}
|
|
|
|
@Test
|
|
void testFallbackLabelBuilder() {
|
|
String secondaryLanguages = "en,fr,es"; // Example secondary languages
|
|
String[] secondaryLanguageArray = secondaryLanguages.split(",\\s*");
|
|
|
|
StringBuilder fallbackLabel = new StringBuilder();
|
|
for (int i = 0; i < secondaryLanguageArray.length; i++) {
|
|
fallbackLabel.append("OPTIONAL {?item rdfs:label ?itemLabelPreferredLanguage_")
|
|
.append(i + 1)
|
|
.append(". FILTER (lang(?itemLabelPreferredLanguage_")
|
|
.append(i + 1)
|
|
.append(") = \"")
|
|
.append(secondaryLanguageArray[i])
|
|
.append("\")}\n");
|
|
}
|
|
|
|
String expected = "OPTIONAL {?item rdfs:label ?itemLabelPreferredLanguage_1. FILTER (lang(?itemLabelPreferredLanguage_1) = \"en\")}\n" +
|
|
"OPTIONAL {?item rdfs:label ?itemLabelPreferredLanguage_2. FILTER (lang(?itemLabelPreferredLanguage_2) = \"fr\")}\n" +
|
|
"OPTIONAL {?item rdfs:label ?itemLabelPreferredLanguage_3. FILTER (lang(?itemLabelPreferredLanguage_3) = \"es\")}\n";
|
|
|
|
assertEquals(expected, fallbackLabel.toString());
|
|
}
|
|
|
|
@Test
|
|
void testFallbackClassLabelBuilder() {
|
|
String secondaryLanguages = "en,fr,es"; // Example secondary languages
|
|
String[] secondaryLanguageArray = secondaryLanguages.split(",\\s*");
|
|
|
|
StringBuilder fallbackClassLabel = new StringBuilder();
|
|
for (int i = 0; i < secondaryLanguageArray.length; i++) {
|
|
fallbackClassLabel.append("OPTIONAL {?class rdfs:label ?classLabelPreferredLanguage_")
|
|
.append(i + 1)
|
|
.append(". FILTER (lang(?classLabelPreferredLanguage_")
|
|
.append(i + 1)
|
|
.append(") = \"")
|
|
.append(secondaryLanguageArray[i])
|
|
.append("\")}\n");
|
|
}
|
|
|
|
String expected = "OPTIONAL {?class rdfs:label ?classLabelPreferredLanguage_1. FILTER (lang(?classLabelPreferredLanguage_1) = \"en\")}\n" +
|
|
"OPTIONAL {?class rdfs:label ?classLabelPreferredLanguage_2. FILTER (lang(?classLabelPreferredLanguage_2) = \"fr\")}\n" +
|
|
"OPTIONAL {?class rdfs:label ?classLabelPreferredLanguage_3. FILTER (lang(?classLabelPreferredLanguage_3) = \"es\")}\n";
|
|
|
|
assertEquals(expected, fallbackClassLabel.toString());
|
|
}
|
|
}
|
|
|