⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soundexphoneticencodertest.java

📁 BOOK:Beginning Algorithms Code Examples
💻 JAVA
字号:
package com.wrox.algorithms.wmatch;import junit.framework.TestCase;/** * Test cases for {@link SoundexPhoneticEncoder}. * */public class SoundexPhoneticEncoderTest extends TestCase {    private SoundexPhoneticEncoder _encoder;    protected void setUp() throws Exception {        super.setUp();        _encoder = SoundexPhoneticEncoder.INSTANCE;    }    public void testFirstLetterIsAlwaysUsed() {        for (char c = 'A'; c <= 'Z'; ++c) {            String result = _encoder.encode(c + "-");            assertNotNull(result);            assertEquals(4, result.length());            assertEquals(c, result.charAt(0));        }    }    public void testVowelsAreIgnored() {        assertAllEquals('0', new char[] {'A', 'E', 'I', 'O', 'U', 'H', 'W', 'Y'});    }    public void testLettersRepresentedByOne() {        assertAllEquals('1', new char[] {'B', 'F', 'P', 'V'});    }    public void testLettersRepresentedByTwo() {        assertAllEquals('2', new char[] {'C', 'G', 'J', 'K', 'Q', 'S', 'X', 'Z'});    }    public void testLettersRepresentedByThree() {        assertAllEquals('3', new char[] {'D', 'T'});    }    public void testLettersRepresentedByFour() {        assertAllEquals('4', new char[] {'L'});    }    public void testLettersRepresentedByFive() {        assertAllEquals('5', new char[] {'M', 'N'});    }    public void testLettersRepresentedBySix() {        assertAllEquals('6', new char[] {'R'});    }    public void testDuplicateCodesAreDropped() {        assertEquals("B100", _encoder.encode("BFPV"));        assertEquals("C200", _encoder.encode("CGJKQSXZ"));        assertEquals("D300", _encoder.encode("DDT"));        assertEquals("L400", _encoder.encode("LLL"));        assertEquals("M500", _encoder.encode("MNMN"));        assertEquals("R600", _encoder.encode("RRR"));    }    public void testSomeRealStrings() {        assertEquals("S530", _encoder.encode("Smith"));        assertEquals("S530", _encoder.encode("Smythe"));        assertEquals("M235", _encoder.encode("McDonald"));        assertEquals("M235", _encoder.encode("MacDonald"));        assertEquals("H620", _encoder.encode("Harris"));        assertEquals("H620", _encoder.encode("Harrys"));    }    private void assertAllEquals(char expectedValue, char[] chars) {        for (int i = 0; i < chars.length; ++i) {            char c = chars[i];            String result = _encoder.encode("-" + c);            assertNotNull(result);            assertEquals(4, result.length());            assertEquals("-" + expectedValue + "00", result);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -