Skip to content

Commit

Permalink
Tidy tests
Browse files Browse the repository at this point in the history
  • Loading branch information
André Laugks committed Apr 8, 2024
1 parent ab44339 commit 3b860f3
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 141 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,10 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;

import io.github.alaugks.spring.messagesource.xliff.catalog.xliff.Xliff12XliffIdentifier;
import io.github.alaugks.spring.messagesource.xliff.catalog.xliff.Xliff2XliffIdentifier;
import io.github.alaugks.spring.messagesource.xliff.catalog.xliff.XliffIdentifierInterface;
import io.github.alaugks.spring.messagesource.xliff.exception.XliffMessageSourceRuntimeException;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.stream.Stream;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;

class XliffTranslationMessageSourceCasesTest {

Expand Down Expand Up @@ -89,71 +81,4 @@ void test_setBasenamesPattern() {
messageSource.getMessage("otherdomain.hello_world", null, Locale.forLanguageTag("de"))
);
}

@ParameterizedTest(name = "{index} => translationUnitIdentifiers={0}, code={1}, expected={2}, value={3}")
@MethodSource("dataProvider_setTranslationUnitIdentifiersOrdering")
void test_setTranslationUnitIdentifiersOrdering(List<XliffIdentifierInterface> translationUnitIdentifiers, String code, String expected) {
var messageSource = XliffTranslationMessageSource
.builder(TestUtilities.getCache())
.basenamePattern("identifier/*")
.defaultLocale(Locale.forLanguageTag("en"))
.setTransUnitIdentifier(translationUnitIdentifiers)
.build();

String message = messageSource.getMessage(
code,
null,
Locale.forLanguageTag("en")
);
assertEquals(expected, message);
}

private static Stream<Arguments> dataProvider_setTranslationUnitIdentifiersOrdering() {
return Stream.of(
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("resname")), new Xliff12XliffIdentifier(List.of("resname"))),
"identifierv1.code-resname-a",
"Target A"
),
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("id")), new Xliff12XliffIdentifier(List.of("id"))),
"identifierv1.code-id-a",
"Target A"
),

Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("resname", "id")), new Xliff12XliffIdentifier(List.of("resname", "id"))),
"identifierv1.code-id-b",
"Target B"
),
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("id", "resname")), new Xliff12XliffIdentifier(List.of("id", "resname"))),
"identifierv1.code-resname-c",
"Target C"
),

Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("resname")), new Xliff12XliffIdentifier(List.of("resname"))),
"identifierv2.code-resname-a",
"Target A"
),
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("id")), new Xliff12XliffIdentifier(List.of("id"))),
"identifierv2.code-id-a",
"Target A"
),

Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("resname", "id")), new Xliff12XliffIdentifier(List.of("resname", "id"))),
"identifierv2.code-id-b",
"Target B"
),
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("id", "resname")), new Xliff12XliffIdentifier(List.of("id", "resname"))),
"identifierv2.code-resname-c",
"Target C"
)
);
}

}
Original file line number Diff line number Diff line change
@@ -1,23 +1,30 @@
package io.github.alaugks.spring.messagesource.xliff.catalog.xliff;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;

import io.github.alaugks.spring.messagesource.xliff.TestUtilities;
import io.github.alaugks.spring.messagesource.xliff.XliffTranslationMessageSource;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.stream.Stream;
import javax.xml.parsers.ParserConfigurationException;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.xml.sax.SAXException;

import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
import java.util.*;
import java.util.stream.Stream;

import static org.junit.jupiter.api.Assertions.*;

class XliffDocumentTest {

@Test
void test_positiv() throws ParserConfigurationException, IOException, SAXException {
void test_getXliffVersion() throws ParserConfigurationException, IOException, SAXException {
var xliffDocument = new XliffDocument(TestUtilities.getDocument("fixtures/xliff21.xliff"));

assertTrue(xliffDocument.isXliffDocument());
Expand Down Expand Up @@ -47,46 +54,76 @@ void test_getElementValue_getCharacterDataFromElement_TextNode() throws ParserCo
assertEquals("value", transUnits.get("element-with-cdata-newline"));
}


@ParameterizedTest(name = "{index} => elementName={0}, translationUnitIdentifiers={1}, expected={2}")
@MethodSource("getCodeProvider")
void test_getCode(
String expected,
ArrayList<String> translationUnitIdentifiers,
String code
) throws ParserConfigurationException, IOException, SAXException {
Map<Object, Object> transUnits = new HashMap<>();

var xliffDocument = new XliffDocument(TestUtilities.getDocument("fixtures/xliff-code-test.xliff"));
xliffDocument.getTransUnits("segment", translationUnitIdentifiers).forEach(
transUnit -> transUnits.put(transUnit.getCode(), transUnit.getTargetValue())
@ParameterizedTest(name = "{index} => translationUnitIdentifiers={0}, code={1}, expected={2}, value={3}")
@MethodSource("dataProvider_setTranslationUnitIdentifiersOrdering")
void test_setTranslationUnitIdentifiersOrdering(List<XliffIdentifierInterface> translationUnitIdentifiers,
String code, String expected) {
var messageSource = XliffTranslationMessageSource
.builder(TestUtilities.getCache())
.basenamePattern("identifier/*")
.defaultLocale(Locale.forLanguageTag("en"))
.setTransUnitIdentifier(translationUnitIdentifiers)
.build();

String message = messageSource.getMessage(
code,
null,
Locale.forLanguageTag("en")
);

assertEquals(expected, transUnits.get(code));
assertEquals(expected, message);
}

private static Stream<Arguments> getCodeProvider() {
private static Stream<Arguments> dataProvider_setTranslationUnitIdentifiersOrdering() {
return Stream.of(
Arguments.of(
"trans-unit-a",
new ArrayList<>(Arrays.asList("resname", "id")),
"resname-a"
),
Arguments.of(
"trans-unit-a",
new ArrayList<>(Arrays.asList("id", "resname")),
"id-a"
),
Arguments.of(
"trans-unit-b",
new ArrayList<>(Arrays.asList("resname", "id")),
"id-b"
),
Arguments.of(
"trans-unit-b",
new ArrayList<>(Arrays.asList("id", "resname")),
"id-b"
)
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("resname")),
new Xliff12XliffIdentifier(List.of("resname"))),
"identifierv1.code-resname-a",
"Target A"
),
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("id")), new Xliff12XliffIdentifier(List.of("id"))),
"identifierv1.code-id-a",
"Target A"
),

Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("resname", "id")),
new Xliff12XliffIdentifier(List.of("resname", "id"))),
"identifierv1.code-id-b",
"Target B"
),
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("id", "resname")),
new Xliff12XliffIdentifier(List.of("id", "resname"))),
"identifierv1.code-resname-c",
"Target C"
),

Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("resname")),
new Xliff12XliffIdentifier(List.of("resname"))),
"identifierv2.code-resname-a",
"Target A"
),
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("id")), new Xliff12XliffIdentifier(List.of("id"))),
"identifierv2.code-id-a",
"Target A"
),

Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("resname", "id")),
new Xliff12XliffIdentifier(List.of("resname", "id"))),
"identifierv2.code-id-b",
"Target B"
),
Arguments.of(
Arrays.asList(new Xliff2XliffIdentifier(List.of("id", "resname")),
new Xliff12XliffIdentifier(List.of("id", "resname"))),
"identifierv2.code-resname-c",
"Target C"
)
);
}

Expand Down
22 changes: 0 additions & 22 deletions src/test/resources/fixtures/xliff-code-test.xliff

This file was deleted.

0 comments on commit 3b860f3

Please sign in to comment.