Info10/StringuebungenTest.java

104 lines
3.4 KiB
Java

import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* Die Test-Klasse Stringuebungen_MLTest.
*
* @author Urs Lautebach
* @version 2019-12
*/
public class StringuebungenTest {
/**
* Konstruktor fuer die Test-Klasse Stringuebungen_MLTest
*/
public StringuebungenTest() {
}
/**
* Setzt das Testgerüst fuer den Test.
*
* Wird vor jeder Testfall-Methode aufgerufen.
*/
@Before
public void setUp() {
}
/**
* Gibt das Testgerüst wieder frei.
*
* Wird nach jeder Testfall-Methode aufgerufen.
*/
@After
public void tearDown() {
}
@Test
public void testAnzahlVorkommen() {
// Buchstaben, die ein- und mehrfach vorkommen:
assertEquals(3, Stringuebungen.anzahlVorkommen("Barbara", 'a'));
assertEquals(2, Stringuebungen.anzahlVorkommen("Barbara", 'r'));
assertEquals(1, Stringuebungen.anzahlVorkommen("Barbara", 'B'));
// kein Vorkommen:
assertEquals(0, Stringuebungen.anzahlVorkommen("Barbara", 'x'));
// letzten Buchstaben suchen:
assertEquals(1, Stringuebungen.anzahlVorkommen("Wald", 'd'));
// Im leeren String suchen (darf keinen Fehler ausloesen):
assertEquals(0, Stringuebungen.anzahlVorkommen("", 'a'));
}
@Test
public void testRueckwaerts() {
assertEquals("", Stringuebungen.rueckwaerts(""));
assertEquals("1", Stringuebungen.rueckwaerts("1"));
assertEquals("21", Stringuebungen.rueckwaerts("12"));
assertEquals("cba", Stringuebungen.rueckwaerts("abc"));
assertEquals("EISLAUF", Stringuebungen.rueckwaerts("FUALSIE"));
assertEquals("+3-2-1", Stringuebungen.rueckwaerts("1-2-3+"));
}
@Test
public void testIstPalindrom() {
assertFalse(Stringuebungen.istPalindrom("lalala"));
assertFalse(Stringuebungen.istPalindrom("Bob"));
assertTrue(Stringuebungen.istPalindrom("bob"));
assertTrue(Stringuebungen.istPalindrom("alalalalalalalala"));
assertTrue(Stringuebungen.istPalindrom("asDf...fDsa"));
assertTrue(Stringuebungen.istPalindrom(""));
assertTrue(Stringuebungen.istPalindrom("RELIEFPFEILER"));
assertTrue(Stringuebungen.istPalindrom("EINNEGERMITGAZELLEZAGTIMREGENNIE"));
}
@Test
public void testSindAnagramme() {
assertTrue(Stringuebungen.sindAnagramme("", ""));
assertTrue(Stringuebungen.sindAnagramme(" ", ""));
assertTrue(Stringuebungen.sindAnagramme("a", "a"));
assertTrue(Stringuebungen.sindAnagramme("abc", "bca"));
assertTrue(Stringuebungen.sindAnagramme("Staufens", "sauen fst"));
assertTrue(Stringuebungen.sindAnagramme("Baren bara", "ABarbaren"));
assertTrue(Stringuebungen.sindAnagramme("Frodos Ehe", "Sehr doofe"));
assertFalse(Stringuebungen.sindAnagramme("informatik", "kitamrofn"));
assertFalse(Stringuebungen.sindAnagramme("dudeldei", "leude"));
}
@Test
public void testCaesarChiffrieren() {
assertEquals("", Stringuebungen.caesarChiffrieren("", 3));
assertEquals("GUTENMORGEN", Stringuebungen.caesarChiffrieren("GUTEN MORGEN", 26));
assertEquals("KZQHEZQH", Stringuebungen.caesarChiffrieren("larifari", 25));
assertEquals("DEF", Stringuebungen.caesarChiffrieren("abc", 3));
assertEquals("FFFCCC", Stringuebungen.caesarChiffrieren("aaa xxx", 5));
}
}