44 lines
2.1 KiB
Java
44 lines
2.1 KiB
Java
package com.projectsacrifice.game;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertFalse;
|
|
import static org.junit.Assert.assertNotEquals;
|
|
|
|
import org.junit.Test;
|
|
|
|
public final class GameStringsTest {
|
|
@Test
|
|
public void missingOrUnknownLanguageSafelyFallsBackToEnglish() {
|
|
assertEquals(GameLanguage.EN, GameLanguage.fromCode(null));
|
|
assertEquals(GameLanguage.EN, GameLanguage.fromCode("de"));
|
|
|
|
GameStrings strings = GameStrings.forLanguage(GameLanguage.fromCode("de"));
|
|
assertEquals("Settings", strings.settingsButton());
|
|
assertEquals("The Volunteer", strings.levelTitle(1));
|
|
}
|
|
|
|
@Test
|
|
public void russianPackLocalizesTheCompletePlayerFacingContract() {
|
|
GameStrings english = GameStrings.forLanguage(GameLanguage.EN);
|
|
GameStrings russian = GameStrings.forLanguage(GameLanguage.RU);
|
|
|
|
assertEquals("Настройки", russian.settingsButton());
|
|
assertEquals("Размер управления", russian.controlSizeSetting());
|
|
assertEquals("Русский", russian.languageName());
|
|
assertEquals("Рыцарь-доброволец", russian.levelTitle(1));
|
|
assertEquals("Последнее шествие", russian.levelTitle(10));
|
|
assertEquals("Добровольцы 2 Время 00:07", russian.hudStats(2, 7_000L));
|
|
assertEquals("✓ 2 добровольца · 00:07", russian.levelBestStats(2, 7_000L));
|
|
assertEquals("★ 2 / 3 добровольца", russian.completionDeaths(true, 2, 3));
|
|
assertEquals("Смерть — это инструмент", russian.tutorialWelcomeTitle());
|
|
assertFalse(russian.tutorialSacrificeBody().trim().isEmpty());
|
|
|
|
for (int level = 1; level <= 10; level++) {
|
|
assertFalse(russian.levelTitle(level).trim().isEmpty());
|
|
assertFalse(russian.levelHint(level).trim().isEmpty());
|
|
assertNotEquals(english.levelTitle(level), russian.levelTitle(level));
|
|
assertNotEquals(english.levelHint(level), russian.levelHint(level));
|
|
}
|
|
}
|
|
}
|