### Question:
SummaryLoggerService { public void logOutgoingFolderSync(FolderSyncResponse folderSyncResponse) { loggerOut.info(folderSyncResponse.getSummary().summary()); } @Inject @VisibleForTesting  SummaryLoggerService(
			@Named(LoggerModule.SUMMARY_IN) Logger loggerIn,
			@Named(LoggerModule.SUMMARY_OUT) Logger loggerOut); void logIncomingSync(Sync analyseSync); void logOutgoingSync(SyncResponse response); void logOutgoingFolderSync(FolderSyncResponse folderSyncResponse); void logIncomingMoveItem(MoveItemsRequest moveItemsRequest); void logOutgoingMoveItem(MoveItemsResponse moveItemsResponse);  }### Answer:
@Test public void folderSyncloggerOutWhenEmpty() { FolderSyncResponse response = FolderSyncResponse.builder() .status(FolderSyncStatus.OK) .hierarchyItemsChanges(HierarchyCollectionChanges.empty()) .newSyncKey(new FolderSyncKey("123")) .build(); loggerOut.info("CHANGE: 0, DELETE: 0, FETCH: 0"); expectLastCall(); mocks.replay(); testee.logOutgoingFolderSync(response); mocks.verify(); }
@Test public void folderSyncloggerOutWhenOneOfEach() { CollectionChange add = CollectionChange.builder() .collectionId(CollectionId.of(1)) .parentCollectionId(CollectionId.ROOT) .displayName("INBOX") .folderType(FolderType.DEFAULT_INBOX_FOLDER) .isNew(true) .build(); CollectionChange change = CollectionChange.builder() .collectionId(CollectionId.of(3)) .parentCollectionId(CollectionId.ROOT) .displayName("FOLDER") .folderType(FolderType.USER_CREATED_EMAIL_FOLDER) .isNew(false) .build(); CollectionDeletion del = CollectionDeletion.builder() .collectionId(CollectionId.of(8)) .build(); FolderSyncResponse response = FolderSyncResponse.builder() .status(FolderSyncStatus.OK) .hierarchyItemsChanges(HierarchyCollectionChanges.builder() .changes(ImmutableList.of(add, change)) .deletions(ImmutableList.of(del)) .build()) .newSyncKey(new FolderSyncKey("123")) .build(); loggerOut.info("CHANGE: 2, DELETE: 1, FETCH: 0"); expectLastCall(); mocks.replay(); testee.logOutgoingFolderSync(response); mocks.verify(); }