             case UnboxTestBaseMock.optionalStringKey:
                 verificationOutcome = self.verifyPropertyValue(value: self.optionalString, againstDictionaryValue: value)
             case UnboxTestBaseMock.requiredURLKey:
-                verificationOutcome = self.verifyURLPropertyValue(value: self.requiredURL, againstDictionaryValue: value)
+                verificationOutcome = self.verifyTransformableValue(value: self.requiredURL, againstDictionaryValue: value)
             case UnboxTestBaseMock.optionalURLKey:
-                verificationOutcome = self.verifyURLPropertyValue(value: self.optionalURL, againstDictionaryValue: value)
+                verificationOutcome = self.verifyTransformableValue(value: self.optionalURL, againstDictionaryValue: value)
             case UnboxTestBaseMock.requiredArrayKey:
                 verificationOutcome = self.verifyArrayPropertyValue(value: self.requiredArray, againstDictionaryValue: value)
             case UnboxTestBaseMock.optionalArrayKey:

        }
    }
    
    func verifyPropertyValue<T: Equatable>(value: T?, againstDictionaryValue dictionaryValue: AnyObject?) -> Bool {
        if let propertyValue = value {
            if let typedDictionaryValue = dictionaryValue as? T {
                return propertyValue == typedDictionaryValue

    
    func testOptionalDateFormattingFailureNotThrowing() {
        struct Model: Unboxable {
            let date: Date?
            
            init(unboxer: Unboxer) {
                let formatter = DateFormatter()
