Юнит тесты для "системного" приложения
Ну вот вроде популярная либа Moq
https://habr.com/ru/post/150859/
Всё что она может сэкономить - это не писать заглушку.
Но усложнять код все равно придётся, так как и компрессор и мувер нужно передать извне в тестируемый класс. А еще есть и третий класс - обозреватель каталога.
То бишь в "главный класс" нужно передать минимум 3 совершенно не нужных параметра, а с экспортом и 4. Соответственно и количество лишних интерфейсов возрастает.
В общем, KISS - пошел нафиг.
Ну и как проверить конкретные имплементации интерфейсов вопрос остается открытым.
Например, как проверить, что когда компрессор создает файл, то этот файл будет игнорироваться обозревателем каталога. Хотя, даже как это проверить можно и что то придумать, а вот как до этого "дойти" в тестовой системе не имею представления.