public DlcOwnership CalculateOwnership(DlcOwnershipInput input)
        {
            var officialDlcList = GetOfficialDlcList(input.OfficialDlcSource, input.OfficialDlcSongNodeSelector, input.RemapOfficialEntries);
            var existingDlcList = GetExistingDlcList(input.DlcFolder2014, input.DlcFolder2012);

            var stringCleaner          = new StringCleaner(true, true, false, false);
            var dlcSortCalculator      = new DlcSortCalculator(stringCleaner);
            var dlcMatchCalculator     = new DlcMatchCalculator(stringCleaner);
            var dlcOwnershipCalculator = new DlcOwnershipCalculator(dlcSortCalculator, dlcMatchCalculator);

            return(dlcOwnershipCalculator.Calculate(officialDlcList, existingDlcList));
        }
 public DlcMatchCalculator(StringCleaner stringCleaner)
 {
     _stringCleaner  = stringCleaner;
     _sortCalculator = new DlcSortCalculator(_stringCleaner);
 }