         XCTAssertTrue(sut.dictionary == nil, "Only the provided input is given back")
     }
     func assert_givenFloatInput_whenCreation_thenCanGetTheValueBack(_ creation: (Any) -> Plist) {
-        let sut = creation(Float(1.3))
-        XCTAssertEqual((sut.number as! Float), 1.3, "")
+        let inputValue: Float = 1.3
+        let sut = creation(inputValue)
+        XCTAssertTrue(sut.number!.floatValue.isEqual(to: inputValue, epsilon: inputValue.defaultEpsilon))
+        XCTAssertTrue(sut.number!.doubleValue.isEqual(to: Double(1.3), epsilon: Double(inputValue.defaultEpsilon)))
         XCTAssertTrue(sut.string == nil, "Only the provied input is given back")
         XCTAssertTrue(sut.date == nil, "Only the provided input is given back")
         XCTAssertTrue(sut.data == nil, "Only the provied input is given back")

    }
    func assert_givenIntInput_whenCreation_thenCanGetTheValueBack(_ creation: (Any) -> Plist) {
        let sut = creation(1)
        XCTAssertEqual((sut.number as! Int), 1, "")
        XCTAssertTrue(sut.string == nil, "Only the provied input is given back")
        XCTAssertTrue(sut.date == nil, "Only the provided input is given back")
        XCTAssertTrue(sut.data == nil, "Only the provied input is given back")

            XCTAssertEqual(plist.string!, ar[counter], "Plist are retreive in the array's order")
            let str = "\(counter)"
            XCTAssertEqual(key, str, "The key is a string representation of the index")
            _ = gen.next()
            counter += 1
        }
        
