Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- исправила, ссылка та же (бранч пока не делала, пока задание полностью не принято :-))
- появился новый вопрос, он в том же файлике
- https://docs.google.com/document/d/1UTSkgKak6ATIBfatSJjvDPvxKel7zCp5LSMwieSYmW0/edit
- /*
- файлик не открывается - нету доступа
- лучше под каждое ревью делай свой файлик с вопросами
- чтоб я не думала - где уже читали / где еще не читали
- */
- ***********************************
- public <V> V until(Condition<V> condition, long timeoutMs)
- /*
- это единственный метод, где мы ждем на вход милисекунды
- в остальных случаях - мы ждем секунды в качестве размера таймаута
- давай для единообразия и тут секунды принимать
- уже внутри метода в милисекунды пересчитаешься
- */
- *********************************************************
- public class ExactTexts extends Texts {
- public ExactTexts(String... expectedTexts) {
- this.expectedTexts = expectedTexts;
- }
- /*
- тут можно было вызвать super(expectedTexts)
- http://developer.alexanderklimov.ru/android/java/extends.php
- http://metanit.com/java/tutorial/3.5.php
- https://docs.oracle.com/javase/tutorial/java/IandI/super.html
- */
- @Override
- public List<WebElement> checkElements(List<WebElement> elements) {
- ....
- if (!actualTexts.get(i).equals(expectedTexts[i])) {
- ....
- /*
- только эта строка кода во всем методе и отличается от реализации метода предка
- если в предке - реализовать вот так (см ниже)
- */
- @Override
- public List<WebElement> check(List<WebElement> elements) {
- actualTexts = Helpers.getTexts(elements);
- if (actualTexts.size() != expectedTexts.length) {
- return null;
- }
- for (int i = 0; i < actualTexts.size(); i++) {
- if (!checkElement(i)) {
- return null;
- }
- }
- return elements;
- }
- public boolean checkElement(int index) {
- return (actualTexts.get(i).contains(expectedTexts[i]));
- }
- /*
- то - в потомке - у тебя останется только конструктор с вызовом super
- да однострочный checkElement(int index)
- суть - все общее - написать один раз
- и только разное - реализовать по-разному
- попробуй
- */
- **********************************************
- public class MinimumSizeOf extends SizeOf {
- /*
- тут в checkElements - можно выносить только проверку (listSize >= expectedSize)
- да и вопрос - нужен ли для этой парочки checkElements
- check - в 2 строки, стоит ли что-то еще упрощать
- сэкономили на конструкторе, полях, описательных методах - уже неплохо
- а check - можно и там, и там реализовать
- с checkElement / checkElements стоит заводиться - если это даст тебе какую-то реальную экономию
- в паре MinimumSizeOf и SizeOf - метод check упрощать точно не нужно)
- */
- ********************************************
- public class ExactText extends Text {
- /*
- В этой паре - тоже не стоило реализовывать checkElement
- остальное - да, мы сэкономили
- а checkElement - получился один-в-один check
- так какой смысл тогда - еще какую-то обертку этой логике давать?
- т е - реальную єкономию с checkElement - ты получишь только для ExactTexts и Texts
- остальные пары - наследование ок организовано, единственное - подумай - целесообразно ли для
- них реализовывать checkElement (упрощает ли это код)
- */
- ******************************************************
- на счет present кондишена, потому что мне все еще непонятно, что с ним и как)
- /*
- см прошлые комментарии и эту подсказку
- isPresent = (element!=null)
- */
Advertisement
Add Comment
Please, Sign In to add comment