У меня есть метод, который проходит через отсортированный массив и те отсортированные элементы списка в другой список с именем sortedFirstName.Вот этот код методов.
public void sortFirstName(String input){
Collections.sort(fullName, new FirstNameComparator(input));
for(int i = 0;i<fullName.size();i++){
System.out.println("\n" + fullName.get(i));
sortedFirstName.add(fullName.get(i)); //adds to list fine
}
System.out.println("Sorted First Name" + sortedFirstName);
//prints desired output, [Jake Paul, Billy Robinson, Charles Princeton, John Paul, Karen Jacobs]
FirstName является списком и создается так - List<String> fullName = new ArrayList<String>();
и заполняется из метода listAllContacts следующим образом:
public void listAllContacts(){
for (Map.Entry<String,Person> entry : contacts.entrySet()) {
fullName.add(entry.getValue().fullName());
}
for (String contents : fullName) {
System.out.println("\n" + contents);
}
}
заполненСтроки, которые являются полем объекта в hashmap
из этого метода, я печатаю содержимое списка sortedFirstName списка и получаю правильный вывод, который комментируется в операторе печати.
У меня также есть метод get, который возвращает этот список
public List<String> getSortedFirstNames(){
return this.sortedFirstName;
}
В моем классе Junit я вызываю эти методы примерно так
@Test
public void sortFirst(){
ad1.sortFirstName("Jake");
List sorted = ad1.getSortedFirstNames();
List sortedList = new ArrayList();
sortedList.addAll(Arrays.asList("Jake Paul", "Billy Robinson", "Charles Princeton", "John Paul", "Karen Jacobs")); //expected output from boostrapped users
assertEquals(sortedList,sorted);
}
Из моей логики тестового примерадолжно быть, что List sorted
содержит элементы [Jake Paul, Billy Robinson, Charles Princeton, John Paul, Karen Jacobs]
, но когда я сравниваю свой жестко закодированный список с sorted
, он отображается как пустой.Я не вижу проблемы, так как sortedFirstName
явно содержит элементы, добавленные к ней. Любая помощь будет принята