-
Notifications
You must be signed in to change notification settings - Fork 69
FileMap with JUnit (#Задание4) #598
base: master
Are you sure you want to change the base?
Conversation
|
@Override | ||
public TableProvider create(String dir) { | ||
if (dir == null) { | ||
throw new IllegalArgumentException("Error in create-meth."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Точка в текстах исключений не ставится: см. стандартную библиотеку за примерами.
meth - необычное сокращение
Сообщение об ошибке не описывает причину проблемы и не помогает отладить приложение. Написать нормальное.
Приложить к пул-реквесту скриншот с code coverage. |
import java.util.Vector; | ||
|
||
/** | ||
* Класс @class Reader отвечает за физическое чтение данных с жесткого диска или |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"из файловой системы". За нами именно такая абстракция. Это может быть сетевая файловая система, например.
|
||
public InteractiveMode(String path, Commands command) { | ||
allCommand = command.getAllCommand(); | ||
factory = new FactoryImplements(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Зависимость на базу, убрать
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
убраны все зависимости от базы
Я всё ещё не увидел скриншота с code coverage. Поставь себе IDE которая может породить code coverage (хоть trial-версию Intellij), породи чиселки и приложи скриншот. |
return; | ||
} | ||
|
||
public void deleteDirectory(File dir) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ровно этот же код есть в TableProviderImplements, и повтор кода до сих пор не убран.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Разумеется я бы сделал в JAVA8 так: мы знаем, что появилось ключевое слово default, туда в интерйес загоняем метод и имплементим его в классе. Т.к. наследование по интерфейсам у нас безграничное по горизонтали (в отличии от классов)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
но с jdk8 проблемы на машине
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
google "cloud ide free"
Conflicts: src/ru/fizteh/fivt/students/AndrewTimokhin/FileMap/JUnit/Main/Main.java
Все исправлено. |
For tests used JaCoCoverage analysis by EclEmma integrated in NetBeans and support JDK8. |
provider = (TableProviderImplements) factory.create(path); | ||
InteractiveMode user = new InteractiveMode(totalCommands); | ||
Scanner sc = new Scanner(System.in); | ||
System.out.print("$ "); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Этот код должен быть в интерпретаторе
В данном задании имплементированы те интерфейсы, которые запрашивались ранее. Т.е. это второй пункт решения этого задания (второй отослан ранее). Помимо методов, которые перечислены ранее, добавлен метод чтения данных с жесткого диска и также записи на жесткий диск. Тесты были написаны в среде разработки NetBeans 8.0.1. И успешно прошли. Класс JUnit служит для проверки логики работы с фабрикой, то что она производит и т.д. и т.п. Можно скомпилировать исходные файлы в jar, тем самым собрав библиотеку и успешно ею пользоваться. Все замечания будут учтены!