亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? metaphonetest.java

?? 一個很實用的東東
?? JAVA
字號:
/*
 * Copyright 2001-2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */ 

package org.apache.commons.codec.language;

import junit.framework.Test;
import junit.framework.TestSuite;
import org.apache.commons.codec.StringEncoder;
import org.apache.commons.codec.StringEncoderAbstractTest;

/**
 * @version $Id: MetaphoneTest.java,v 1.12 2004/04/19 01:14:29 ggregory Exp $
 * @author Apache Software Foundation
 */
public class MetaphoneTest extends StringEncoderAbstractTest {

    public static Test suite() {
        return (new TestSuite(MetaphoneTest.class));
    }

    private Metaphone metaphone = null;

    public MetaphoneTest(String name) {
        super(name);
    }

    public void assertIsMetaphoneEqual(String source, String[] matches) {
        // match source to all matches
        for (int i = 0; i < matches.length; i++) {
            assertTrue("Source: " + source + ", should have same Metaphone as: " + matches[i],
                       this.getMetaphone().isMetaphoneEqual(source, matches[i]));
        }
        // match to each other
        for (int i = 0; i < matches.length; i++) {
            for (int j = 0; j < matches.length; j++) {
                assertTrue(this.getMetaphone().isMetaphoneEqual(matches[i], matches[j]));
            }
        }
    }

    public void assertMetaphoneEqual(String[][] pairs) {
        this.validateFixture(pairs);
        for (int i = 0; i < pairs.length; i++) {
            String name0 = pairs[i][0];
            String name1 = pairs[i][1];
            String failMsg = "Expected match between " + name0 + " and " + name1;
            assertTrue(failMsg, this.getMetaphone().isMetaphoneEqual(name0, name1));
            assertTrue(failMsg, this.getMetaphone().isMetaphoneEqual(name1, name0));
        }
    }
    /**
	 * @return Returns the metaphone.
	 */
    private Metaphone getMetaphone() {
        return this.metaphone;
    }

    protected StringEncoder makeEncoder() {
        return new Metaphone();
    }

    /**
	 * @param metaphone
	 *                  The metaphone to set.
	 */
    private void setMetaphone(Metaphone metaphone) {
        this.metaphone = metaphone;
    }

    public void setUp() throws Exception {
        super.setUp();
        this.setMetaphone(new Metaphone());
    }

    public void tearDown() throws Exception {
        super.tearDown();
        this.setMetaphone(null);
    }

    public void testIsMetaphoneEqual1() {
        this.assertMetaphoneEqual(new String[][] { { "Case", "case" }, {
                "CASE", "Case" }, {
                "caSe", "cAsE" }, {
                "quick", "cookie" }
        });
    }

