You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by to...@apache.org on 2004/04/18 23:34:16 UTC

cvs commit: jakarta-commons/codec/src/test/org/apache/commons/codec/language MetaphoneTest.java RefinedSoundexTest.java SoundexTest.java

tobrien     2004/04/18 14:34:16

  Modified:    codec/src/test/org/apache/commons/codec/language
                        MetaphoneTest.java RefinedSoundexTest.java
                        SoundexTest.java
  Log:
  Increased unit test coverage on Metaphone and RefinedSoundex
  
  Revision  Changes    Path
  1.11      +75 -2     jakarta-commons/codec/src/test/org/apache/commons/codec/language/MetaphoneTest.java
  
  Index: MetaphoneTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/codec/src/test/org/apache/commons/codec/language/MetaphoneTest.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- MetaphoneTest.java	17 Mar 2004 19:28:37 -0000	1.10
  +++ MetaphoneTest.java	18 Apr 2004 21:34:16 -0000	1.11
  @@ -40,7 +40,8 @@
       public void assertIsMetaphoneEqual(String source, String[] matches) {
           // match source to all matches
           for (int i = 0; i < matches.length; i++) {
  -            assertTrue(this.getMetaphone().isMetaphoneEqual(source, matches[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++) {
  @@ -374,6 +375,7 @@
       }
   
       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"));
  @@ -385,6 +387,77 @@
           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) {
  
  
  
  1.10      +6 -1      jakarta-commons/codec/src/test/org/apache/commons/codec/language/RefinedSoundexTest.java
  
  Index: RefinedSoundexTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/codec/src/test/org/apache/commons/codec/language/RefinedSoundexTest.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- RefinedSoundexTest.java	21 Mar 2004 01:30:11 -0000	1.9
  +++ RefinedSoundexTest.java	18 Apr 2004 21:34:16 -0000	1.10
  @@ -103,4 +103,9 @@
           assertEquals("L7050", this.getEncoder().encode("lazy"));
           assertEquals("D6043", this.getEncoder().encode("dogs"));
       }
  +
  +	public void testGetMappingCodeNonLetter() {
  +		char code = this.getEncoder().getMappingCode('#');
  +		assertEquals( "Code does not equals zero", 0, (int) code);
  +	}
   }
  
  
  
  1.16      +6 -1      jakarta-commons/codec/src/test/org/apache/commons/codec/language/SoundexTest.java
  
  Index: SoundexTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/codec/src/test/org/apache/commons/codec/language/SoundexTest.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- SoundexTest.java	9 Apr 2004 22:46:08 -0000	1.15
  +++ SoundexTest.java	18 Apr 2004 21:34:16 -0000	1.16
  @@ -208,6 +208,11 @@
   
       }
   
  +	public void testBadCharacters() {
  +		assertEquals("H452", this.getEncoder().encode("HOL>MES"));
  +
  +	}
  +
       public void testEncodeIgnoreApostrophes() {
           this.encodeAll(new String[] { "OBrien", "'OBrien", "O'Brien", "OB'rien", "OBr'ien", "OBri'en", "OBrie'n", "OBrien'" }, "O165");
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org