 		let JSON = "{\"anyObject\" : \"\(value1)\", \"anyObjectOpt\" : \(value2), \"anyObjectImp\" : \(value3)}"
 		
 		var mappedObject = mapper.map(string: JSON)
-		
-		if let mappedObject = mappedObject {
-			XCTAssert(mappedObject.anyObject as String == value1, "AnyObject failed")
-			XCTAssertEqual(mappedObject.anyObjectOptional! as Int, value2, "Implicity unwrapped optional String failed")
-			XCTAssertEqual(mappedObject.anyObjectImplicitlyUnwrapped as Double, value3, "Implicity unwrapped optional String failed")
-		} else {
-			XCTAssert(false, "JSON to String failed")
-		}
+
+		expect(mappedObject).notTo(beNil())
+		expect(mappedObject?.anyObject as? String).to(equal(value1))
+		expect(mappedObject?.anyObjectOptional as? Int).to(equal(value2))
+		expect(mappedObject?.anyObjectImplicitlyUnwrapped as? Double).to(equal(value3))
 	}
 	
 	// MARK: Test mapping Arrays to JSON and back (with basic types in them Bool, Int, Double, Float, String)

		let JSON = "{\"dictAnyObject\" : { \"\(key)\" : \"\(value1)\"}, \"dictAnyObjectOpt\" : { \"\(key)\" : \(value2)}, \"dictAnyObjectImp\" : { \"\(key)\" : \(value3)} }"
		
		var mappedObject = mapper.map(string: JSON)
		
		if let mappedObject = mappedObject {
			let val1 = mappedObject.dictAnyObject[key] as String
			XCTAssertEqual(val1, value1, "AnyObject Dictionary failed")
			
			let val2 = mappedObject.dictAnyObjectOptional?[key] as Int
			XCTAssertEqual(val2, value2, "Optional AnyObject Dictionary failed")
			
			let val3 = mappedObject.dictAnyObjectImplicitlyUnwrapped[key] as Double
			XCTAssertEqual(val3, value3, "Implicity unwrapped optional AnyObject Dictionary failed")
		} else {
			XCTAssert(false, "String Dictionary to JSON failed")
		}
	}
	
	func testObjectModelOptionalDictionnaryOfPrimitives() {

		var value: Double = 11
		let JSON = "{\"dictDouble\" : { \"\(key)\" : \(value)}, \"dictDoubleOpt\" : { \"\(key)\" : \(value)}, \"dictDoubleImp\" : { \"\(key)\" : \(value)} }"
		var mappedObject = mapper.map(string: JSON)

		expect(mappedObject).notTo(beNil())
		expect(mappedObject?.dictDoubleOptional?[key]).to(equal(value))
		expect(mappedObject?.dictDoubleImplicityUnwrapped[key]).to(equal(value))
		expect(mappedObject?.dictDouble[key]).to(equal(value))
	}
	
	func testMappingFloatDictionaryFromJSON(){