    /**
	 * Matches computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqual2() {
        this.assertMetaphoneEqual(new String[][] { { "Lawrence", "Lorenza" }, {
                "Gary", "Cahra" }, });
    }

    /**
	 * Initial AE case.
	 * 
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualAero() {
        this.assertIsMetaphoneEqual("Aero", new String[] { "Eure" });
    }

    /**
	 * Initial WH case.
	 * 
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualWhite() {
        this.assertIsMetaphoneEqual(
            "White",
            new String[] { "Wade", "Wait", "Waite", "Wat", "Whit", "Wiatt", "Wit", "Wittie", "Witty", "Wood", "Woodie", "Woody" });
    }

    /**
	 * Initial A, not followed by an E case.
	 * 
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualAlbert() {
        this.assertIsMetaphoneEqual("Albert", new String[] { "Ailbert", "Alberik", "Albert", "Alberto", "Albrecht" });
    }

    /**
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualGary() {
        this.assertIsMetaphoneEqual(
            "Gary",
            new String[] {
                "Cahra",
                "Cara",
                "Carey",
                "Cari",
                "Caria",
                "Carie",
                "Caro",
                "Carree",
                "Carri",
                "Carrie",
                "Carry",
                "Cary",
                "Cora",
                "Corey",
                "Cori",
                "Corie",
                "Correy",
                "Corri",
                "Corrie",
                "Corry",
                "Cory",
                "Gray",
                "Kara",
                "Kare",
                "Karee",
                "Kari",
                "Karia",
                "Karie",
                "Karrah",
                "Karrie",
                "Karry",
                "Kary",
                "Keri",
                "Kerri",
                "Kerrie",
                "Kerry",
                "Kira",
                "Kiri",
                "Kora",
                "Kore",
                "Kori",
                "Korie",
                "Korrie",
                "Korry" });
    }

    /**
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualJohn() {
        this.assertIsMetaphoneEqual(
            "John",
            new String[] {
                "Gena",
                "Gene",
                "Genia",
                "Genna",
                "Genni",
                "Gennie",
                "Genny",
                "Giana",
                "Gianna",
                "Gina",
                "Ginni",
                "Ginnie",
                "Ginny",
                "Jaine",
                "Jan",
                "Jana",
                "Jane",
                "Janey",
                "Jania",
                "Janie",
                "Janna",
                "Jany",
                "Jayne",
                "Jean",
                "Jeana",
                "Jeane",
                "Jeanie",
                "Jeanna",
                "Jeanne",
                "Jeannie",
                "Jen",
                "Jena",
                "Jeni",
                "Jenn",
                "Jenna",
                "Jennee",
                "Jenni",
                "Jennie",
                "Jenny",
                "Jinny",
                "Jo Ann",
                "Jo-Ann",
                "Jo-Anne",
                "Joan",
                "Joana",
                "Joane",
                "Joanie",
                "Joann",
                "Joanna",
                "Joanne",
                "Joeann",
                "Johna",
                "Johnna",
                "Joni",
                "Jonie",
                "Juana",
                "June",
                "Junia",
                "Junie" });
    }

    /**
	 * Initial KN case.
	 * 
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualKnight() {
        this.assertIsMetaphoneEqual(
            "Knight",
            new String[] {
                "Hynda",
                "Nada",
                "Nadia",
                "Nady",
                "Nat",
                "Nata",
                "Natty",
                "Neda",
                "Nedda",
                "Nedi",
                "Netta",
                "Netti",
                "Nettie",
                "Netty",
                "Nita",
                "Nydia" });
    }
    /**
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualMary() {
        this.assertIsMetaphoneEqual(
            "Mary",
            new String[] {
                "Mair",
                "Maire",
                "Mara",
                "Mareah",
                "Mari",
                "Maria",
                "Marie",
                "Mary",
                "Maura",
                "Maure",
                "Meara",
                "Merrie",
                "Merry",
                "Mira",
                "Moira",
                "Mora",
                "Moria",
                "Moyra",
                "Muire",
                "Myra",
                "Myrah" });
    }

    /**
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualParis() {
        this.assertIsMetaphoneEqual("Paris", new String[] { "Pearcy", "Perris", "Piercy", "Pierz", "Pryse" });
    }

    /**
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualPeter() {
        this.assertIsMetaphoneEqual(
            "Peter",
            new String[] { "Peadar", "Peder", "Pedro", "Peter", "Petr", "Peyter", "Pieter", "Pietro", "Piotr" });
    }

    /**
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualRay() {
        this.assertIsMetaphoneEqual("Ray", new String[] { "Ray", "Rey", "Roi", "Roy", "Ruy" });
    }

    /**
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualSusan() {
        this.assertIsMetaphoneEqual(
            "Susan",
            new String[] {
                "Siusan",
                "Sosanna",
                "Susan",
                "Susana",
                "Susann",
                "Susanna",
                "Susannah",
                "Susanne",
                "Suzann",
                "Suzanna",
                "Suzanne",
                "Zuzana" });
    }

    /**
	 * Initial WR case.
	 * 
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualWright() {
        this.assertIsMetaphoneEqual("Wright", new String[] { "Rota", "Rudd", "Ryde" });
    }

    /**
	 * Match data computed from http://www.lanw.com/java/phonetic/default.htm
	 */
    public void testIsMetaphoneEqualXalan() {
        this.assertIsMetaphoneEqual(
            "Xalan",
            new String[] { "Celene", "Celina", "Celine", "Selena", "Selene", "Selina", "Seline", "Suellen", "Xylina" });
    }

