2016-10-29 2 views
0

Мой тест выглядитНеожиданное поведение тест сравнить списки строк

public class CheckSortedList { 

List<String> expectedList; 
ModelController modelController; 
IDataReader dataReader; 
List<String> tempBookNames = new LinkedList<>(); 

public CheckSortedList() { 
    expectedList = new LinkedList<>(); 
    try { 
     dataReader = new RawDataReader(); 
     modelController = new ModelController(dataReader); 

    } catch (Exception e) { 
     fail(e.getMessage()); 
    } 
} 

@Before 
public void init() { 
     // sortierte Liste aus Excel 
     expectedList.add("Das große GU-Kochbuch Kochen für Kinder"); 
     expectedList.add("Das Perfekte Dinner. Die besten Rezepte"); 
     expectedList.add("Das Piratenkochbuch. Ein Spezialitätenkochbuch mit den 150 leckersten Rezepten "); 
     expectedList.add("Genial italienisch"); 
     expectedList.add("Ich helf dir kochen. Das erfolgreiche Universalkochbuch mit großem Backteil"); 
     expectedList.add("O'Reillys Kochbuch für Geeks"); 
     expectedList.add("Schlank im Schlaf "); 
     expectedList.add("Schuhbecks Kochschule. Kochen lernen mit Alfons Schuhbeck "); 
     modelController.getSortedBooks().forEach(book -> tempBookNames.add(book.getTitle())); 
} 

@Test 
public void test() { 

    tempBookNames.forEach(s -> { 
     System.out.println(s); 
    }); 
    assertEquals(expectedList, tempBookNames); 

} 

}

логически каждая вещь должна работать хорошо, так как список результатов книга такая же, как и следовало ожидать, но я заметил, что Assert.assertEqual(Object[] array) устарел. Мой тестовый пример терпит неудачу, и я не могу понять, почему

выход «java.lang.AssertionError: ожидается: < [Das große GU-Kochbuch Kochen für Kinder, Das Perfekte Dinner. Die besten Rezepte, Das Piratenkochbuch. Ein Spezialitätenkochbuch mit den 150 leckersten Rezepten, Genial italienisch, Ich helf dir kochen. Das erfolgreiche Universalkochbuch mit großem Backteil, O'Reillys Kochbuch für Geeks, Schlank im Schlaf, Schuhbecks Kochschule. Kochen lernen mit Alfons Schuhbeck]> но был: < [Das Perfekte Dinner. Die besten Rezepte, Das Piratenkochbuch. Ein Spezialitätenkochbuch mit den 150 leckersten Rezepten, Das große GU-Kochbuch Kochen für Kinder, Genial italienisch, Ich helf dir kochen. Das erfolgreiche Universalkochbuch mit großem Backteil, O'Reillys Kochbuch für Geeks, Schlank im Schlaf, Schuhbecks Kochschule. Kochen lernen mit Alfons Schuhbeck]> at org.junit.Assert.fail (Assert.java:88) at org.junit.Assert.failNotEquals (Assert.java:834) at org.junit.Assert.assertEquals (Assert .java: 118) на org.junit.Assert.assertEquals (Assert.java:144) на de.optivo.buecherverwaltung.test.CheckSortedList.test (CheckSortedList.java:56) в sun.reflect.NativeMethodAccessorImpl.invoke0 (Родной метод) на sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source) в sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source) в java.lang.reflect.Method.invoke (Unknown Source) в org.junit .runners.model.FrameworkMethod $ 1.runReflectiveCall (FrameworkMethod.java:50) на org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12) на org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47) на org.junit.internal. runners.statements.InvokeMethod.evaluate (InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf (ParentRunner. Java: 325) на org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:78) в org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:57) в org.junit.runners.ParentRunner $ 3 .run (ParentRunner.java:290) at org.junit.runners.ParentRunner $ 1.schedule (ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288) at org.junit.runners.ParentRunner.access $ 000 (ParentRunner.java:58) at org.junit.runners.ParentRunner $ 2.оценить (ParentRunner.java:268) at org.junit.runners.ParentRunner.run (ParentRunner.java:363) at org.junit.runners.Suite.runChild (Suite.java:128) at org.junit.runners. Suite.runChild (Suite.java:27) at org.junit.runners.ParentRunner $ 3.run (ParentRunner.java:290) at org.junit.runners.ParentRunner $ 1.schedule (ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288) на org.junit.runners.ParentRunner.access $ 000 (ParentRunner.java:58) на org.junit.runners.ParentR unner $ 2.evaluate (ParentRunner.java:268) на org.junit.runners.ParentRunner.run (ParentRunner.java:363) на org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java : 86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38) на org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:459) на org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests (RemoteTestRunner.java:678) на org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:382) в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:192)

the output of sysout of the retrieved list идеальный ужин. Лучшие рецепты The Pirate поваренной. Специальности поваренной 150 вкусных рецептов Большой GU поваренной книги Кулинария для детей Genial итальянских Я помогу вам приготовить. Успешный Универсальный кулинарной с большой челюстью часть O'Reilly Cookbook для Geeks Слим в своем сне Schuhbecks кулинарной школы. Научитесь готовить с Альфонсом Бек `списки идентичны!

+0

Что ошибка вы получаете? Это плечи расскажет вам, как два списка дифференцироваться. И даже если это не так, вы могли бы просто использовать отладчик, или даже просто System.out.println(), чтобы знать, что содержит два списка. –

+0

я использовать, чтобы проверить SYSOUT обоих списков. Они идентичны. тестовый пример не удается, и ошибка AssertionError – test11

+0

Как я уже говорил, вы shouldhave более точный выход показывает, что ошибка, как списки дифференцироваться. Добавить System.out.println в коде, и после всей продукции заявлений дипломных и полное сообщение об ошибке. У нас нет выхода, и не имеют ни малейшего представления о том, что делает ваш код. –

ответ

0

результат после того, как вклад Томаса истца и JB Nizet 4 является заменой СотрагеТо в лямбда-выражения с compareToIgnoreCase(). для furthre чтения рассмотреть Sorting arraylist in alphabetical order (case insensitive) и Case sensitive/insensitive Sort in Excel (bug or a feature)

+0

Наверное, никто не думает, что ваш ответ стоит downvote, но для того, чтобы сделать серьезный ответ: раз не процитировать комментарии. Было бы справедливо считать, что вход и превратить его в какой-то реальный, полный пример кода. Но просто сказать «как эти другие люди говорят, что» оленья кожа результат хороший ответ. Тогда: возражаете форматирование и избежать опечаток (или опущенные пробелы) – GhostCat

Смежные вопросы