     func testMapByKeyPath() {
         let ex = expectation(description: "")
 
-        Guarantee.value("Hello world").map(\.count).done {
-            XCTAssertEqual(11, $0)
+        Guarantee.value(Person(name: "Max")).map(\.name).done {
+            XCTAssertEqual("Max", $0)
             ex.fulfill()
         }
 


        wait(for: [ex], timeout: 10)
    }

    func testSorted() {


        wait(for: [ex], timeout: 10)
    }

    #if swift(>=4)
    func testMapValuesByKeyPath() {
        let ex = expectation(description: "")

        Guarantee.value([Person(name: "Max"), Person(name: "Roman"), Person(name: "John")])
            .mapValues(\.name)
            .done { values in
                XCTAssertEqual(["Max", "Roman", "John"], values)
                ex.fulfill()
            }

        wait(for: [ex], timeout: 10)
    }
    #endif

    func testFlatMapValues() {
        let ex = expectation(description: "")

