package no.priv.garshol.duke.cleaners; import org.junit.Before; import org.junit.Test; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertTrue; public class PhoneNumberCleanerTest { private PhoneNumberCleaner cleaner; @Before public void setup() { cleaner = new PhoneNumberCleaner(); } @Test public void testEmpty() { assertTrue(cleaner.clean("") == null); } @Test public void testPathological() { test("123", "123"); } @Test public void testUKInitialZero() { test("+44 020 77921414", "+44 2077921414"); } @Test public void testNorwaySpace() { test("+47 23 155100", "+47 23155100"); } @Test public void testNorwayWithoutCode() { test("23 21 20 00", "23212000"); } @Test public void testZeroZeroSweden() { test("00 46 8 506 16100", "+46 850616100"); } @Test public void testZeroZeroGermany() { test("00 49 30 881 3001", "+49 308813001"); } @Test public void testUSNumber() { test("+ 1 212 554 6120", "+1 2125546120"); } @Test public void testSwedenInitialZero() { test("+46 (0)31 751 5300 ", "+46 317515300"); } @Test public void testFinland() { test("+358 40 7600231", "+358 407600231"); } @Test public void testParenthesis() { test("0047 (0)55551000", "+47 55551000"); } private void test(String value, String result) { assertEquals(result, cleaner.clean(value)); } }