Add unit testing to the textanalyzer class. Please perform this task using JUnit. import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.io.*; public class TextAnalyzer { public static void main(String[] args) throws Exception { String Word; URL poem = new URL("https://www.gutenberg.org/files/1065/1065-h/1065-h.htm"); BufferedReader in = new BufferedReader( new InputStreamReader(poem.openStream()));
Add unit testing to the textanalyzer class. Please perform this task using JUnit.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.io.*;
public class TextAnalyzer {
public static void main(String[] args) throws Exception {
String Word;
URL poem = new URL("https://www.gutenberg.org/files/1065/1065-h/1065-h.htm");
BufferedReader in = new BufferedReader(
new InputStreamReader(poem.openStream()));
Map map = new HashMap();
while ((Word = in.readLine()) != null)
{
String[] words = Word.split("[\\s.;,?:!()\"]+");
for (String word : words) {
word = word.trim();
if (word.length() > 0) {
if (map.containsKey(word)) {
map.put(word, map.get(word) + 1);
} else {
map.put(word, (int) 1L);
}
}
}
}
// retrieving the map contents
Set> set = map.entrySet();
// make an array list
List> sortedList = new ArrayList>(set);
// sorting the array list
Collections.sort( sortedList, new Comparator>()
{
public int compare( Map.Entry a, Map.Entry b)
{
// order
return (b.getValue()).compareTo( a.getValue() );
}
} );
// printing the list
for(int i = 0; i < 10 && i < sortedList.size(); i++){
System.out.println(sortedList.get(i));
}
in.close();
}
}
Trending now
This is a popular solution!
Step by step
Solved in 4 steps