                                                aspectFillValue: stringToParam(asserStringComponents.aspectFillValue, extraAsserStringComponents: extraAsserStringComponents?.aspectFillValue)))
     }
 }
+
+private typealias ComparisonValues = Tests_UIImage_RIRImageResizing.ComparisonValues
+extension ComparisonValues where T == String {
+    func map<R>(_ mapClosure: (T, RIRImageResizeType) -> R) -> ComparisonValues<R> {
+        return ComparisonValues(scaleToFillValue: mapClosure(scaleToFillValue, .scaleToFill),
+                                aspectFitValue: mapClosure(aspectFitValue, .aspectFit),
+                                aspectFillValue: mapClosure(aspectFillValue, .aspectFill))
+    }
+    
+    func map<R>(_ mapClosure: (T) -> R) -> ComparisonValues<R> {
+        return map { (string, _) in return mapClosure(string) }
+    }
+}


extension Tests_UIImage_RIRImageResizing.ComparisonData {
    typealias ComparisonValues = Tests_UIImage_RIRImageResizing.ComparisonValues
    init(comparisonValues: ComparisonValues<T>, asserStringComponents: ComparisonValues<String>, sharedAssertStringSuffix: String? = nil, extraAsserStringComponents: ComparisonValues<[String]?>? = nil) {
        func stringToParam(_ asserStringInitialComponent: String, extraAsserStringComponents: [String]? = nil) -> ([String]) -> [String] {
            return { assertStringComponents in
                var assertStringComponents = assertStringComponents

                                                                                                           aspectFillValue: "`startingWidthToHeightRatio`"),
                                                                   sharedAssertStringSuffix: " should be equal to `resizeWidthToHeightRatio`"))
                        
                    case .resizedImageSizeToStartingImageSize:
                        let comparisonValues = ComparisonValues(scaleToFillValue: startingImage.size,
                                                                aspectFitValue: isHeightLarger ? startingImage.size : startingImage.size.scaled(scaleWidth: resizeWidthToHeightRatio),
                                                                aspectFillValue: isHeightLarger ? startingImage.size.scaled(scaleWidth: resizeWidthToHeightRatio) : startingImage.size)
                        performTest(value: resizedImage.size,
                                    comparisonData: ComparisonData(comparisonValues: comparisonValues,
                                                                   asserStringComponents: asserStringComponentsComparisonValues(),
                                                                   sharedAssertStringSuffix: " should be equal to `resizedImage.size`",
                                                                   extraAsserStringComponents: extraAsserStringComponentsComparisonValues(comparisonValues: comparisonValues)))
                        
                    case .resizedImageSizeToParametersNewSize:
                        let comparisonValues = ComparisonValues(scaleToFillValue: resizeParameters.newSize,
                                                                aspectFitValue: isHeightLarger ? resizeParameters.newSize : resizeParameters.newSize.scaled(scaleWidth: resizeWidthToHeightRatio),
                                                                aspectFillValue: isHeightLarger ? resizeParameters.newSize.scaled(scaleWidth: resizeWidthToHeightRatio) : resizeParameters.newSize)
                        performTest(value: resizedImage.size,
                                    comparisonData: ComparisonData(comparisonValues: comparisonValues,
                                                                   asserStringComponents: asserStringComponentsComparisonValues(),
                                                                   sharedAssertStringSuffix: " should be equal to `resizedImage.size`",
                                                                   extraAsserStringComponents: extraAsserStringComponentsComparisonValues(comparisonValues: comparisonValues)))
                    }
                }
                
