Mam aplikacje która obsługuje różne systemy plików, ext2, ext3, NTFS, fat.
Główne ogarnianie ich sprowadza się do separatorów ścieżek i litery dysku na Windowsie.
Natomiast różne systemy plików inaczej ogarniają kolejność plików, zwłaszcza plików i folderów. Nie ma to specjalnego wpływu na działanie aplikacji, poza jednym.
Kiedy listuje katalogi i pliki, to printuje też logi. A więc treść tych logów, jakby nie patrzeć zależy od kolejności w jakiej przeiteruje po plikach, co w gruncie rzeczy sprawi że ten sam program uruchomiony na tym samym zestawie plików wyprintuje inne logi.
Mógłbym to ogarnąć, po prostu sortując pliki, ale to jest trudne bo sortowanie po nazwie nie bierze pod uwagę hierarchii folderów., dodaje też niepotrzebny overhead performance'owy, którego nie chcę w aplikacji.
Chciałbym napisać test pod wyprintowany output, ale asercje failują na różnych systemach plików przez kolejność właśnie. Mógłbym je prasować, i porównać bez sprawdzenia kolejności, ale to z kolei sprawia że testy są bardziej przywiązane do widoku, bo muszą go prasować. Mógłbym też je testować niżej, zanim się wyprintują.
Jakie mam opcje według was, co do ogarnięcia różnic w kolejności plików w systemie plików? Może skorzystać z wirtualnych systemów plików in-memory na potrzeby testów - ale nadal jest problem ze po uruchomieniu nadal aplikacja ma różnicę.
Proszę się wstrzymać od odpowiedzi "olej kolejność plików" bardzo proszę.