2016-06-22 13 views
0

初めてのポスター、長い時間のlurkerはここにあります。重複するエンコーダのコードワーカーjava Junitの例外

私は "Duplicate Encoder"という名前のコードワードを使っています。 私が書いたコードは正しく機能していますが、何らかの理由でjunit(4.12)はそれを主張していません。ウェブサイトと私のIDE(Eclipse)の両方で。私はそれがなぜなのか分かりません。誰かがこの問題についていくつかの光を照らすことができますか?ありがとう。

テストされるクラス:

package com.danman; 

import java.util.*; 

public class Person { 

static String encode(String word){ 

    word = word.toLowerCase(); 
    List<String> bank = new ArrayList<>(); 
    StringBuilder wordTwo = new StringBuilder(""); 

    //1: create a list of all unique elements in the string 

    for (int n = 0; n < word.length(); n++) { 
     String temp = word.substring(n, n+1); 
     if (temp.equals(" ")){continue;} 
     bank.add(temp); 
    } 

    for (int r = 0; r <word.length(); r++){ 
     List<String> bankTwo = bank; 
     Iterator<String> it = bankTwo.iterator(); 
     String tempTwo = word.substring(r, r+1); 
     int count = 0; 

     //2: iterate through the list of elements and append the appropriate  token to the StringBuilder 
     while (it.hasNext()){ 
      if (it.next().equals(tempTwo)){ 
       ++count; 
      } 
     } 
     if (count <= 1){ 
      wordTwo.append("("); 
     } else { 
      wordTwo.append(")"); 
     }`enter code here` 
    } 
    word = wordTwo.toString(); 
    return word; 
    } 

public static void main(String[] args) { 

    Person rinus = new Person(); 
    System.out.println(rinus.encode("Prespecialized")); 
} 

JUnitのファイル:限り、私はあなたのコード、最初のアサートがOKであることを理解として

package com.danman; 

import org.junit.Test; 
import static org.junit.Assert.assertEquals; 


public class PersonTest { 
@Test 
public void test() { 
    assertEquals(")()())()(()()(", Person.encode("Prespecialized")); 
    assertEquals("))))())))", Person.encode(" ()( ")); 
} 
+0

すべきですか? – logger

答えて

0

" ()( "のエンコードがなぜ"))))())))"を返すのかわかりません。あなたは、指定された文字列内の文字のバンクリストを繰り返し(そのリスト内のスペースは除外されます)、バンクリスト内の単語から各文字が複数存在するかどうかをチェックします。複数のスペースがあるかどうかを確認すると、(銀行のリストからスペースが除外されているため)カウント値が0に等しくなるため、答えは「(」と追加されます。

二アサートが、むしろあなたのコードが何をしたとしているもの

​​
+0

あなたの答えをありがとう、私は第2主張を修正した。タスク記述はスペースを無視すると言われているので、テストは失敗しています。 –

関連する問題