    public void testMetaphone() {
		assertEquals("HL", this.getMetaphone().metaphone("howl"));
        assertEquals("TSTN", this.getMetaphone().metaphone("testing"));
        assertEquals("0", this.getMetaphone().metaphone("The"));
        assertEquals("KK", this.getMetaphone().metaphone("quick"));
        assertEquals("BRN", this.getMetaphone().metaphone("brown"));
        assertEquals("FKS", this.getMetaphone().metaphone("fox"));
        assertEquals("JMPT", this.getMetaphone().metaphone("jumped"));
        assertEquals("OFR", this.getMetaphone().metaphone("over"));
        assertEquals("0", this.getMetaphone().metaphone("the"));
        assertEquals("LS", this.getMetaphone().metaphone("lazy"));
        assertEquals("TKS", this.getMetaphone().metaphone("dogs"));
    }
	
	public void testWordEndingInMB() {
		assertEquals( "KM", this.getMetaphone().metaphone("COMB") );
		assertEquals( "TM", this.getMetaphone().metaphone("TOMB") );
		assertEquals( "WM", this.getMetaphone().metaphone("WOMB") );
	}

	public void testDiscardOfSCEOrSCIOrSCY() {
		assertEquals( "SNS", this.getMetaphone().metaphone("SCIENCE") );
		assertEquals( "SN", this.getMetaphone().metaphone("SCENE") );
		assertEquals( "S", this.getMetaphone().metaphone("SCY") );
	}

	public void testWordsWithCIA() {
		assertEquals( "XP", this.getMetaphone().metaphone("CIAPO") );
	}

	public void testTranslateOfSCHAndCH() {
		assertEquals( "SKTL", this.getMetaphone().metaphone("SCHEDULE") );
		assertEquals( "SKMT", this.getMetaphone().metaphone("SCHEMATIC") );

		assertEquals( "KRKT", this.getMetaphone().metaphone("CHARACTER") );
		assertEquals( "TX", this.getMetaphone().metaphone("TEACH") );
	}

	public void testTranslateToJOfDGEOrDGIOrDGY() {
		assertEquals( "TJ", this.getMetaphone().metaphone("DODGY") );
		assertEquals( "TJ", this.getMetaphone().metaphone("DODGE") );
		assertEquals( "AJMT", this.getMetaphone().metaphone("ADGIEMTI") );
	}

	public void testDiscardOfSilentHAfterG() {
		assertEquals( "KNT", this.getMetaphone().metaphone("GHENT") );
		assertEquals( "B", this.getMetaphone().metaphone("BAUGH") );
	}

	public void testDiscardOfSilentGN() {
		assertEquals( "N", this.getMetaphone().metaphone("GNU") );
		assertEquals( "SNT", this.getMetaphone().metaphone("SIGNED") );
	}

	public void testPHTOF() {
		assertEquals( "FX", this.getMetaphone().metaphone("PHISH") );
	}

	public void testSHAndSIOAndSIAToX() {
		assertEquals( "XT", this.getMetaphone().metaphone("SHOT") );
		assertEquals( "OTXN", this.getMetaphone().metaphone("ODSIAN") );
		assertEquals( "PLXN", this.getMetaphone().metaphone("PULSION") );
	}

	public void testTIOAndTIAToX() {
		assertEquals( "OX", this.getMetaphone().metaphone("OTIA") );
		assertEquals( "PRXN", this.getMetaphone().metaphone("PORTION") );
	}

