タグにjunitを記載しました。
Junit の .equals(double, double, accuracy) を使用すると、最後のパラメーターにどれだけ近づける必要があるかを指定できます。
値を読み込んで、テストでそれぞれに対して .equals を呼び出すだけです...
または、私が得ていない質問がありますか?
行を解析するために、例ではスペースを使用していますが、「CSV」(カンマ区切り)と言います。それらが実際に CSV である場合は、次のようなものを使用できます。
String[] line = currentLine.split(",")
各行で。それはあなたに line[0]="item1", line[1]="5.12", line[2]="6.12" を与えるでしょう
その後、Double.parseDouble() で line[1] と line[2] を解析してみてください
ちなみに、assertTrue ではなく assertEquals を使用してください。より具体的な assertEquals は、必要な値と、junit の結果のエラーの一部として取得した値を表示します。
オプションの文字列を渡すこともお勧めします。テスト行は次のようになります。
assertEquals("item "+file1.line[0]+" values do not match",
Double.parseDouble(file1.line[1]),
Double.parseDouble(file2.line[1]),
0.001)
また、各ファイルに対して同じ行を読んでいることを確認するという全体的な問題もあります-それらを正しくペアにします. それらが同じ順序であることが保証されている場合は問題ありませんが、そうでない場合は、名前フィールドで最初のファイルをハッシュアップすることをお勧めします。
for(String line: file1.readNextLine())
file1hash.put(line.split(",")[0],line)
次に、2 番目のファイルを反復処理すると、次のように簡単に実行できます。
for(String line2: file2.readNextLine()) {
String line1=file1hash.get(line2.split(",")[0])
line1 と line2 が同じ行を参照していることを確認します。