 		expect(mappedObject?.arrayEnumInt.first).to(equal(value))
 		expect(mappedObject?.arrayEnumIntOptional?.first).to(equal(value))
 		expect(mappedObject?.arrayEnumIntImplicitlyUnwrapped?.first).to(equal(value))
+	}
+
+	func testMappingEnumIntArrayFromJSONShouldNotCrashWithNonDefinedvalue() {
+		let value = Int.min
+		let JSONString = "{ \"arrayEnumInt\" : [\(value)], \"arrayEnumIntOpt\" : [\(value)], \"arrayEnumIntImp\" : [\(value)] }"
+
+		var mappedObject = mapper.map(JSONString)
+		expect(mappedObject).notTo(beNil())
+		expect(mappedObject?.arrayEnumInt.first).to(beNil())
+		expect(mappedObject?.arrayEnumIntOptional?.first).to(beNil())
+		expect(mappedObject?.arrayEnumIntImplicitlyUnwrapped?.first).to(beNil())
 	}
 
 	func testMappingEnumIntDictionaryFromJSON(){

		expect(mappedObject?.enumIntImplicitlyUnwrapped).to(equal(value))
	}

	func testMappingDoubleEnumFromJSON(){
		var value: BasicTypes.EnumDouble = .Another
		let JSONString = "{\"enumDouble\" : \(value.rawValue), \"enumDoubleOpt\" : \(value.rawValue), \"enumDoubleImp\" : \(value.rawValue) }"

		expect(mappedObject?.dictEnumInt[key]).to(equal(value))
		expect(mappedObject?.dictEnumIntOptional?[key]).to(equal(value))
		expect(mappedObject?.dictEnumIntImplicitlyUnwrapped?[key]).to(equal(value))
	}

	func testMappingEnumIntDictionaryFromJSONShouldNotCrashWithNonDefinedvalue() {
		let key = "key"
		let value = Int.min
		let JSONString = "{ \"dictEnumInt\" : { \"\(key)\" : \(value) }, \"dictEnumIntOpt\" : { \"\(key)\" : \(value) }, \"dictEnumIntImp\" : { \"\(key)\" : \(value) } }"

		let mappedObject = mapper.map(JSONString)
		expect(mappedObject).notTo(beNil())
		expect(mappedObject?.arrayEnumInt.first).to(beNil())
		expect(mappedObject?.dictEnumIntOptional?[key]).to(beNil())
		expect(mappedObject?.dictEnumIntImplicitlyUnwrapped?[key]).to(beNil())
	}

	func testObjectModelOptionalDictionnaryOfPrimitives() {
