BashSoft Lab {Files and Directories]
Така първо се казва това : http://postimg.org/image/4oxuwe6wb/
после на края :
Now we should be ready for testing. You are given three files with the current story piece called test1.txt, test2.txt, test3.txt. First compare the content of test1.txt, test2.txt, see what log is written in the mismatches file (mismatch file should not be existing, because there are no mismatches) and then compare test2.txt and test3.txt and again see the mismatches file to see what has changed.
Или аз нещо не разбирам , но output-a се записва дори като има mismatch ( line match - > %s\n) , а се после се казва ,че mismatch file не трябва да съществува понеже в тест1 и тест2 няма mismatch.
Нали под if/else се записва във файла. Тогава какъв е смисъла от тоя line match => ако няма да се записва направо в else 1 continue .
Това е по-скоро уловка - и аз се подведох в началото. След if/else-a добавяш текушия стринг (output) в масива (методът ти връща масив, неговата роля не е да пише по файлове).
След това когато трябва да изведеш резултата от сравнението (това става с следващият метод PrintOutput), се проверява дали има някакви несъответствия (булевата променлива hasMismatch). Ако има несъответствия, то те са записани по правилния начин в масива mismatches, ако няма несъотвествия mismatches изглежда по абсолютно същия начин както actualOutput/expectedOutput.
Метода PrintOutput ще ти отпечата съдържанието на mismatches само и единствено ако имаш несъответствия. В самият файл също се записва съдържанието на масива mismatches, но САМО ако има някакви несъотвествия(с други думи ако изхода съвпада с очаквания изход, отпечатваш съобщението че всичко съвпада и НЕ създаваш файл).
Еми тогава след else да сложа ако е имало mismatch само тогава да записва текущия стринг? Ако те разбрах правилно , де.