Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- src / test / java / com / selenide / mvc /
- /*
- предположим, что работаешь ты для организации selenide.com )
- но - тестируешь ты приложение todomvc, а не mvc
- измени имя пекеджа)
- */
- *******************************
- http://joxi.ru/DmBNWL6FNVqgNm
- /*
- Пропуск одной строки - хорошо форматирует код
- а вот пропускать несколько строк к ряду - это уже лишнее
- https://google.github.io/styleguide/javaguide.html#s4.6.1-vertical-whitespace
- */
- ******************************
- String title = " \\\"title\\\":\\\"";
- String endOfScript = "\\\"},";
- public String getStringForScript(TaskStatus taskStatus, String... taskTexts) {
- String stringResult = "localStorage.setItem(['todos-troopjs'], \"[";
- String condition = "{\\\"completed\\\":";
- for (String text : taskTexts) {
- stringResult += condition + taskStatus + "," + title + text + endOfScript;
- /*
- переменные condition, title, endOfScript - используются только тут и единожды
- сравни
- stringResult += condition + taskStatus + "," + title + text + endOfScript;
- и
- stringResult += "{\\\"completed\\\":" + taskStatus + "," + " \\\"title\\\":\\\"" + text + "\\\"},";
- разве стало намного длиннее
- или сложнее?
- наоборот - проще - т к не надо вспоминать - а что же в переменных хранится
- избавляйся от ненужных переменных)
- */
- }
- if (taskTexts.length > 0) {
- stringResult = stringResult.substring(0, (stringResult.length() - 1));
- }
- stringResult += "]\");";
- return stringResult;
- }
- /*
- с TaskStatus - навел порядок
- это ок)
- вариант сборки команды для (TaskStatus taskStatus, String... taskTexts) - тоже ок
- остались мелочи - лишнее поубирать
- */
- ********************
- private void givenWithSmartCondition(TaskStatus taskStatus, String... taskTexts) {
- System.out.println(getStringForScript(taskStatus, taskTexts));
- System.out.println(getStringForScript(taskStatus, taskTexts));
- /*
- System.out.println - одного раза мало?
- )
- когда отладимся - убери это
- пока пусть побудет
- */
- executeJavaScript(getStringForScript(taskStatus, taskTexts));
- refresh();
- }
- ************************
- /*
- реализация givenWithSmartCondition(TaskStatus taskStatus, String... taskTexts)
- уже ок
- переименуй метод просто в given
- но - нам нужна более полная и универсальная функциональность
- нам нужна возможность диктовать - в каком статусе должны быть таски - для каждой добавляемой таски
- например, нам нужна закомпличеная таска a, и активная - b
- пока мы нашим гивен-методом можем добавить несколько тасок, но в одном статусе
- так мы получаем - что у таски есть 2 свойства - ее статус и ее текст
- и нам при этом - надо задать несколько тасок в качестве параметра метода
- это можно реализовать так
- для таски с ее 2-мя свойствами - реализовать класс Task
- параметрами гивен-метода - будут как раз объекты этого нового типа
- given(Task... tasks)
- и вызов метода может быть таким
- given(new Task(COMPLETED, "a"), new Task(ACTIVE, "b"))
- чтобы получить вот такую картину
- закомпличеная таска a, и активная - b
- да, в твоем случае - придется и реализовать getStringForScript
- с набором параметров - (Task... tasks)
- полезные линки
- классы
- http://www.tutorialspoint.com/java/java_object_classes.htm
- http://www.helloworld.ru/texts/comp/lang/java/java/07.htm
- внутренние классы (нас интересуют member inner classes)
- http://www.tutorialspoint.com/java/java_innerclasses.htm
- http://www.quizful.net/post/inner-classes-java
- http://www.javatpoint.com/java-inner-class
- */
Advertisement
Add Comment
Please, Sign In to add comment