// Copyright 2014 Thomas Müller // This file is part of MarMoT, which is licensed under GPLv3. package marmot.test.util; import static org.junit.Assert.*; import marmot.util.StringUtils; import marmot.util.StringUtils.Mode; import marmot.util.StringUtils.Shape; import org.junit.Test; public class StringUtilsTest { public void test(String form, Mode mode, String expected) { String actual = StringUtils.normalize(form, mode); assertEquals(expected, actual); } @Test public void identityTest() { test("Äb1c-LRB-", Mode.none, "Äb1c-LRB-"); } @Test public void bracketTest() { test("Äb1c-LRB-", Mode.bracket, "Äb1c("); test("-RRB-", Mode.bracket, ")"); test("-RRB-a", Mode.bracket, ")a"); } @Test public void lowerTest() { test("Äb1c-LRB-", Mode.lower, "äb0c("); } @Test public void umlautTest() { test("Äb1c-LRB-", Mode.umlaut, "aeb0c("); } @Test public void shapeTest() { testShape("lower", Shape.Lower); testShape("Upper", Shape.FirstCap); testShape("1Upper", Shape.Mixed); testShape("U1AA", Shape.AllCap); testShape("123", Shape.NoLetter); testShape("", Shape.NoLetter); testShape("a", Shape.Lower); testShape("A", Shape.AllCap); testShape("!", Shape.NoLetter); } private void testShape(String string, Shape shape) { assertEquals(shape, StringUtils.getShape(string)); } }