	public void testTCH() {
		assertEquals( "RX", this.getMetaphone().metaphone("RETCH") );
		assertEquals( "WX", this.getMetaphone().metaphone("WATCH") );
	}

	public void testExceedLength() {
		// should be AKSKS, but istruncated by Max Code Length
		assertEquals( "AKSK", this.getMetaphone().metaphone("AXEAXE") );
	}

	public void testSetMaxLengthWithTruncation() {
		// should be AKSKS, but istruncated by Max Code Length
		this.getMetaphone().setMaxCodeLen( 6 );
		assertEquals( "AKSKSK", this.getMetaphone().metaphone("AXEAXEAXE") );
	}

    public void validateFixture(String[][] pairs) {
        if (pairs.length == 0) {
            fail("Test fixture is empty");
        }
        for (int i = 0; i < pairs.length; i++) {
            if (pairs[i].length != 2) {
                fail("Error in test fixture in the data array at index " + i);
            }
        }
    }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品伦理在线| 一区二区三区四区激情| 欧美日韩在线播放| 日本电影亚洲天堂一区| 色偷偷成人一区二区三区91| 成人午夜伦理影院| 丰满放荡岳乱妇91ww| 成人性生交大合| aaa欧美色吧激情视频| 97久久久精品综合88久久| 91蝌蚪porny| 欧美日韩你懂得| 日韩一级成人av| xfplay精品久久| 日本一区二区三区电影| 最新国产精品久久精品| 一区二区三区中文在线观看| 亚洲精品五月天| 午夜欧美一区二区三区在线播放| 亚洲超丰满肉感bbw| 久久99精品久久久久久动态图| 国产一本一道久久香蕉| 99久久99久久精品免费看蜜桃| 欧美三级在线看| 2021国产精品久久精品| 亚洲欧美偷拍三级| 日韩一区精品视频| 国产精品99久久久久久宅男| 成人一区二区三区在线观看 | 日产欧产美韩系列久久99| 美洲天堂一区二卡三卡四卡视频| 国产精品一区2区| 在线观看国产一区二区| 欧美mv日韩mv| 一区二区三区四区激情| 激情综合五月婷婷| 在线观看免费视频综合| 久久精品亚洲国产奇米99 | 欧美日韩高清影院| 国产色91在线| 天天av天天翘天天综合网| 国产伦精品一区二区三区免费| 一本大道久久a久久综合| 日韩精品一区二区三区老鸭窝| 1000精品久久久久久久久| 男女男精品网站| 欧美亚洲动漫精品| 中文字幕成人在线观看| 蜜桃av噜噜一区| 欧美日韩综合在线免费观看| 中文字幕在线观看不卡视频| 久久福利资源站| 在线观看视频91| 亚洲柠檬福利资源导航| 国产乱码精品一区二区三| 91精品午夜视频| 亚洲国产精品天堂| 91在线观看高清| 中文在线免费一区三区高中清不卡| 丝袜美腿一区二区三区| 欧美在线影院一区二区| 中文字幕日本不卡| 成人在线视频首页| 久久男人中文字幕资源站| 精品亚洲成av人在线观看| 欧美精品亚洲一区二区在线播放| 亚洲欧美视频在线观看| 91麻豆福利精品推荐| 国产精品日产欧美久久久久| 国产很黄免费观看久久| 精品伦理精品一区| 精品午夜一区二区三区在线观看| 欧美一区二区三区免费大片 | 亚洲一区二区在线观看视频| 成人国产精品免费观看动漫| 国产日本一区二区| 国产成人亚洲综合a∨婷婷| 精品国产凹凸成av人导航| 看国产成人h片视频| 日韩精品一区二区三区swag | 1000部国产精品成人观看| 成人一级片网址| 中文字幕一区二区视频| 91亚洲国产成人精品一区二区三 | 91麻豆精东视频| 亚洲综合丁香婷婷六月香| 一本到不卡精品视频在线观看| 自拍偷拍国产精品| 91国内精品野花午夜精品| 亚洲在线成人精品| 欧美美女一区二区三区| 日韩高清在线一区| 亚洲精品在线观| 成人午夜激情在线| 亚洲蜜臀av乱码久久精品蜜桃| 在线视频综合导航| 久久国产精品一区二区| 国产精品免费视频一区| 欧美视频在线播放| 狠狠色伊人亚洲综合成人| 国产精品久久久久久久久快鸭| 91麻豆精品秘密| 美女网站在线免费欧美精品| 久久精品人人爽人人爽| 日本韩国一区二区三区| 奇米四色…亚洲| 国产精品传媒在线| 欧美日韩亚洲高清一区二区| 激情成人午夜视频| 亚洲精品欧美综合四区| 精品国产凹凸成av人导航| 波多野结衣亚洲一区| 青青草原综合久久大伊人精品优势| 久久久久久久久久美女| 91黄视频在线观看| 国产九色sp调教91| 亚洲福利电影网| 欧美激情一区二区三区在线| 欧美精品久久天天躁| 成人性色生活片| 久久国产精品第一页| 亚洲综合久久久| 中文字幕不卡的av| 久久综合一区二区| 欧美人体做爰大胆视频| aaa亚洲精品一二三区| 另类成人小视频在线| 亚洲一区电影777| 国产精品久久久久一区| 精品毛片乱码1区2区3区| 欧美日韩精品免费| 91丨九色丨黑人外教| 国产盗摄一区二区三区| 日本中文一区二区三区| 亚洲成人福利片| 亚洲精品国产精品乱码不99| 欧美激情一二三区| 亚洲精品一区二区三区在线观看| 欧美日本一区二区三区四区| 色婷婷久久综合| 91色.com| 色综合天天做天天爱| 99re热这里只有精品免费视频 | 亚洲欧美色图小说| 国产精品国产三级国产aⅴ中文| 欧美成人精品福利| 精品1区2区在线观看| 欧美羞羞免费网站| 91麻豆免费观看| 色婷婷激情久久| 色噜噜久久综合| 色综合久久久久综合体桃花网| 成人国产免费视频| 91一区二区三区在线观看| 91麻豆精品视频| 欧美亚洲自拍偷拍| 欧美日韩精品一二三区| 欧美丰满高潮xxxx喷水动漫| 3d成人动漫网站| 日韩欧美在线1卡| 精品第一国产综合精品aⅴ| 欧美电影精品一区二区| 2021中文字幕一区亚洲| 久久久久久久久99精品| 中文字幕国产精品一区二区| 国产精品不卡视频| 亚洲乱码一区二区三区在线观看| 亚洲免费电影在线| 性做久久久久久久免费看| 天天av天天翘天天综合网色鬼国产| 日韩中文欧美在线| 国产一区二区三区国产| 国产.欧美.日韩| 色综合激情五月| 欧美日韩精品电影| 精品奇米国产一区二区三区| 久久亚洲捆绑美女| 亚洲欧洲www| 午夜伦欧美伦电影理论片| 精品一区二区三区香蕉蜜桃 | 91免费国产在线观看| 欧美日韩国产系列| 久久久www免费人成精品| 亚洲欧美一区二区三区国产精品| 日韩国产在线观看一区| 蜜桃视频一区二区| 91丝袜美腿高跟国产极品老师| 欧美日韩国产小视频| 国产精品欧美一区二区三区| 午夜精品久久久久久久| 国产精品69毛片高清亚洲| 在线视频欧美区| 久久精品这里都是精品| 亚洲一区二区三区三| 粉嫩久久99精品久久久久久夜| 欧美情侣在线播放| 国产精品乱码久久久久久| 日韩国产欧美三级| av亚洲精华国产精华| 2022国产精品视频|