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)); } }